Setting to make /model selection session-only (modelPerSessionOptIn), mirroring fastModePerSessionOptIn
Feature request
A setting to make /model selection session-only — e.g. modelPerSessionOptIn — mirroring the existing fastModePerSessionOptIn.
Current behavior
Running /model <name> in a session both switches the live session and saves that model as the user default for new sessions (model in ~/.claude/settings.json):
> /model
Set model to Fable 5 and saved as your default for new sessions
Problem
When many sessions run concurrently (multi-agent setups, one operator driving a fleet), switching one session's model silently rewrites the default for every future session. The operator usually means "this session, this model" — the persistence is a side effect they discover later when unrelated sessions come up on the wrong model.
Fast mode already solves exactly this with fastModePerSessionOptIn ("fast mode does not persist across sessions"). Model selection has no equivalent: I read the current settings schema and found model, fallbackModel, availableModels, enforceAvailableModels, modelOverrides — nothing that scopes /model to the session.
Workarounds today (all partial)
- Pin
modelin a project's.claude/settings.json— protects that project only. - Launch with
claude --model <name>— the flag doesn't persist, but only helps at launch, not mid-session. - Manually revert
~/.claude/settings.jsonafter each/model.
Proposal
{ "modelPerSessionOptIn": true }
When set, /model changes the live session only and never writes the model key; the saved default changes only by editing settings directly (or perhaps an explicit /model <name> --default).
---
🤖 Filed with Claude Code