投稿

Claude Code のモデル選択がセッションをまたいで残る挙動と、その止め方

Claude Code のモデル選択がセッションをまたいで残る挙動と、その止め方

まとめ

  • /model でモデルを選ぶと、デフォルトでは設定ファイルに保存され、次に立ち上げた新規セッションにも引き継がれる
  • ピッカーで行を選ぶとき Enter は「保存して既定にする」、s は「今のセッション限り」で、後者なら設定ファイルに書き込まれない
  • 新規セッションを毎回まっさらな既定モデルから始めたいなら、設定ファイルの model キー自体を消すのが確実
  • 設定はスコープ(ユーザー / プロジェクト / ローカル / 管理)で多段化しており、上位が未設定なら下位へフォールバックする

きっかけ

前回のセッションでモデルを切り替えたら、その選択が次に開いた新規セッションでもそのまま表示された。便利なときもあるが、セッションごとに使い分けたいときは「なぜ勝手に前回のモデルが残るのか」が気になる。挙動を調べて整理した。

モデル選択はどこに保存されるか

モデルの既定はユーザー設定ファイルの model キーに入る。ピッカーからモデルを確定した時点でこのキーが書き換わり、以降の新規セッションはその値を初期モデルとして読み込む。

{
  "model": "opus"
}

一度これが書き込まれると、セッション中に別モデルへ一時的に切り替えても、新規セッションを立ち上げるたびに保存済みの値へ戻る。「前回使ったモデルが表示される」のはこの保存済みキーを読んでいるからだ。

保存する / しないの分岐は「確定キー」で決まる

ここが要点で、ピッカーでの確定操作によって永続化の有無が変わる。

操作 挙動 設定ファイルへの書き込み
Enter で確定 新規セッションにも引き継ぐ既定にする 書き込まれる
行で s を押す 今のセッション限りで切り替える 書き込まれない

つまり「今回だけ試したい」なら Enter ではなく s を押す。これだけで設定ファイルは汚れず、次のセッションは元の既定に戻る。今まで無意識に Enter で確定していると、選ぶたびに既定が上書きされていくことになる。

新規セッションを既定から始めたいときはキーを消す

一時切り替えの s を覚えていても、設定ファイルに model キーが残っている限り新規セッションはその値へ戻る。完全にまっさらな状態(プランの既定モデル)から始めたいなら、設定ファイルからキー自体を外す。

{
  "permissions": { "defaultMode": "auto" },
  "enableAllProjectMcpServers": true
}

model 行を削除しても他の設定はそのまま効く。JSON として壊れていないかは、キーの有無を確認しておくと安心だ。

jq -e 'has("model")' ~/.claude/settings.json
# false が返れば削除できている

なお設定ファイルがシンボリックリンクになっている場合(dotfiles でまとめて管理しているケースなど)、リンク先の実体を編集する必要がある。リンク越しの書き込みは弾かれることがあるので、実体パスを解決してから触る。

readlink -f ~/.claude/settings.json

設定はスコープで多段化している

model を含む設定値は複数のスコープを持ち、上位が未設定なら下位へフォールバックする。おおまかには以下の優先順で解決される。

  1. 管理(サーバー側で強制される設定)
  2. ローカル(プロジェクト配下の個人用オーバーライド)
  3. プロジェクト(リポジトリ共有の設定)
  4. ユーザー(ホーム配下の個人設定)

全スコープで model が未設定なら、最終的にプランの既定モデルが使われる。逆に言えば、あるプロジェクトだけモデルを固定したいならプロジェクトスコープに書けばよく、個人全体の既定はユーザースコープに置く、といった住み分けができる。

使い分けの整理

  • 今のセッションだけ別モデルを試す → ピッカーで s
  • 個人の既定モデルを決める → ユーザースコープに Enter で保存(=これまでの挙動)
  • 新規セッションは毎回既定から始めたい → ユーザースコープの model キーを削除
  • 特定プロジェクトだけ固定したい → プロジェクトスコープに model を書く

「毎回前回のモデルが残る」のは仕様どおりの動きで、止め方は確定操作を s にするかキーを消すかの二択。自分は新規セッションを既定から始めたかったので、ユーザースコープのキーを消す方にした。一時切り替えの s を体が覚えるまでは、たまに Enter で保存し直してしまいそうな気はしている。

トレンドのタグ