claude-code - 💡(How to fix) Fix /effort slash command persists to global ~/.claude/settings.json instead of being session-scoped [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#53331Fetched 2026-04-26 05:18:29
View on GitHub
Comments
1
Participants
2
Timeline
4
Reactions
0
Author
Timeline (top)
labeled ×2commented ×1cross-referenced ×1
RAW_BUFFERClick to expand / collapse

Describe the bug

Using the /effort slash command (and the option+p effort toggle) modifies ~/.claude/settings.json globally, affecting all open and future sessions. Based on the docs, /effort should only apply to the current session.

Steps to reproduce

  1. Have effortLevel: medium set in ~/.claude/settings.json
  2. Open a project session and run /effort low
  3. Check ~/.claude/settings.jsoneffortLevel is now low
  4. Open any other unrelated session — it also runs at low effort

To make it more obvious: open two sessions simultaneously. Change effort in one — the other session is immediately affected.

Expected behavior

/effort should be session-scoped and not persist to the global settings file.

Actual behavior

/effort writes to ~/.claude/settings.json, overriding the global setting for all sessions permanently.

Environment

  • OS: macOS 25.3.0

extent analysis

TL;DR

Modify the /effort command to store its setting in a session-specific configuration file instead of the global ~/.claude/settings.json file.

Guidance

  • Review the implementation of the /effort command to ensure it uses a session-specific storage mechanism.
  • Verify that the option+p effort toggle also uses the same session-specific storage to maintain consistency.
  • Consider adding a session identifier to the settings file name or path to differentiate between sessions.
  • Check for any existing configuration options or environment variables that could be used to specify a session-specific settings file.

Example

// Session-specific settings file example
// ~/.claude/session-123/settings.json
{
  "effortLevel": "low"
}

Notes

The current implementation of the /effort command and option+p effort toggle seems to be using the global settings file, which is causing the issue. Modifying the command to use a session-specific settings file should resolve the problem.

Recommendation

Apply a workaround by modifying the /effort command to use a session-specific settings file, as this will allow for session-scoped effort levels without affecting the global settings.

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…

FAQ

Expected behavior

/effort should be session-scoped and not persist to the global settings file.

Still need to ship something?

×6

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

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix /effort slash command persists to global ~/.claude/settings.json instead of being session-scoped [1 comments, 2 participants]