Desktop app silently creates settings.json with effortLevel: high on first launch, causing unexpected API cost spike
Resolved 💬 1 comment Opened Apr 30, 2026 by UnspokenSecurity Closed May 31, 2026
Summary
First-ever launch of the Claude Code desktop app silently created ~/.claude/settings.json with effortLevel: high — without any prompt, confirmation, or visible indicator. This overrode the existing default behavior used by all other sessions (CLI/PowerShell), and the change went unnoticed until a billing review revealed a dramatic cost spike.
Environment
- Platform: Windows 11 Pro
- Claude Code version: 2.1.121 → 2.1.123 (updated around same time)
- Prior usage: CLI and PowerShell exclusively
- First desktop app launch: 2026-04-29 ~23:34 CT
Reproduction Steps
- Have an existing Claude Code setup using CLI/PowerShell with no
~/.claude/settings.json - Launch the Claude Code desktop app for the first time
- Observe that
~/.claude/settings.jsonis created witheffortLevel: high
What Was Created
{
"effortLevel": "high"
}
File birth timestamp confirms it was created during that first desktop app session — it did not exist before.
Impact
effortLevel: highenables extended thinking on every turn, dramatically increasing output token consumption- All subsequent sessions (CLI, PowerShell, and desktop) inherited this setting
- No visible indicator in the UI showed that high effort was active
- Result: approximately $85 in unintended API spend over ~30 hours before the setting was discovered by manually inspecting the settings file
- User had no reason to check
~/.claude/settings.jsonbecause they had never modified it
Expected Behavior
- The desktop app should not write
effortLevel: high(or any non-default setting) tosettings.jsonon first launch without explicit user action - If effort level is configurable in the desktop app UI, the selected value should be shown prominently and changes should require deliberate user confirmation
- The desktop app should inherit existing settings rather than overwriting them with elevated defaults
Notes
- The
effortLevel: highsetting affects all Claude Code entry points globally (CLI, PowerShell, desktop), making it especially impactful when set silently - Discovery only happened through manual investigation of a billing anomaly — there is no in-product signal that effort level has been changed or that extended thinking is active
- Anthropic's usage dashboard confirmed the token spike but does not surface per-setting attribution, making root cause analysis difficult for users
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗