Claude Codeのeffort(エフォート)は、Claudeが一つひとつの手順でどれだけ深く考えるかを決める設定です。会話の中で/effortと入力すると、lowからmaxまでの段階を選べます。段階を上げるほど深く考えるぶん、時間とトークン(使用量)が増えます。ultrathinkは、設定を変えずに「この1回だけ深く考えて」と頼むためのキーワードです。
この記事は、Anthropicの公式ドキュメントと公式の変更履歴を2026年10月27日に確認して書き、10月28日、10月31日、11月3日に確認し直して更新しています。確認したのは、モデルの設定、設定一覧、環境変数、コマンド一覧、対話画面の使い方、プロンプトキャッシュ、スキル、サブエージェントのページなどです。編集部は、Claude Codeでeffortの段階ごとの違いを実際に比べる実測はしていません。記事内の設定例は、公式の例をもとに、JSONとして正しく読めることだけを確かめています。
確認した時点の最新版はv2.1.317(日本時間2026年11月3日公開)です。v2.1.311でultrathinkの動きが変わり、v2.1.312では、作業の途中でeffortを変えた時の表示が直りました。v2.1.316では、VS Code拡張機能のultrathinkがターミナルと同じ動きになり、ultrathinkを止める環境変数と、サブエージェントの段階を決める環境変数が加わりました。v2.1.317では、メインの会話と違うモデルで動くサブエージェントなどの既定の段階が変わっています。手元の版はclaude --versionで確かめてください。
Claude Codeのeffortとは:考える深さを決める設定
公式のモデル設定のページによると、effortは「適応的な推論」を調整する設定です。Claudeは手順ごとに、考えるかどうか、どれだけ考えるかを作業の難しさに合わせて決めます。effortを下げると簡単な作業が速く安くなり、上げると難しい問題をより深く考えます。質を変えずに待ち時間を減らす設定には、別のfast modeがあります。費用は上がり、使えるのはOpusだけです。
使える段階はモデルによって違います。表にないモデルはeffortに対応していません。
| モデル | 選べる段階 | 何も決めていない時の段階 |
|---|---|---|
| Opus 5.5・Sonnet 5.5・Haiku 5.5 | low・medium・high・xhigh・max | medium |
| Fable 5.1・Fable 5、Opus 5・Sonnet 5・Opus 4.8 | low・medium・high・xhigh・max | high |
| Opus 4.7 | low・medium・high・xhigh・max | xhigh |
| Opus 4.6・Sonnet 4.6 | low・medium・high・max | high |
組織が既定のモデルに段階を決めている時は、その段階が初期値になります。モデルが対応していない段階を選んだ時は、そのモデルが対応している段階のうち、選んだ段階より下で一番高いものが使われます。たとえばOpus 4.6でxhighを選ぶと、highで動きます。また、段階の名前が同じでも、中身の強さはモデルごとに調整されています。Opus 5からOpus 5.5へ移る時、公式は「Opus 5で使っていた段階をそのまま持ち込まず、mediumから始める」ことを勧めています。公式ページには、AnthropicのテストでOpus 5.5のmediumが、コーディングなどの評価でOpus 5のhighと同じかそれ以上だったことも書かれています。
effortの段階の選び方
公式ページは、段階ごとに向いている作業を次のように説明しています。編集部としては、まずモデルの初期値のまま使い、足りない時だけ上げる進め方をおすすめします。
| 段階 | 向いている作業 |
|---|---|
| low | 結果を毎回自分で見ながら進めるやり取り。アイデア出し、最初の下書き、名前の変更のような小さな修正 |
| medium | Opus 5.5・Sonnet 5.5では、範囲がはっきりした日々の開発(新しい機能の実装など) |
| high | 確かめることが大事な作業や、例外が起きやすい作業。既存のコードの不具合直しなど |
| xhigh | トークンを多く使ってでも、より深く考えてほしい作業 |
| max | 人が見ていなくても粘って解いてほしい難題。脆弱性探しなど。効果が頭打ちになったり考えすぎたりしやすいので、広く使う前に試す |
公式の説明では、Opus 5.5とFable 5.1のテストで、段階を上げたClaudeはより多くの例外ケースを試し、答える前に自分の作業を多く確かめました。自分で決めて進める場面も増えました。段階を下げると、たたき台が早く返ってくるので、一つずつ結果を見て次の指示を出す進め方に向いています。
/effortで開くスライダーには、ultracodeという切り替えもあります。ultracodeはeffortの段階の一つではありません。大きな作業を任せた時に、Claudeが複数の手順を組んだ作業計画(ワークフロー)を立てるようにするClaude Codeの設定です。effortの段階とは別に、オンとオフを切り替えます。
Claude Codeのeffortの使い方:変える方法
/effortで変える
会話の中で/effortとだけ入力すると、段階を選ぶスライダーが開きます。/effort highのように段階の名前を続けると、その段階にすぐ変わります。/effort statusで今の段階を表示し、/effort autoで今のモデルに保存した段階を消します。設定ファイルにeffortLevelがあればその段階、なければモデルの初期値で動きます(公式のコマンド一覧)。
/effort high
/effort status
/effort auto
どれだけ長く効くかは、決め方で変わります。
- スライダーで
Enterを押す、または/effort highのように名前を打つ:その段階を初期値として保存し、次の会話からも使う - スライダーで
sを押す:この会話だけに使う(v2.1.257以降) maxを選んだ時:環境変数で決めた場合を除き、どの方法で選んでもこの会話だけに使う
保存した段階は、モデルごとに分けて覚えられます。Opus 5.5でhighを保存しても、Haiku 5.5の段階は変わりません。
Claudeが作業している途中でも/effortは使えます。ただし、公式のモデル設定のページによると、ターミナルの対話画面でClaudeが新しい段階で動くのは、/effortで段階を決めた後に送る次のメッセージからです。いま進んでいる応答は、元の段階のまま終わることがあります。応答が終わるのを待たずに切り替えたい時は、作業中に「続けて」のような短いメッセージを入力してEnterを押します(公式の例はkeep going)。メッセージは作業を止めずに順番待ちに入ります。Claudeは、いま実行しているファイルの読み書きやコマンドなどの操作が終わった時か、遅くとも応答の終わりにそのメッセージを受け取り、そこから新しい段階で動きます。
v2.1.312では、この時の表示も直りました。作業の途中で段階を変えると、入力欄に出ているeffortの表示に、「次のメッセージまで待つことがある」という意味の注意が付きます。この注意は、待つ必要がなくなった時点で消えます。作業中に動く表示(スピナー)も、選んだばかりの段階ではなく、実際に使われている段階を示すようになりました(公式の変更履歴)。
/modelの画面で変える
/modelでモデルを選ぶ画面では、左右の矢印キーでeffortのスライダーを動かせます。保存のしかたは/effortと同じです。設定した段階は、画面上部のモデル名の横に「with low effort」のように表示されるので、/modelを開かなくても確かめられます。ただし、この表示が示すのは設定した段階で、いま使われている段階とは限りません。作業の途中で段階を変えた直後は、表示が新しい段階になっていても、Claudeはまだ元の段階で動いていることがあります。
起動する時に--effortで決める
ターミナルから起動する時に--effortを付けると、その会話だけの段階を決められます(公式のコマンドラインの一覧)。
claude --effort xhigh
claude -p(対話画面を開かずに、結果だけを出力させる実行のしかた)の中で/effortを使った場合、選んだ段階はその1回の実行だけに使われ、初期値としては保存されません。
設定ファイルで決める:modelSettings
決まった段階をいつも使いたい時は、設定ファイルのmodelSettingsにモデルごとに書けます(公式の設定一覧、v2.1.251以降)。/effortで保存した段階も、ここに書き込まれます。次の例は、Opus 5.5だけをhighにして、ほかのモデルはそれぞれの段階のまま使う書き方です。
{
"modelSettings": {
"claude-opus-5-5": {
"effortLevel": "high"
}
}
}
ここに書ける段階はlow・medium・high・xhighで、maxは書けません。設定ファイルの場所と優先順位は、settings.jsonの記事で詳しく説明しています。
環境変数で決める
環境変数CLAUDE_CODE_EFFORT_LEVELに段階の名前かautoを入れても決められます(公式の環境変数の一覧)。環境変数で決めた段階は、--effortや/effortで選んだ段階より優先されます。maxを次の会話でも続けて使いたい時は、この方法だけが使えます。
ultrathinkとは:effortの設定はそのままで、1回だけ深く考えさせる
ultrathinkは、依頼文のどこかに書くと、そのターンだけClaudeに深く考えさせるキーワードです。会話のeffortの設定は変わりません。このキーワードでそのターンの段階を上げられる場面では、入力欄のultrathinkが虹色で表示されます。
ultrathink このテストが時々だけ失敗する原因を、考えられる順に調べて
「think」「think hard」「think more」のような言い方は、キーワードとしては扱われません。ふつうの文としてそのままClaudeに渡ります。
v2.1.311で変わったこと
公式の変更履歴によると、日本時間2026年10月27日に公開されたv2.1.311で、ultrathinkの動きが変わりました。対象は、ターミナルの対話画面で、AnthropicのAPIを通してOpus 5.5・Sonnet 5.5・Haiku 5.5・Fable 5.1を使っている場合です。この条件では、ultrathinkを書いたターン(依頼してからClaudeが返事を終えるまでの1回分)がxhighの段階で動きます。Claudeが作業している途中でultrathinkを打った時は、その応答の残りの作業が、上がった段階で進みます。
同じ版で、虹色の表示も変わりました。キーワードで段階を上げられる場面だけ虹色になり、かぎかっこで囲んだ時やファイルのパスの一部の時は、虹色になりません。
2026年10月28日に確かめたところ、公式のモデル設定のページも、英語版・日本語版ともにこの動きを説明するように変わっていました。ページによると、ターミナルの入力欄にultrathinkと書くと、そのターンをxhighへ上げられる場合があります。上げられる場面では、v2.1.311以降、入力欄のultrathinkが虹色になります。Amazon Bedrockのように、キーワードでは段階を上げられない場面では、/effortなどで段階を決めるよう案内されています。以前のページにあった「APIに送るeffortの段階は変わらない」という説明は、なくなりました。claude -pのように対話画面の入力欄を使わない場合に、ultrathinkでそのターンがxhighへ上がるかどうかは、確認した公式ページには書かれていません。なお、v2.1.68の変更履歴には「次のターンをhighにする」と書かれていたこともあり、説明は版によって変わってきました。
手元で確かめる手がかりは、入力欄の虹色です。v2.1.311以降は、虹色になっていれば、そのキーワードで段階を上げられる場面だということになります。
v2.1.316で変わったこと
日本時間2026年10月31日に公開されたv2.1.316では、公式の変更履歴によると、ultrathinkについて次の2つが変わりました。
- VS Code拡張機能でも、ターミナルと同じように、
ultrathinkを書いたターンがxhighで動き、チャット欄で虹色に表示されます。 - 環境変数
CLAUDE_CODE_DISABLE_ULTRATHINKで、ultrathinkのキーワードを止められます。
11月3日の時点で、公式のモデル設定と環境変数のページには、この環境変数がまだ載っていません。設定する値も書かれていないので、使う前に公式のページを確かめてください。編集部は、VS Code拡張機能での動きと、この環境変数を実際には試していません。
ultrathinkと/effortの使い分け
| やりたいこと | 使うもの |
|---|---|
| 難しい質問の1回だけ、深く考えてほしい | 依頼文にultrathinkを書く |
| この会話の間ずっと、深さを変えたい | /effortでスライダーのsを押す |
| 次の会話からも、いつも同じ深さで使いたい | /effort 段階名、またはmodelSettings(maxは保存されない) |
| 特定のスキルやサブエージェントだけ深さを変えたい | スキル・サブエージェントの定義のeffort |
スキルの本文にultrathinkを書いておくと、そのスキルが動く時に深い推論を頼めます(公式のスキルのページ)。スキルやサブエージェントの定義にeffortを書くと、スキルはそのターンの終わりまで、サブエージェントは動いている間、会話の段階より優先されます。サブエージェントごとの指定は、サブエージェントのeffortを指定する記事で詳しく扱っています。
v2.1.316からは、環境変数CLAUDE_CODE_SUBAGENT_EFFORTを設定すると、定義などでほかに段階を指定していないサブエージェントは、会話の段階を引き継ぐ代わりに、設定した段階で動きます(公式の変更履歴)。11月3日の時点で、公式のモデル設定・環境変数・サブエージェントのページには、この環境変数もまだ載っていません。
effortはどの設定が優先されるか
いくつもの方法で段階を決めた時は、次の順で、最初に当てはまったものが使われます。
- その場での指定:強い順に、環境変数
CLAUDE_CODE_EFFORT_LEVEL、会話の中の/effort、起動時の--effort - 設定ファイル:
modelSettingsに保存したモデルごとの段階、またはeffortLevel - モデルの初期値
サブエージェントの定義のeffortは動いている間、スキルの定義のeffortはそのターンの終わりまで、会話の段階より優先されますが、環境変数CLAUDE_CODE_EFFORT_LEVELには負けます。環境変数CLAUDE_CODE_SUBAGENT_EFFORTが使われるのは、定義などでほかに段階を指定していないサブエージェントだけです。
v2.1.317からは、メインの会話と違うモデルで動くサブエージェントと、agent teamsのチームメイトの動きが変わりました。ほかに指定がなければ、会話の段階ではなく、そのモデルに保存した段階か初期値で動きます(公式の変更履歴)。版ごとの確認結果は、サブエージェントのeffortの記事にあります。
どれで決めても、上限の設定は必ず効きます。設定ファイルのmaxEffortLevel(v2.1.267以降)や、Claude Enterpriseの組織が役割ごとに決めた上限があると、それより上の段階を選んでも上限の段階で動きます。組織の上限より上の段階は、/effortのスライダーにも出てきません。次の例は、すべてのモデルをmediumまでに抑え、Sonnet 4.6だけをこの設定ファイルの上限から外す書き方です。ほかの設定ファイルや組織の上限は、Sonnet 4.6にも効き続けます。
{
"maxEffortLevel": "medium",
"modelSettings": {
"claude-sonnet-4-6": {
"maxEffortLevel": "max"
}
}
}
effortを変える時の注意:使用量とキャッシュ
段階を上げるほど、考える分のトークンが増えます。公式ページは、考えた内容が画面で畳まれていても、生成された思考のトークンはすべて課金の対象になると説明しています。考えた内容はCtrl+Oで表示を切り替えると見られます。要約を全文で見たい時は、設定にshowThinkingSummaries: trueを加えます。
会話の途中で段階を変えると、多くのモデルでは、それまでの会話のキャッシュが使えなくなり、次の依頼で会話全体を読み直します(公式のプロンプトキャッシュのページ)。そのため、キャッシュが残っている間に段階を変えようとすると、Claude Codeが変える前に確認を求めます。ただし、Opus 5.5・Sonnet 5.5・Haiku 5.5・Fable 5.1をAPIキーかClaudeのサブスクリプションで使う時は、段階を変えてもキャッシュが残り、確認なしで切り替わります。Amazon BedrockやGoogle Cloud経由などでは、この扱いになりません。
段階を変える前に出る確認の説明は、v2.1.312で直りました。以前の確認では、会話の読み直しは次のメッセージまで起きないと説明していました。実際には、作業中に段階を変えると、それより早く読み直しが起きることがあります。
公式は、モデルと段階は会話の最初に決め、作業の途中ではなるべく変えないことを勧めています。使用量の見方は/usageの記事、キャッシュが残る時間はプロンプトキャッシュの記事も参考になります。
なお、Opus 5.5・Sonnet 5.5・Haiku 5.5とFableのモデルでは、考える機能そのものは止められません。alwaysThinkingEnabled: falseやMAX_THINKING_TOKENS=0を設定しても効かず、effortの段階に合わせて、Claudeが手順ごとに考える量を決めます。
effortが思った段階にならない時の確認
まず今の段階を確かめる
/effort statusを実行するか、画面上部のモデル名の横の表示を見ます。ただし、作業の途中で段階を変えた直後は、いま進んでいる応答が元の段階のまま終わることもあります。v2.1.312以降は、作業中のスピナーに出る段階が、実際に使われている段階です。新しい段階に切り替えるには、次のメッセージを送るか、作業中に短いメッセージを順番待ちに入れます。それでも思った段階と違う時は、下の順に原因を探してください。
選んだ段階に変わらない、すぐ戻る
環境変数CLAUDE_CODE_EFFORT_LEVELが入っていると、その段階が/effortや--effortより優先されます。シェルの設定ファイルなどに書いていないか確かめます。会社で管理された設定にeffortLevelがある時は、自分の保存した段階より優先されることもあります。
Opus 5.5でeffortLevelが効かない
自分の~/.claude/settings.jsonの一番外側に書いたeffortLevelは、Opus 5.5とそれ以降のモデルには使われません。これは、Claude Codeがモデルごとに段階を保存するようになる前の古い書き方だからです。Opus 5、Fable 5.1とそれより前のモデルには、今も効きます。Opus 5.5では、/effortで選び直すか、modelSettingsに書きます。プロジェクトや会社で管理された設定のeffortLevelは、すべてのモデルに効きます。
xhighやmaxを選んだのに、低い段階で動く
使っているモデルがその段階に対応していない時は、対応している段階のうち一番近い下の段階になります(Opus 4.6のxhighはhigh)。maxEffortLevelや組織の上限が決まっている時も、上限の段階で動きます。スライダーに高い段階が出てこない時は、モデルがその段階に対応していないか、組織の上限があることを疑います。
maxが次の会話で元に戻る
maxは、環境変数で決めた時を除いて、その会話だけに使われる決まりです。毎回/effort maxを選ぶか、環境変数を使います。公式も、maxを広く使う前に、自分の作業で効果を試すよう勧めています。
Bedrockなどで/effortが出てこない
Claude Codeは、モデルIDの形を見てeffortに対応しているかを判断します。Amazon BedrockのARNや独自の名前を付けたモデルでは、対応していないと判断されることがあります。この時は、ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIESのような環境変数にeffortなどの機能名を入れて、対応していることを伝えます。この変数を設定すると、書いていない機能は使えなくなるので、thinkingなども含めて、モデルが対応している機能をすべて書きます。
ultrathinkが虹色にならない
v2.1.311以降は、キーワードで段階を上げられる場面だけ虹色になります。まず、手元の版をclaude --versionで確かめてください。そのうえで新しいターンを始める時に虹色にならなければ、公式のモデル設定のページが挙げる次の3つを確かめます。
- かぎかっこ・括弧・ファイルのパス・コマンドの中に入れず、単語として打ち直す。依頼文を
/で始めない - 環境変数
CLAUDE_CODE_EFFORT_LEVELにxhighより低い段階が入っていれば外す。上限がxhighより低い時は、自分のmaxEffortLevelをxhigh以上にするか、組織の上限を上げるよう管理者に頼む /modelで、Opus 5.5・Sonnet 5.5・Haiku 5.5・Fable 5.1のどれかに切り替える。Amazon Bedrockなど、キーワードで段階を上げられない場面では、/effortなどで段階を決める
v2.1.316以降は、環境変数CLAUDE_CODE_DISABLE_ULTRATHINKが設定されていないかも確かめます。これは公式の変更履歴の内容をもとに編集部が足した項目で、モデル設定のページが挙げる3つには入っていません。VS Code拡張機能では、公式のVS Codeのページにあるとおり、拡張機能のビューで版がv2.1.316以降かを確かめます。
まとめ:Claude Codeのeffortは、初期値から始めて必要な時だけ上げる
Claude Codeのeffortは、Claudeが考える深さを決める設定です。/effortで変え、Enterなら保存、sならこの会話だけに使います。作業の途中で変えた時は、次に送るメッセージから新しい段階で動きます。Opus 5.5・Sonnet 5.5・Haiku 5.5の初期値はmediumなので、まずはそのまま使い、確かめることが大事な作業でhigh以上へ上げるのがおすすめです。1回だけ深く考えてほしい時はultrathinkを書けばよく、v2.1.311からは条件がそろうとそのターンがxhighで動きます。思った段階にならない時は、/effort statusで今の段階を見て、環境変数と上限を確かめてください。
長い作業の任せ方は長い作業を任せるコツの記事、トークンの使い方の考え方はトークン消費を見直す記事も参考になります。Claude Code全体のできることや使い始め方は、Claude Codeとは?できること・料金・利用環境の選び方から読み始めてください。




