Add defaultAgentModel setting to user/project config

Resolved 💬 3 comments Opened Mar 12, 2026 by jonathondouglasyager-debug Closed Mar 16, 2026

Feature Request

Problem

Claude Code's built-in core agents (general-purpose, Explore, Plan) have their model hardcoded in the compiled binary. Users who want all subagents to run on a specific model (e.g., opus) have no way to configure this for the core agents.

Currently, plugin-based agents (code-reviewer, code-explorer, code-architect, etc.) can be manually edited in ~/.claude/plugins/cache/, and custom agents in ~/.claude/agents/ support a model: frontmatter field. But:

  1. Core agents (general-purpose, Explore, Plan) are baked into the binary with no override mechanism
  2. Plugin agent edits get wiped on plugin updates
  3. There's no unified setting to control the default model for all spawned agents

Proposed Solution

Add a defaultAgentModel (or similar) setting to the user settings (~/.claude/settings.json) and/or project settings (.claude/settings.json) that acts as a default model for all agent spawns unless explicitly overridden:

{
  "defaultAgentModel": "opus"
}

Resolution order:

  1. Explicit model parameter in the Agent tool call (highest priority)
  2. Agent definition frontmatter model: field
  3. defaultAgentModel from project settings
  4. defaultAgentModel from user settings
  5. Built-in default (current behavior)

Why This Matters

  • Users on Max plans or with sufficient API quota want to leverage opus across all agents for maximum quality
  • Currently requires editing cached plugin files (fragile, lost on updates) and has no solution at all for core agents
  • A single config setting would give users full control without needing to hack binaries or plugin caches

Environment

  • Claude Code v2.1.74
  • macOS (arm64)

View original on GitHub ↗

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