Skip to content

[FEATURE] Per-agent-type model configuration in settings.json #35746

Description

@nocturnal-bot

Preflight Checklist

  • I have searched existing requests and this feature hasn't been requested yet
  • This is a single feature request (not multiple features)

Problem Statement

There is no way to configure which model each built-in subagent type uses in settings.json. The model field applies globally to the main Claude Code session, and all subagents (general-purpose, Explore, Plan, claude-code-guide) inherit the parent model with no way to override per agent type.

This means users who want to save costs by routing simpler subagent tasks to a cheaper model (e.g. Haiku) have no way to do so without affecting the main session model or manually specifying the model on every Agent tool call — which is unreliable and itself costs tokens in context.

Proposed Solution

Add an agentModels key to settings.json that maps built-in agent type names to model IDs:

{
  "agentModels": {
    "general-purpose": "claude-haiku-4-5-20251001",
    "Explore": "claude-haiku-4-5-20251001",
    "Plan": "claude-sonnet-4-6",
    "claude-code-guide": "claude-sonnet-4-6"
  }
}

This would allow users to configure cost/capability trade-offs per agent type without changing the main session model.

Alternative Solutions

  1. Setting model globally — changes the main session model too, not just subagents.
  2. Creating ~/.claude/agents/general-purpose.md with model frontmatter — tested this; does NOT override built-in agents.
  3. Passing model: "haiku" per Agent tool call — works per-call but requires the LLM to remember every time, which costs tokens and is unreliable across sessions.

Priority

Medium - Would be very helpful

Feature Category

Configuration and settings

Use Case Example

No response

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions