Skip to content

Model setting in settings.json is ignored on startup - defaults to Sonnet instead of configured Opus #13242

Closed as not planned

Description

@kazuph

This issue was written with Claude Code (Claude Opus 4.5)


Description

When "model": "opus" is configured in ~/.claude/settings.json, Claude Code ignores this setting on startup and defaults to Sonnet instead.

Additionally, even when changing the model to Opus via /status → Config menu, this setting does not persist. On the next startup, it reverts to the default (currently Sonnet), making it impossible to maintain Opus usage across sessions.

Steps to Reproduce

  1. Set "model": "opus" in ~/.claude/settings.json
  2. Start Claude Code
  3. Observe that the model is Sonnet, not Opus
  4. Alternatively: Use /status → Config to set Opus
  5. Restart Claude Code
  6. Observe that the model has reverted to Sonnet

Expected Behavior

Claude Code should start with the model specified in settings.json (Opus in this case) and persist model selection across sessions.

Actual Behavior

Claude Code starts with Sonnet regardless of the settings.json configuration or previous session settings.

Configuration

{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "model": "opus",
  ...
}

Environment

  • OS: macOS (Darwin 24.6.0)
  • Claude Code: Latest version

Possibly Related Issues

Activity

  1. github-actions commented on Dec 6, 2025

    @github-actions

    Found 3 possible duplicate issues:

    1. [BUG] /model setting does not persist across sessions despite “future sessions” claim #1523
    2. [BUG] Claude Code not automatically loading .claude/settings.json during startup despite documentation indicating this should happen #7916
    3. [BUG] .env value overriding model setting #12982

    This issue will be automatically closed as a duplicate in 3 days.

    • If your issue is a duplicate, please close it and 👍 the existing issue instead
    • To prevent auto-closure, add a comment or 👎 this comment

    🤖 Generated with Claude Code

  2. kazuph commented on Dec 6, 2025

    @kazuph
    Author

    Update: I found that logging out and logging back in resolves this temporarily - after that, Claude Code correctly starts with Opus 4.5. This suggests there might be some cached state causing the issue rather than settings.json parsing itself.

  3. github-actions commented on Jan 6, 2026

    @github-actions

    This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.

  4. github-actions commented on Feb 5, 2026

    @github-actions

    This issue has been automatically closed due to 60 days of inactivity. If you're still experiencing this issue, please open a new issue with updated information.

  5. github-actions commented on Feb 13, 2026

    @github-actions

    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.

  6. locked as resolved and limited conversation to collaborators on Feb 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:corearea:modelautocloseIssue will be closed automaticallybugSomething isn't workinghas reproHas detailed reproduction stepsplatform:macosIssue specifically occurs on macOS

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions