Claude Media
Claude Codeの/model — モデルとeffortをその場で切り替える

Claude Codeの/model — モデルとeffortをその場で切り替える

/modelコマンドでのモデル切り替え・既定保存の仕組み、矢印キーによるeffort調整、会話に出力があるときだけ出る確認ダイアログの条件をまとめます。

Claude Codeの/modelは何をするコマンドか

/modelは、セッション中に使うAIモデルを切り替え、新しいセッションの既定値として保存するコマンドです。作業の途中でも会話を止めずに切り替えられる点が、設定ファイルを書き換える方法との違いです。引数なしで実行するとピッカーが開き、モデル名を直接指定すればその場で切り替わります。切り替えは現在の応答が終わるのを待たずに、即座に反映されます。

text /model sonnet ​

引数ありとピッカーで挙動はどう違うか

/model <名前>と直接打つのは、ピッカーでEnterを押すのと同じ扱いです。モデルを切り替えたうえで、新しいセッションの既定値として保存されます。ピッカーを開いた場合は、行ごとにEntersで挙動を分けられます。

キー操作効果
Enter(または/model <名前>)効果切り替えて既定値として保存
s効果このセッションだけ切り替え(既定値は変更しない)

複数のターミナルで別々のモデルを同時に使いたい場合は、/modelで切り替えるのではなく、それぞれを--modelフラグ付きで起動します。--modelフラグとANTHROPIC_MODEL環境変数は、その起動時のセッションだけに適用され、既定値の保存にも影響しません。

ピッカーで確認ダイアログが出る条件

ピッカーは、会話にすでに出力がある場合だけ確認を求めてきます。理由は単純で、モデルを切り替えた次の応答は会話履歴をキャッシュなしで読み直すことになるからです。セッションを開いた直後、まだ何も応答していない状態で/modelを実行すれば、確認なしにそのまま切り替わります。

確認を経て切り替えが確定すると、そこでも現在の応答が終わるのを待たずに即座に適用されます。

矢印キーでeffortを一緒に調整する

対応モデルを選んでいる状態でピッカーを開くと、左右の矢印キーでeffortレベルのスライダーを操作でき、モデル名の行を選ぶ前にその場で確認しながら調整できます。ここでいう対応モデルは、Opus 5・Sonnet 5・Opus 4.8・Opus 4.7(lowmaxの5段階)、およびOpus 4.6・Sonnet 4.6(low/medium/high/maxの4段階)です。モデルが対応していないeffortレベルを指定した場合は、その1段下の対応レベルにフォールバックします。たとえばOpus 4.6ではxhighを指定してもhighとして動作します。モデルの切り替えと同じ画面でeffortまで一緒に決められるのが/modelのもう1つの役割です。effortだけを単独で変えたい場合はモデルはそのままに/effortコマンドを使い、/effort単体で対話式スライダーが開き、/effort <レベル名>で直接指定できます。

現在のeffortレベルは、セッションヘッダーのモデル名の横に「with low effort」のように常時表示され続けるため、/modelを開かなくても今の設定を確認できます。

/modelとエイリアスの関係

モデル名をいちいち直接覚えていなくても、エイリアスで切り替えられます。

エイリアス挙動
default挙動オーバーライドを解除し、アカウント種別またはOrganizationが設定した既定モデルに戻す
best挙動Organizationが利用できる場合はClaude Fable 5、それ以外は最新のOpusモデルを使う
sonnet / opus / haiku挙動各ファミリーの最新モデルを使う
fable挙動長時間の自律作業に向くClaude Fable 5を使う
sonnet[1m]挙動長時間セッション向けに100万トークンのコンテキストウィンドウでSonnetを使う
opus[1m]挙動長時間セッション向けに100万トークンのコンテキストウィンドウでOpusを使う
opusplan挙動Plan modeではopus、実行ではsonnetに自動で切り替える特殊モード

エイリアスが指すバージョンはプロバイダーごとに更新されていくため、特定のバージョンに固定したい場合はエイリアスではなくフルネーム(claude-opus-5など)を指定します。チームで動作検証をするときなど、全員が同じモデルバージョンで再現性を確保したい場面ではフルネーム指定のほうが適しています。

非対話モード(-p)での/model・/effort

-pを使う非対話モードでも、モデル名やeffortレベルを引数付きで渡せます。ただしこの場合の変更は現在のセッション限りで、既定値としては保存されません。/effortをレベル名の引数付きで非対話モードで使うにはClaude Code v2.1.205以降が必要です。

bash claude -p --model sonnet --effort high "このバグを直して" ​

Fable 5・Opus 4.8・Opus 4.7に切り替えた直後は「モデルごとの既定effortを保持する」仕組みが働きますが、この保持は非対話モードの/effortでは解除できません。保持中に非対話の/effortを実行するとNot appliedと表示されるため、起動時に--effortで明示的に指定します。

設定はどの経路が優先されるか

モデルの設定方法は複数あり、優先順位が決まっています。

  1. セッション中の/model
  2. 起動時の--modelフラグ
  3. ANTHROPIC_MODEL環境変数
  4. settingsファイルのmodelフィールド

セッションを再開したとき(--resume--continue/resumeピッカー)は、この優先順位より前に、保存時点で使っていたモデルがそのまま復元されます。復元されたモデルがすでに提供終了していたりavailableModelsの許可リスト外だったりする場合だけ、通常の優先順位に従って解決し直します。

存在しないモデル名を指定すると、Claude Codeはローカルでその場でリクエストを拒否します。APIリクエストを送る前にこの時点で弾かれるため、無駄なリクエストが飛ぶことはありません。よくあるエラーメッセージと対処は「is not a recognized model id」の意味と対処にまとめています。

ピッカーの価格表示が出ない場合がある理由

/modelピッカーの価格表示は、Anthropic APIに直接、またはLLMゲートウェイ経由でAnthropic APIと話しているときだけ表示されます。行の価格は、その行を選んだときに使われるモデルの価格です。Amazon Bedrockのようなサードパーティプロバイダーや、Claude appsを経由するゲートウェイでは、実際の請求額はプロバイダーやゲートウェイ側が決めるため、ピッカーの行には価格が表示されません。価格表示はあくまで参考ラベルで、どのモデルが選ばれるか・実際の請求額のどちらにも影響しません。

サブエージェント・Skillでのモデル指定との関係

/modelで切り替わるのはメインセッションのモデルです。サブエージェントやSkillのfrontmatterでmodelを個別に指定している場合、その指定はセッション全体の設定より優先され、サブエージェントやそのSkillが動くときだけ適用されます。組織がavailableModels設定で選択できるモデルを制限している場合、この制限はメインセッションの/modelだけでなく、サブエージェントやSkillのモデル指定、Agent teamのteammateモデルにも及びます。許可リスト外のモデルが指定された場合は、サブエージェントは継承元のモデルへ、Skillはセッションのモデルへとフォールバックします。

こんな場面で使う

作業の途中で「この修正は複雑だからOpusに切り替えたい」「単純な確認作業だから軽いモデルに落としたい」と思ったときに、会話を中断せずその場で切り替えられるのが/modelの実用上の価値です。長時間ビルドの監視のような軽い繰り返し作業ではeffortをlowに落として応答を速くし、設計判断やデバッグのように深い推論が要る場面ではxhighmaxに上げる、という具合にタスクの重さに応じて往復させる使い方が中心になります。

複数プロジェクトを並行して触っていて、プロジェクトごとに使うモデルの既定が違う場合は、/modelで毎回切り替えるより、各プロジェクトのsettingsファイルにmodelフィールドを書いておくほうが手間は減ります。/modelはあくまで「いま開いているこのセッションの流れの中で」モデルを変えたいときの手段と位置づけると、他の設定方法との役割分担がはっきりします。プロジェクト単位の既定を固定しつつ、その場の判断で一時的に上書きしたいときだけ/modelのセッション限定切り替え(sキー)を使う、という組み合わせも成り立ちます。

よくある質問

effortだけ変えたいときも/modelを使うべきですか

モデルはそのままにeffortだけを調整したい場合は、/modelを開かずに/effortを直接使うほうが早道です。/effort単体で対話式スライダーが開き、/effort highのようにレベル名を直接指定すればその場で切り替わります。/modelの矢印キー操作は、モデルを切り替えるついでにeffortも一緒に決めたいときに便利な経路という位置づけです。

/modelで切り替えた設定はいつまで有効ですか

Enterで切り替えた場合は新しいセッションの既定値としてそのまま保存され、次回以降のセッションでも引き継がれます。sで切り替えた場合や非対話モードでの切り替えは、そのセッション限りです。

ultracodeもeffortピッカーから選べますか

/effortメニューにはultracodeも表示されます。これはモデルのeffortレベルそのものではなく、xhighのeffortに加えてダイナミックワークフローによる実行計画を組み合わせるClaude Code側の設定で、セッション限りで有効になります。

settingsファイルでmodelを固定していても/modelで変更できますか

その場では変更できます。ただし次回起動時にはsettingsファイルの値が再適用されるため、恒久的に変えたい場合はsettingsファイル側を書き換えます。Organizationが既定モデルを強制している場合も同様に、次回起動時に管理側の設定が再適用されます。

まとめ

/modelはモデルの切り替えと既定値の保存を1つのコマンドでこなし、対応モデルでは矢印キーでeffortまで同じ画面で調整できます。作業の重さに応じてモデルとeffortを行き来する、という使い方が実務上の中心になります。確認ダイアログが出るのは会話にすでに出力がある場合だけで、これは次の応答がキャッシュなしで履歴を読み直すことへの注意喚起です。恒久的な既定にしたいならEnter、そのセッションだけ試したいならsまたは非対話モードの引数指定、と目的に応じて使い分けます。

この記事を共有:XはてブLinkedIn