/effort slash command persists to global ~/.claude/settings.json instead of being session-scoped

Resolved 💬 4 comments Opened Apr 25, 2026 by DRuiCHEN Closed Apr 29, 2026

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

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗