[Bug] Project settings.json model value silently overrides /model picker and reverts unexpectedly
Bug Description
Title: Project settings.json model pin overrides /model picker; changed value did not stay changed
Claude Code (macOS, Claude Max plan).
Verified facts:
- My project's
~/.claude/settings.jsonhad"model": "claude-fable-5[1m]"hard-set. - A hard-set "model" value in settings.json overrides the
/modelpicker for new sessions in that project — switching models via/modeldid not change what a new session launched with, because the config file's value takes precedence. - I edited the file, changing the value to
"model": "sonnet", and confirmed it was written to disk. - Some time later, with no
/modelaction taken by me in that window, the file's value had changed back to"model": "claude-fable-5[1m]"(confirmed by re-reading the file and by file mtime). - I could not identify the specific process that rewrote it. I checked: no cron job, launchd job, or local script on my machine writes to this file. The Claude Code daemon did self-update during the surrounding period (binary version 2.1.200 → 2.1.201, per daemon.log), but I have no direct evidence tying the update to the revert — it may be coincidental. I also had roughly ten other
claudesessions running concurrently against the same project directory, all of which share this same settings.json; I cannot rule out one of those sessions (or another Claude Code process) writing to it independently.
What I'm reporting: the model value in a project's settings.json can silently override the /model picker with no indication to the user that a pin is in effect, and in my case the value changed back to a previous state without my initiating it, through a cause I could not pin down from the client side.
Ask: please help identify what writes to settings.json's "model" field outside of an explicit user /model action, and consider surfacing a visible indicator when a project-level config value is overriding the model picker.
Happy to provide daemon.log and file timestamps on request.
Environment Info
- Platform: darwin
- Terminal: ghostty
- Version: 2.1.201
- Feedback ID: e5593b3c-67bc-4779-ab83-e03cd553807f
Errors
[]This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗