[Bug] Project settings.json model value silently overrides /model picker and reverts unexpectedly

Open 💬 1 comment Opened Jul 4, 2026 by cogpros

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:

  1. My project's ~/.claude/settings.json had "model": "claude-fable-5[1m]" hard-set.
  2. A hard-set "model" value in settings.json overrides the /model picker for new sessions in that project — switching models via /model did not change what a new session launched with, because the config file's value takes precedence.
  3. I edited the file, changing the value to "model": "sonnet", and confirmed it was written to disk.
  4. Some time later, with no /model action 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).
  5. 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 claude sessions 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

[]

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗