Opus 4.6 was removed from the Desktop model picker (#49689). Here are 4 ways to pin your model.
Opus 4.7 has 50 known issues: 4x token consumption, safety classifier failure, data loss (50GB+), cache_read billing anomaly, and CLAUDE.md instructions being ignored. Pinning to Opus 4.6 avoids all of these.
claude --model claude-opus-4-6
This starts Claude Code with Opus 4.6 for this session only. You need to add the flag every time.
# Edit your user settings
# Location: ~/.claude/settings.json
{
"model": "claude-opus-4-6"
}
Create the file if it doesn't exist. This pins Opus 4.6 across all projects until you change it.
# Create in your project root
# Location: .claude/settings.json
{
"model": "claude-opus-4-6"
}
Useful if you want Opus 4.7 for some projects but not others. Project settings override user settings.
npx github:yurukusa/cc-safe-setup --install-example model-version-alert
Even after pinning, Claude Code can silently switch models mid-session. This hook checks every 50 tool calls and warns if Opus 4.7 is active. #49541
The safety classifier, data loss, and credential issues exist independent of model version. Install safety hooks for baseline protection:
npx github:yurukusa/cc-safe-setup
This adds 8 core hooks (rm-rf blocker, git protection, secret leak detection) in ~10 seconds.
# In Claude Code, type:
/model
# Or check settings:
cat ~/.claude/settings.json | grep model
The Safety Scanner can also detect your current model and identify missing protections.
900+ example hooks, all open source. One command to install.
View on GitHub Survival Guide (69+ issues) Token Checkup (free)