development·

Claude Code の effort と ultrathink|v2.1.311 の変更点と5段階の使い分け【2026年10月】

Claude Code v2.1.311(2026年10月26日 UTC 公開)で、ultrathink はそのターンを xhigh effort で動かすキーワードになりました。effort 5段階の使い分け、モデル別の既定値、/effort・--effort・settings での設定方法と優先順位、ultracode との違いを公式情報と実機で解説します。

Claude Code の effort と ultrathink|v2.1.311 の変更点と5段階の使い分け【2026年10月】

Claude Code のバージョン 2.1.311(2026年10月26日 UTC 公開、日本時間では27日)から、プロンプトに ultrathink と書くと、そのターンが xhigh の effort で動くようになりました。 対象は、ターミナルの対話セッションで Opus 5.5・Sonnet 5.5・Haiku 5.5・Fable 5.1 を Anthropic の API 経由で使っている場合です。それまでの公式ドキュメントは、ultrathink について「深く考えてほしいという指示を会話に足すだけで、API に送る effort は変わらない」と説明していました。

やることは2つです。まず claude --version で 2.1.311 以上かを確認し、古ければ claude update で更新します。次に、1回だけ深く考えさせたいときはプロンプトに ultrathink を入れ、難しい作業がしばらく続くときは /effort high などでセッションの effort を上げます。

2026年10月27日に検索結果の上位を確認したところ、「ultrathink は廃止された」「think hard でも深く考える」といった、いまの仕様とは違う説明が残っていました。本記事では、同日に取得した Anthropic の公式ドキュメントと CHANGELOG を原典に、手元の Claude Code 2.1.311 で確かめた内容を加えて、effort と ultrathink の現在の仕組みをまとめます。実機で確認した内容と、ドキュメント・CHANGELOG の記載は書き分けています。

この記事を読むとわかること

  • バージョン 2.1.311 で ultrathink の何が変わったのか
  • 自分の環境で ultrathink が xhigh で動くかどうか(判定表)
  • 「ultrathink は廃止された」という記事が多い理由と、バージョンごとの経緯
  • effort の5段階(low / medium / high / xhigh / max)の使い分け
  • モデルごとに使えるレベルと既定値(Opus 5.5・Sonnet 5.5・Haiku 5.5 は medium)
  • /effort・/model・--effort・環境変数・settings での設定方法と優先順位
  • ultrathink・effort・ultracode・plan モードの違いと、チームで決めておくこと

結論:2026年10月時点の effort と ultrathink

effort とは、Claude Code で Claude がどれだけ深く推論するかを決める設定で、low・medium・high・xhigh・max の5段階があります。 ultrathink は、セッションの effort を変えずに「このターンだけ深く」と頼むためのキーワードです。2026年10月時点で押さえる点は次の4つです。

  1. ultrathink は 2.1.311 から、そのターンを xhigh で動かす:条件は判定表のとおりです。Claude の作業中に打つと、そのターンの残りが引き上がります
  2. think や think hard はキーワードではない:普通の文章として送られます。特別な扱いを受けるのは ultrathink だけです
  3. Opus 5.5・Sonnet 5.5・Haiku 5.5 の既定は medium:ほかの対応モデルは原則 high、Opus 4.7 だけ xhigh です。同じ名前のレベルでも、モデルが違えば中身の深さは同じではありません
  4. 普段の深さは /effort、1回だけ深くは ultrathink、作業の進め方ごと変えるなら ultracode:3つは別の仕組みです。混同すると、使用量だけ増えて期待した効果が出ません

Claude Code そのものの概要はClaude Code の基本、モデルの選び方はClaude Code のモデル使い分けで紹介しています。

2.1.311 で ultrathink はどう変わったか

2.1.311 の変更は、ultrathink を、条件に合う環境ではそのターンの effort を xhigh に上げるキーワードにしたものです。 CHANGELOG には「ターミナルの対話セッションの ultrathink が、Anthropic の API 経由の Opus 5.5・Sonnet 5.5・Haiku 5.5・Fable 5.1 で、そのターンを xhigh effort で実行するよう変更。Claude の作業中に打つと、そのターンの残りを引き上げる」と書かれています(筆者訳。出典:Claude Code CHANGELOG の 2.1.311)。

変更前と変更後

項目2.1.311 より前の公式ドキュメントの説明2.1.311 以降(条件に合う場合。CHANGELOG の記載)
Claude Code がすること「深く考えてほしい」という指示を会話に足すそのターンを xhigh で実行する
API に送る effort変わらないxhigh
作業中に打った場合記載なしそのターンの残りを引き上げる
虹色の強調表示記載なしeffort を上げられる場所だけに出る。引用符の中やファイルパスの一部では出ない
セッションの effort 設定変わらない変わらない(次のターンは元のレベル)

左列は、公式ドキュメントの「Use ultrathink for one-off deep reasoning」の節の説明です(出典:公式:Model configuration)。ただし後で述べるとおり、2026年3月の 2.1.68 の CHANGELOG には「次のターンを high effort にする」と書かれており、2.1.310 以前のどのバージョンでも effort が変わらなかったとまでは言い切れません。

xhigh で動く条件

CHANGELOG に書かれた条件を表にすると次のとおりです。右列は「動かないと書かれている」のではなく、今回の変更の対象として名前が挙がっていないものです。右列の環境で確実に深く考えさせたいときは、/effort xhigh でセッションごと上げるのが確実です。

条件対象として明記されている今回の変更で名前が挙がっていない
Claude Code のバージョン2.1.311 以上2.1.310 以下(変更前の動き)
使う場所ターミナルの対話セッションclaude -p(非対話)、Agent SDK、VS Code 拡張、デスクトップアプリ
モデルOpus 5.5、Sonnet 5.5、Haiku 5.5、Fable 5.1Opus 5、Sonnet 5、Fable 5、Opus 4.8 以前など
接続先Anthropic の APIAmazon Bedrock、Google Cloud、Microsoft Foundry、Claude Platform on AWS などのクラウド経由

「Anthropic の API」は、Bedrock などのクラウド事業者を経由せず Anthropic に直接つないでいる場合、つまり Pro・Max・Team・Enterprise のアカウントでのログインや Claude Console の API キーを指すと読めます。社内の LLM ゲートウェイを経由している場合が含まれるかどうかは、公式に書かれていません。

組織やユーザーが maxEffortLevel で上限を決めている場合、公式の設定リファレンスは「リクエストのたびに Claude Code 自身が上限をかける」と説明しています。ultrathink の場合に限った記述はありませんが、上限が high の環境では、xhigh ではなく上限の値で動くと考えるのが自然です。

作業中に打った場合

Claude が作業している最中に、次のメッセージとして ultrathink を含む文を送ると、そのターンの残りが引き上がります(CHANGELOG の記載)。「途中から難しくなった」と感じたときに、作業を止めずに深さを上げられる、ということです。ターンが終わると、次のターンはセッションの effort に戻ります。

公式ドキュメントとの食い違い

2026年10月27日に取得した公式の Model configuration ページは、まだ「API に送る effort レベルは変わらない」と書いたままです。CHANGELOG とドキュメントで記述が違うのは、更新のタイミングがずれているためと考えられます。本記事はバージョンごとの変更を記録した CHANGELOG を優先し、次の実機の確認で裏付けています。ドキュメントが更新されたら、この節も合わせて見直します。

手元での確認(2.1.311)

手元の macOS(Apple Silicon)で、自分のアカウントにログインしない検証用の環境に 2.1.311 を入れて確かめました。

$ claude --version
2.1.311 (Claude Code)

$ claude --help | grep -i -A3 effort
  --effort <level>                      Effort level for the current session
                                        (low, medium, high, xhigh, max)

ヘルプには5つのレベルだけが表示され、後で紹介する ultracode は一覧に出てきません。

あわせて、実行ファイルに含まれる文字列を調べると、ultrathink を見つけたときに会話へ足す指示文「The user included the keyword "ultrathink", requesting deeper reasoning on this turn.」と、条件を満たしたときに xhigh を選ぶ処理が入っていました。ログインが必要なため、実際に API へ送られた effort の値は今回確認していません。この点は CHANGELOG の記載に基づいています。

ultrathink の経緯:「廃止された」という記事が多い理由

ultrathink は一度キーワードとしての扱いがなくなり、その後に戻ったため、書かれた時期によって説明が違います。 CHANGELOG と npm の公開日で追うと、次の流れになります。

時期バージョンultrathink の扱い
2025年3月15日0.2.44「think」「think harder」「ultrathink」と言うと、考えるモードで計画を立てる、と案内
その後不明キーワードとしての扱いが一度なくなる(なくなったバージョンは CHANGELOG に明記なし)
2026年3月4日2.1.68「ultrathink キーワードを再導入し、次のターンを high effort にする」と CHANGELOG に記載
2026年10月26日2.1.311条件に合う環境で、そのターンを xhigh で実行

2.1.68 から 2.1.311 までの間に、公式ドキュメントの説明は「指示を足すだけで effort は変わらない」になっていました(2026年10月27日時点でもこの記述のまま)。どのバージョンでそう変わったかは CHANGELOG に書かれていません。

2025年に書かれた記事は「think → think hard → ultrathink の順に深くなる」という 0.2 系の説明で、2026年初めの記事には「廃止された」とあります。どちらもその時点では間違いではありませんが、2026年10月の Claude Code には当てはまりません。いまキーワードとして扱われるのは ultrathink だけで、think hard や think more は普通の文として送られます(出典:公式:Model configuration)。

effort とは:5段階と使い分け

effort は推論の深さの設定です。 下げると速く安く済み、上げると複雑な問題に深く取り組む代わりにトークンを多く使います。Claude はレベルの範囲内で、手順ごとに考えるかどうか・どれだけ考えるかを自分で決めます。公式ドキュメントの説明をもとに、使い分けを表にまとめます。

レベル向いている作業(公式の説明より)補足
low結果を毎回自分で確認する短いやり取り。ブレインストーミング、最初のたたき台、名前の変更のような小さな修正もっとも速く、使用量も少ない
mediumOpus 5.5・Sonnet 5.5 では、範囲がはっきりした日々の開発(新機能の実装など)Opus 5.5・Sonnet 5.5・Haiku 5.5 の既定
high確認が大事な作業、想定外のケースが出やすい作業。既存コードのバグ修正など多くのモデルの既定
xhighより深い推論が必要な作業。トークンの消費は増えるOpus 4.7 の既定。ultrathink の対象ターンもこのレベル
max人が付き添わずに解かせたい難問。セキュリティ上の弱点探しなど効果が頭打ちになりやすく、考えすぎる傾向がある。広く使う前に試す

公式のテストでは、Opus 5.5 と Fable 5.1 は高いレベルほど、答える前に多くの想定外のケースを試し、自分の作業を多く確かめ、自分で判断して進める場面も増えたとされています。低いレベルでは、たたき台を早く返すため、結果を見ながら次の指示を出す作業に向いています。

注意したいのは、effort の目盛りはモデルごとに調整されていて、同じ名前のレベルでもモデルが違えば同じ深さではないという点です(公式ドキュメントの記載)。たとえば Anthropic のコーディングと知的作業の評価では、Opus 5.5 の medium は Opus 5 の high と同等以上の結果でした。モデルを替えたときは、前のモデルで使っていたレベルをそのまま持ち込まず、新しいモデルの既定から試すのが基本です。

モデル別の対応レベルと既定値

使える effort のレベルと既定値はモデルによって違います。 2026年10月27日時点の公式ドキュメントの記載は次のとおりです。

モデル使えるレベル既定
Opus 5.5、Sonnet 5.5、Haiku 5.5low / medium / high / xhigh / maxmedium
Fable 5.1、Fable 5low / medium / high / xhigh / maxhigh
Opus 5、Sonnet 5、Opus 4.8low / medium / high / xhigh / maxhigh
Opus 4.7low / medium / high / xhigh / maxxhigh
Opus 4.6、Sonnet 4.6low / medium / high / maxhigh

表にないモデルは effort に対応していません。モデルが対応していないレベルを指定すると、指定以下で使える一番高いレベルに置き換わります。たとえば Opus 4.6 で xhigh を指定すると high で動きます。組織が「組織の既定モデル」に既定の effort を決めている場合は、そのモデルを使うときはその値が既定になります。

Opus 5.5 以降のモデルでは「前の設定が効かない」ことがある

間違えやすいのが、ユーザー設定ファイル(~/.claude/settings.json)のトップレベルに書いた effortLevel です。このキーは、Claude Code がモデルごとにレベルを保存するようになる前の形式です。公式ドキュメントによると、Opus 5 や Fable 5.1 など Opus 5.5 より前のモデルにはこれまでどおり効きますが、Opus 5.5 と、それより後に出たモデルには効きません。CHANGELOG では Sonnet 5.5 と Haiku 5.5 は Opus 5.5 より後に追加されているため、この2つも同じ扱いになると読めます。これらのモデルは、/effort か /model で自分でレベルを選ぶまで既定の medium で始まります。

「以前 high に設定したはずなのに、Opus 5.5 では medium と表示される」という場合は、この仕様が原因です。なお、プロジェクトやローカル、組織が配る managed settings、--settings で渡したトップレベルの effortLevel は、すべてのモデルに効きます。

effort の設定方法と優先順位

effort は、セッション中のコマンド、起動時のフラグ、環境変数、設定ファイルのどれでも決められます。 複数を設定した場合にどれが勝つかも決まっています。

設定の方法

方法書き方効く範囲
/effort引数なしでスライダー、/effort high のように直接指定、/effort auto で保存した値を消す下記「保存される範囲」を参照
/modelモデルを選ぶ画面で左右の矢印キーを押す/effort と同じ
起動時のフラグclaude --effort xhighそのセッションだけ
環境変数CLAUDE_CODE_EFFORT_LEVEL=high(auto も可)その環境で起動したセッション
設定ファイルmodelSettings でモデルごと、effortLevel でモデル別の保存がないとき用設定ファイルの範囲
skill・subagentMarkdown の frontmatter に effortその skill・subagent が動いている間

スマートフォンやブラウザから Remote Control で接続している場合は、画面の effort の操作から選べます。この場合はそのセッションだけに効きます(2.1.234 以降)。スラッシュコマンド全体の使い方はClaude Code のスラッシュコマンド一覧で解説しています。

保存される範囲

ターミナルの対話セッションで low・medium・high・xhigh を選んだとき、確定の仕方で効く期間が変わります。

  • Enter で確定、または /effort high のようにレベル名を指定:既定として保存され、次回以降のセッションにも効く。ただし、プロジェクト・ローカル・managed の設定ファイルに effortLevel があるリポジトリでは、保存した既定よりそちらが優先される
  • スライダーで s を押して確定:このセッションだけ(2.1.257 以降)
  • max:環境変数で指定しない限り、そのセッションだけ
  • claude -p の中で /effort:そのセッションだけで、既定としては保存されない

保存先はユーザー設定の modelSettings で、モデルごとに別のレベルを持ちます(2.1.251 以降)。手で書く場合は次のようになります。

{
  "modelSettings": {
    "claude-opus-5-5": {
      "effortLevel": "high"
    }
  }
}

設定ファイルの modelSettings と effortLevel には max を書けません。max を常に使いたい場合は環境変数 CLAUDE_CODE_EFFORT_LEVEL=max を使います。

優先順位

Claude Code は、次の順に見て最初に当てはまったものを使います(出典:公式:Model configuration)。

  1. 明示的な指定:環境変数 CLAUDE_CODE_EFFORT_LEVEL、起動時の --effort、セッション中の /effort。このうち環境変数と --effort の間では、環境変数が優先されます(設定リファレンスの記載)
  2. 設定:モデルごとに保存したレベル、または effortLevel。同じファイルの中ではモデルごとのレベルが優先され、ファイルをまたぐ場合は優先度の高い設定ファイル(managed → --settings → ローカル → プロジェクト → ユーザーの順)に書かれたものが勝ちます
  3. モデルの既定:上の表の値

skill や subagent の frontmatter の effort は、それが動いている間はセッションのレベルより優先されますが、環境変数には勝ちません。maxEffortLevel(2.1.267 以降)を設定していると、環境変数・/effort・--effort・frontmatter・モデルの既定のどれで決まったレベルでも、上限より上には上がりません。Enterprise プランでは、管理者がロールごとにモデル別の上限を決めることもできます(2.1.195 以降)。

作業中に /effort でレベルを変えると、確認の表示が出た場合はそれを承認したあと、そのターンの次のリクエストから新しいレベルが使われます。いまのレベルは、セッションの見出しのモデル名の横に「with low effort」のように表示されるので、/model を開かなくても確認できます。

ultrathink・effort・ultracode・plan モードの使い分け

ultrathink は1ターンの深さ、/effort はセッションの深さ、ultracode は作業の進め方、plan モードは実行前の確認を変える仕組みです。

仕組み変えるもの効く期間向いている場面
/effort(effort レベル)推論の深さセッション、または保存すれば次回以降も普段の深さを決める
ultrathinkそのターンの深さ(条件に合えば xhigh)そのターンだけ1回だけ難しい質問や原因調査をしたい
ultracode作業の進め方(dynamic workflows を組む)オンにしている間大きめの作業を複数の手順に分けて進めたい
plan モード実行の前に計画を立てて承認をもらう切り替えている間変更前に方針を確認したい

ultracode は名前が似ていますが、effort のレベルではありません。オンにすると、まとまった作業について Claude が dynamic workflows(Claude が書いたスクリプトで多数のサブエージェントを動かす仕組み)を組むようになり、深さはセッションの effort のままです。/effort ultracode でオンにでき、オフにする /effort ultracode off とスライダーの Tab での切り替えは 2.1.284 以降で使えます。起動時に claude --effort ultracode とすると、ultracode をオンにしたうえで effort を xhigh にします。

plan モードは推論の深さではなく、ファイルを変える前に計画を見せる仕組みです。使い方はClaude Code の plan モードで解説しています。

実際の使い分けは、次の順で考えると迷いません。

  1. 普段はモデルの既定のレベルで使う(Opus 5.5 なら medium)
  2. 1つの質問だけ難しいときは、プロンプトに ultrathink を入れる
  3. 難しい作業が続くときは、/effort high か /effort xhigh でセッションごと上げる
  4. 結果を見ながら細かく指示する作業が続くときは、/effort のスライダーで low を選び、s で確定する。/effort low と打つと既定として保存され、次回以降も low のままになる

ultrathink が効いているかを見分ける方法

2.1.311 以降は、入力欄の ultrathink が虹色で強調されるかどうかが目安になります。 CHANGELOG によると、このバージョンから虹色の表示は「キーワードで effort を上げられる場所だけ」に出るよう変わり、引用符で囲んだ場合やファイルパスの一部の場合は出なくなりました。

入力しても虹色にならないときは、次の点を確認してください。モデルや接続先が虹色の表示に関係するかどうかは CHANGELOG に明記されていないため、2〜3は「effort が上がる条件を満たしているか」の確認です。

  1. 書き方:"ultrathink" のように引用符で囲んでいないか、docs/ultrathink.md のようなパスの一部になっていないか。単語として書きます
  2. バージョンとモデル:claude --version が 2.1.311 以上か、/model で Opus 5.5・Sonnet 5.5・Haiku 5.5・Fable 5.1 のどれかを選んでいるか
  3. 接続先:CLAUDE_CODE_USE_BEDROCK・CLAUDE_CODE_USE_VERTEX・CLAUDE_CODE_USE_FOUNDRY・CLAUDE_CODE_USE_ANTHROPIC_AWS などの環境変数を設定していれば、Amazon Bedrock・Google Cloud・Microsoft Foundry・Claude Platform on AWS 経由で接続しています

条件を満たさない環境は、今回の変更の対象として明記されていません。確実に深く考えさせたいときは、/effort xhigh でセッションごと上げてください。

使用量への影響と注意点

effort を上げると、1回の作業で使うトークンが増え、利用枠や料金に直接響きます。 公式ドキュメントも、各レベルを「トークンの消費と能力の引き換え」と説明しています。2.1.311 からは ultrathink も条件に合うターンを xhigh で動かすため、口ぐせのように毎回入れていると、知らないうちに使用量が増えます。

  • Pro・Max などのプランでは、利用枠の減りが早くなります。上限の仕組みはClaude の利用制限の解説を参照してください
  • max は効果が頭打ちになりやすいと公式が注意しています。いつもの作業で使う前に、効果があるかを試してください
  • 作業中に effort を変えると、プロンプトキャッシュが効かなくなる場合があり、Claude Code は確認を表示します
  • 応答が遅い・雑になったと感じたときは、モデルや effort だけでなく会話の長さも原因になります。切り分けはClaude Code のトラブルシューティングガイドとコンテキスト管理の解説が参考になります

チームで使う場合に決めておくこと

チームで Claude Code を使う場合、effort は「各自の好み」に任せると使用量の差が大きくなります。導入時に次の3点を決めておくと、利用枠の管理がしやすくなります。

  • 普段使うレベル:モデルの既定のままにするか、チームとして high などにそろえるか。そろえる場合は、プロジェクトの設定ファイル(.claude/settings.json)に effortLevel を書くと、そのリポジトリで作業する全員の既定になります。各自が /effort で保存した既定(ユーザー設定)よりもプロジェクトの値が優先され、それより優先されるのはセッション中の /effort・--effort・環境変数・各自の .claude/settings.local.json です
  • 上限:組織が配る managed settings に maxEffortLevel を置くと、全員の上限をそろえられます。上限より低いレベルは自由に選べます
  • ultrathink の使いどころ:毎回入れるのではなく、原因調査や設計の相談など「ここだけは深く」という場面に限る、という申し合わせ

よくある質問

まとめ

  • Claude Code 2.1.311(2026年10月26日 UTC 公開)から、ultrathink はそのターンを xhigh で動かす。対象はターミナルの対話セッション × Opus 5.5・Sonnet 5.5・Haiku 5.5・Fable 5.1 × Anthropic の API
  • 2026年10月27日時点の公式ドキュメントは「effort は変わらない」の記述のまま。変更は CHANGELOG に記載があり、実行ファイルにも xhigh を選ぶ処理が入っている(実際に送られる値は未確認)
  • キーワードは ultrathink だけ。think hard は普通の文
  • effort は low・medium・high・xhigh・max の5段階。Opus 5.5・Sonnet 5.5・Haiku 5.5 の既定は medium
  • 優先順位は「環境変数>--effort・/effort」→「設定ファイル」→「モデルの既定」。上限は maxEffortLevel
  • 普段は既定、1回だけ深くは ultrathink、難しい作業が続くなら /effort で上げる。上げるほど使用量は増える

関連記事

まず資料で、全体をつかむ。 自社の場合は、そのあと話す。

  • 研修・稟議・外注の準備に使える資料を無料で
  • 見積書の確認は、登録なしで診断できます
  • 相談は 30 分無料。代表が直接お返事します
  • 要件が決まっていなくても大丈夫です