Per-session model/effort settings isolated to the current window
Problem
Model selection, alwaysThinkingEnabled, and effortLevel are persisted globally in ~/.claude/settings.json. Changing any of these in one Claude Code window immediately affects all other open instances.
Use case
It's common to have multiple CC windows open for different tasks simultaneously — e.g. one window on sonnet for quick edits and another on opus for complex architecture work. Today that's not possible; the last change always wins globally.
Requested behaviour
Allow model/effort/thinking settings changed via /model or the model picker (meta+p) to stay local to the current session without being written back to ~/.claude/settings.json. The global file would still act as the default for new sessions.
A possible implementation: an in-session override layer (env var, CLI flag, or auto-detected per-process) that takes precedence over the persisted global setting for that window only.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗