Resuming a session can silently change the model (--resume should pin or warn)

Status Fixed / completed
Maintainer reply ✓ Yes — bcherny
Activity 3 comments · opened Jul 10, 2026 · closed Aug 17, 2026
💡 Likely answer: A maintainer (bcherny, collaborator) responded on this thread — see the highlighted reply below.

Context: solo owner running Claude Code across 4 projects with autonomous ticket-runner sessions and per-model cost/quality routing (~1000 session transcripts / 17 days). macOS, CLI + VSCode extension.

A runner session started on Opus was resumed later and continued on a different (more expensive) default model, with no warning. For autonomous pipelines with per-model cost/quality routing this is a silent budget/quality drift.

Ask: --resume should pin the original session model by default, or at least warn on mismatch.

Happy to share sanitized transcript excerpts.

View original on GitHub ↗

3 Comments

NubeBuster · 2 months ago

I, too, am bothered by it. Very much so. Even though I am aware of it, it catches me off guard, causing cache miss, as well as unexpected lowered quality of responses. Either too expensive, or dumb.

But even more than --resume, what about --continue. Same problem, but I had even a higher subconscious expectation this would recognize the origin model, especially when the cache is still warm for the origin model. A warning should be implemented when the model change causes a cache miss. And either in cold or warm cache, the user should be provided a prompt to choose which model they'd like to resume/continue with, including a message that informs the user which model the session had initially.

---

!forceop

!label add platform:linux
!label add area:cost
!label add "has repro"
!label add user-experience

bcherny collaborator · 1 month ago

This shipped in 2.1.144: sessions resumed with claude --resume, --continue, or /resume keep the model they were using when the transcript was saved, regardless of the current model setting. Exceptions: if the saved model has been retired or is excluded by your org's availableModels, the session falls back to normal model precedence, and on providers with provider-specific deployment IDs (Bedrock, Google Cloud, Foundry) the model isn't restored. If you're on a newer version and still see drift, please open a bug with details. Changelog: https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md · Docs: https://code.claude.com/docs/en/model-config

🤖 Generated with Claude Code

github-actions[bot] · 6 days ago

This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.