Feature request: per-model default effort levels

Status Open
Maintainer reply None cached
Activity 0 comments · opened Jul 28, 2026

Is your feature request related to a problem?

Effort level is a single global setting (effortLevel / /effort / CLAUDE_CODE_EFFORT_LEVEL), while /model switches models freely. Users who run different models at different effort levels (e.g. a top-tier model at medium for cost, a smaller model at high) must remember to run /effort after every /model switch — an easy step to forget, with real cost/latency consequences in both directions.

Describe the solution you'd like

Allow per-model effort defaults in settings.json, e.g.:

{
  "model": "fable",
  "effortLevel": "high",
  "modelEffortDefaults": {
    "claude-opus-5": "medium",
    "claude-fable-5": "high"
  }
}

Semantics: switching models via /model (or --model) applies that model's default effort if one is mapped, else the global effortLevel. An explicit /effort in-session still overrides until the next model switch.

Describe alternatives you've considered

  • Shell aliases wrapping CLAUDE_CODE_EFFORT_LEVEL=<x> claude --model <y> — works only at launch, not in-session.
  • Manually pairing /model + /effort — works but is forgettable; surfacing effort in the statusline mitigates detection, not the extra step.
  • Per-agent effort: frontmatter — covers subagents, not the interactive session.

🤖 Filed with Claude Code on the user's behalf.

View original on GitHub ↗