Per-session model/effort settings isolated to the current window

Resolved 💬 3 comments Opened Apr 8, 2026 by CptPirx Closed Apr 12, 2026

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.

View original on GitHub ↗

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