claude-code - 💡(How to fix) Fix Feature request: defaultEffort setting in settings.json [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#53146Fetched 2026-04-26 05:23:14
View on GitHub
Comments
1
Participants
2
Timeline
3
Reactions
0
Timeline (top)
labeled ×2commented ×1

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.

Root Cause

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.

Code Example

{
  "model": "claude-sonnet-4-6",
  "defaultEffort": "high"
}
RAW_BUFFERClick to expand / collapse

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.json via "model": "..." (persistent)
  • Effort: only switchable per-session via the /effort slash 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 /effort slash command already exists and its possible values are well-defined.
  • MAX_THINKING_TOKENS already exists as a hard cap — defaultEffort would set the target tier, capped by the existing env var.
  • This is settings-only, no model or API change needed.

extent analysis

TL;DR

Add a defaultEffort key to settings.json to allow users to set their preferred default thinking effort level.

Guidance

  • To implement this feature, add a defaultEffort key to the settings.json file with one of the valid values: "low", "medium", "high", or "xhigh".
  • Verify that the /effort slash command still overrides the default effort level set in settings.json mid-session.
  • Ensure that the MAX_THINKING_TOKENS env var still caps the thinking tokens, even when defaultEffort is set.
  • Test the feature with different defaultEffort values to confirm it applies the correct effort level at session start.

Example

{
  "model": "claude-sonnet-4-6",
  "defaultEffort": "high"
}

Notes

This solution assumes that the /effort slash command's possible values are well-defined and consistent with the proposed defaultEffort values.

Recommendation

Apply the workaround by adding the defaultEffort key to settings.json, as it provides a simple and effective way to set the default thinking effort level without requiring model or API changes.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING