Feature request: defaultEffort setting in settings.json
Summary
Add a defaultEffort (or similar) key in settings.json so users can pin the default thinking effort level (low / medium / high / xhigh) per session, the same way model pins the default model.
Motivation
Today, two related dimensions are configurable:
- Model: settable in
~/.claude/settings.jsonvia"model": "..."(persistent) - Effort: only switchable per-session via the
/effortslash command (not persistent)
This means every new session starts at the harness-default effort, even for users who consistently want a higher (or lower) baseline. There's MAX_THINKING_TOKENS env var, but it only caps thinking — it doesn't set the default effort tier.
For users who routinely run complex work (architecture, planning, debugging) and prefer high-effort thinking by default, having to type /effort high at the start of every session is friction. Conversely, users on tight token budgets who want low-effort by default have the same issue in reverse.
Proposal
Add to settings.json:
{
"model": "claude-sonnet-4-6",
"defaultEffort": "high"
}
Valid values: "low" | "medium" | "high" | "xhigh" (whatever the current /effort command accepts).
Behavior: applied at session start. Still overridable mid-session via /effort.
Why this matters
Across millions of sessions, the cumulative cost of starting at the wrong default effort and either:
- (a) wasting thinking tokens on trivial tasks, or
- (b) under-thinking on complex tasks and re-running
…adds up to non-trivial token / energy spend. A single line of config would let each user pin their personal sweet spot.
Notes
- The
/effortslash command already exists and its possible values are well-defined. MAX_THINKING_TOKENSalready exists as a hard cap —defaultEffortwould set the target tier, capped by the existing env var.- This is settings-only, no model or API change needed.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗