Feature request: programmatic model switching mid-session

Resolved 💬 3 comments Opened Mar 2, 2026 by Daledwin Closed Mar 2, 2026

Context

We're building a multi-agent framework (BMAD) on top of Claude Code, using 12 specialized agents that hand off work to each other via the Skill tool. Each agent has an optimal model configured (e.g., opus for code review, sonnet for simpler checks).

Problem

When agents hand off to each other using the Skill tool, the next agent inherits the parent session's model. There is no way to programmatically change the model mid-session — the /model command exists but is interactive-only.

This means we're forced to either:

  • Use the same model everywhere (expensive — opus for all 12 agents)
  • Relaunch separate sessions (loses conversation context, costs more tokens to reconstitute)

Neither option is ideal.

Proposal

Any of the following would solve this elegantly:

  1. model parameter on the Skill tool — allow specifying the model when invoking a skill:

``
Skill tool -> skill: "my-agent", model: "sonnet"
``

  1. A ModelSwitch tool — a tool that agents can call to change the session model while preserving context
  1. Any programmatic equivalent of /model — the interactive command already proves mid-session model switching is technically possible

Why this matters

The Agent tool already supports a model parameter, which is great — but it creates an isolated subprocess that loses conversation context. Having similar control over the Skill tool (which preserves context) would enable cost-efficient multi-agent workflows without sacrificing quality.

Current workaround

All agents use opus to ensure correct model across handoff chains. This works but is more expensive than necessary for simpler agents.

Thank you for considering this! Claude Code is an amazing tool and this would make multi-agent workflows even more powerful.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗