# Claude Code の effort とは：既定値・おすすめ・設定が効かない原因

> Claude Code の effort は作業量の設定で、Opus 5.5 の既定は medium です。/effort high で保存し、効かなければ環境変数を確認します。

- URL: https://blog.laozhang.ai/ja/posts/claude-code-effort-level
- Published: 2026-11-02
- Updated: 2026-11-02
- Author: LaoZhang AI Team (https://blog.laozhang.ai/ja/about)
- Topic: Claude Code
- Tags: Claude Code, effort, エフォートレベル, Opus 5.5, settings.json, ultrathink

---
Claude Code の effort（エフォートレベル）は、1つの依頼に Claude がどれだけ手間をかけるかを決める設定です。考える量だけでなく、読むファイルの数、ツールを呼ぶ回数、どこまで進めてから確認に戻ってくるかも変わりますが、答えるモデルが変わるわけではありません。レベルは `low`・`medium`・`high`・`xhigh`・`max` の5段階で、2026年11月2日時点の既定値は Opus 5.5・Sonnet 5.5・Haiku 5.5 が `medium`、Opus 4.7 が `xhigh`、ほかの対応モデルが `high` です。フッターに `medium` と出ていても、性能が落ちたわけではありません。

レベルを変えるときは、まず `/effort status` で今の状態を確かめ、`/effort high` のようにレベル名を入力します。この操作は使用中のモデルの既定値として `~/.claude/settings.json` の `modelSettings` に保存され、次のセッションにも残ります。今のセッションだけで試したいなら、引数なしの `/effort` で開くスライダーで `s` を押します。`max` は `/effort`、スライダー、`--effort` のどれで選んでもそのセッション限りで、設定ファイルにも保存できません。毎回 `max` で始めるには、環境変数 `CLAUDE_CODE_EFFORT_LEVEL=max` を使います。

設定したのに効かないときは、上書きしている指定を探します。環境変数 `CLAUDE_CODE_EFFORT_LEVEL` はほかのすべての指定に勝ち、ユーザー設定のトップレベルに書いた古い `"effortLevel"` は Opus 5.5 以降のモデルでは無視されます。どちらも 2026年11月2日に、Claude Code 2.1.316 が実際に送るリクエストで確かめた挙動です。

## Claude Code の effort とは：作業量のツマミで、モデルの賢さではない

effort は「考える時間」の長さだけを決める設定ではありません。Anthropic の解説記事「[Choosing a Claude model and effort level in Claude Code](https://claude.com/blog/claude-model-and-effort-level-in-claude-code)」によれば、effort が高いと Claude はファイルを読む、テストを走らせる、作業を見直すといった行動を増やしてから戻ってきます。低いと、自分でトークンを使って調べるより、ユーザーに追加の情報を求めるほうを選びます。モデルが知識と能力の幅を決め、effort はその能力にどれだけの手順をかけるかを決める、という分担です。

結果に不満があるときの見分け方も、同じ記事に書かれています。必要な情報がそろっていて、Claude がきちんと取り組んだのに間違えたなら、より能力の高いモデルに替えるサインです。ファイルを読み飛ばした、テストを実行しなかった、リファクタリングを途中で投げ出したといった失敗なら、effort を上げます。Sonnet 5.5 の `high` と Opus 5.5 の `medium` のどちらを使うかで迷うなら、「[Sonnet 5.5とOpus 5.5の使い分け：半額が効く仕事](https://blog.laozhang.ai/ja/posts/claude-sonnet-5-5-vs-opus-5-5)」が判断の材料になります。

同じレベル名でも、モデルによって中身は違います。[Claude Code のモデル設定ドキュメント](https://code.claude.com/docs/ja/model-config)によると effort のスケールはモデルごとに調整されており、Opus 5.5 の既定 `medium` は Opus 5 の既定 `high` より1段低い名前ですが、Anthropic のテストではコーディングとナレッジワークの評価で同等以上の結果だったとされています。Opus 5 から移る場合は、以前のレベルを持ち込まずに `medium` から始めるよう公式に勧められています。

## モデル別のデフォルト effort：Opus 5.5・Sonnet 5.5・Haiku 5.5 は medium

既定値はモデルで決まります。下の表は、公式ドキュメントにある選べるレベルと既定値に、2026年11月2日に Claude Code 2.1.316 が実際に送った値を並べたものです。7つのモデルとも、送られた値はドキュメントの既定値と一致しました。

| モデル | 選べるレベル | ドキュメントの既定値 | 実際に送られた値 |
| --- | --- | --- | --- |
| Opus 5.5 | `low`〜`max` の5段階 | `medium` | `medium` |
| Sonnet 5.5 | `low`〜`max` の5段階 | `medium` | `medium` |
| Haiku 5.5 | `low`〜`max` の5段階 | `medium` | `medium` |
| Fable 5.1 | `low`〜`max` の5段階 | `high` | `high` |
| Opus 5 | `low`〜`max` の5段階 | `high` | `high` |
| Opus 4.7 | `low`〜`max` の5段階 | `xhigh` | `xhigh` |
| Opus 4.6 | `xhigh` を除く4段階 | `high` | `high` |

送信値の確認は次の条件で行いました。macOS 上で設定ディレクトリを空にした Claude Code 2.1.316 を、`ANTHROPIC_BASE_URL` で受け取ったリクエストを記録するだけのローカルの模擬エンドポイントにつなぎ、ほかの設定なしで `claude -p "Reply with OK" --model <モデル ID>` を実行して、リクエストの `output_config.effort` を読んでいます。実際のモデルは呼んでいないので、分かるのは Claude Code が何を送るかであり、回答の質やトークン消費は分かりません。以下の節で「実測」と書いた結果も、同じ版と同じ模擬エンドポイントで得たものです（対話モードの確認は tmux 上のターミナルで実行）。

表にない Sonnet 5、Opus 4.8、Fable 5 も5段階すべてに対応し、ドキュメント上の既定値は `high` です。Sonnet 4.6 は Opus 4.6 と同じく `xhigh` がなく、一覧にないモデルは effort 自体に対応していません。対応していないレベルを指定すると、Claude Code はそれ以下で最も高い対応レベルに黙って切り替えます。実測でも、Opus 4.6 に `--effort xhigh` を付けて起動すると、警告なしに `high` が送られました。

Sonnet 5.5 の `medium` は Claude Code 側の既定値で、Claude API を直接呼んで effort を省略した場合の既定は `high` です（Opus 5.5 と Haiku 5.5 は API でも `medium`）。Sonnet 5.5 の effort 別の費用は「[Claude Sonnet 5.5移行ガイド：effort別の費用差と5つの破壊的変更](https://blog.laozhang.ai/ja/posts/claude-sonnet-5-5)」、既定値が `high` の Fable 5.1 を Opus と比べたときのタスク単価は「[Claude Fable 5.1とOpus 5の料金比較：実コストの判断基準](https://blog.laozhang.ai/ja/posts/claude-fable-5-1-migration-pricing-cache-effort)」にまとめています。

## おすすめの effort レベル：基本は既定値、上げるのは検証が要る作業

ほとんどの作業は、モデルの既定値のままで足ります。Anthropic は、既定値から始め、タスクごとに切り替えるのではなく、自分の仕事の種類に合わせた普段の好みとして調整するよう勧めています。公式ドキュメントの使い分けに、それぞれの代償を添えると次のようになります。

| レベル | 向いている作業 | 代償 |
| --- | --- | --- |
| `low` | 名前の変更のような小さな修正、ブレインストーミング、最初の下書きなど、結果を1つずつ確認するやり取り | 自分で調べるより確認を求めがちで、検証は少ない |
| `medium` | Opus 5.5・Sonnet 5.5・Haiku 5.5 の既定。新機能の実装など、範囲がはっきりした日常の開発 | 既定が `high` のモデルで選ぶと、多少の賢さと引き換えにトークンを減らす |
| `high` | 既存コードベースのバグ修正など、検証が重要でエッジケースが出やすい作業 | `medium` より時間とトークンを使う |
| `xhigh` | より深い推論が必要な作業。Opus 4.7 の既定 | トークン消費がさらに増え、Opus 4.6 と Sonnet 4.6 では選べない |
| `max` | セキュリティ脆弱性の洗い出しなど、任せきりで解かせたい難問 | 効果が頭打ちになりやすく、考えすぎる傾向がある。設定ファイルに保存できない |

Anthropic が Opus 5.5 と Fable 5.1 で試した結果では、高いレベルほど回答前に多くのエッジケースを試し、作業の検証を増やし、自分で判断する場面も増えました。低いレベルでは、早めにたたき台が返ってきます。手元で1つずつ確かめながら進めるなら低め、席を外して任せるなら高め、という選び方が合います。

effort を上げると1ターンで使うトークンが増えやすく、Pro や Max などのサブスクリプションでは使用量の枠を早く消費します。残量の見方と減らし方は「[Claude Code トークン使用量確認・監査：5時間・週間制限と減らし方](https://blog.laozhang.ai/ja/posts/claude-code-usage-limit-issues)」で扱っています。

## max・xhigh・high の違い：max はそのセッション限りで、考えすぎに注意

`high`、`xhigh`、`max` の順に深く考えますが、使い勝手の差は保存のされ方とモデルの対応にも表れます。`high` と `xhigh` は `/effort` で既定値として保存できるのに対し、`max` は `/effort max` でも `--effort max` でもそのセッションにしか効かず、設定ファイルの `effortLevel` や `modelSettings` に書いても受け付けられません。毎回 `max` で始めたい場合は環境変数 `CLAUDE_CODE_EFFORT_LEVEL=max` を使い、実測でもこの方法で Opus 5.5 に `max` が送られました。

公式ドキュメントは `max` について、効果が頭打ちになることがあり、考えすぎる傾向もあるので、広く使う前に試すよう注意しています。「とりあえず max」は難問を任せきりにするときの選択で、日常の開発の既定にするものではありません。

## effort の変更方法と効く範囲：設定の優先順位

effort を変える方法は複数あり、Claude Code は決まった順番で最初に見つかったものを使います。強い順に、環境変数 `CLAUDE_CODE_EFFORT_LEVEL`、セッション中に `/effort` や `/model` で選んだレベル、起動時の `--effort`、設定ファイル、モデルの既定値です。上位の指定があると、それより下の指定は何の表示もなく無視されます。

![Claude Code の effort 指定の優先順位：環境変数、/effort・/model、--effort、設定ファイル、モデルの既定値の順に強く、上位が下位を上書きした実測例](https://blog.laozhang.ai/posts/ja/claude-code-effort-level/img/effort-priority-order.webp)

| 方法 | 書き方 | 効く範囲 | 優先順位 |
| --- | --- | --- | --- |
| 環境変数 | `export CLAUDE_CODE_EFFORT_LEVEL=high` | そのシェルから起動したすべてのセッション。`max` も指定できる | 1 |
| `/effort` にレベル名を付ける、スライダーで `Enter` | `/effort high` | 使用中のモデルの既定値として保存され、次回も残る。`max` は除く | 2 |
| `/effort` のスライダーで `s` | `/effort` を開いて `s` | 今のセッションだけ。v2.1.257 以降 | 2 |
| `/model` の effort スライダー | モデル選択中に左右キー | `Enter` で保存、`s` で今のセッションだけ | 2 |
| 起動フラグ | `claude --effort xhigh` | そのセッションだけ | 3 |
| 設定ファイル | `modelSettings` か `effortLevel` | モデルごとに保存。`max` は書けない | 4 |
| モデルの既定値 | なし | 上のどれもないとき | 5 |

`-p` での実行、Agent SDK、リモートワーカーのセッションで `/effort` を使った場合や、Remote Control でつないだスマートフォンやブラウザから選んだ場合は、そのセッションだけに効き、保存されません。順番どおりに上書きされることは実測でも確かめています。`CLAUDE_CODE_EFFORT_LEVEL=low` を設定したまま `--effort high` で起動すると `low` が送られ、`modelSettings` で Opus 5.5 を `high` に保存した状態でも、`--effort low` を付けて起動すれば `low` が送られました。

保存されたかどうかは、`/effort` が返すメッセージの括弧内で分かります。2026年11月2日に対話モードの Opus 5.5 で試したときの表示は次のとおりで、`saved as your default for new sessions` は次のセッションにも残る保存、`this session only` は今のセッションだけという意味です。

```text
/effort high
Set effort level to high (saved as your default for new sessions): Comprehensive implementation with extensive testing and documentation

/effort max
Set effort level to max (this session only): Maximum capability with deepest reasoning. May use excessive tokens resulting in long response times or overthinking. Use sparingly for the hardest tasks.
```

`/effort high` の後、`~/.claude/settings.json` には次のエントリが加わりました。`/effort max` の後は、このファイルは変わらず `high` のままでした。エントリはモデルの正式名で書かれ、エイリアスや日付付きの ID、`[1m]` 付きの指定も同じエントリに当たります。保存したレベルを変えたり消したりしたいときは、このファイルを直接編集してもかまいません。

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

スライダーでは左右キーで1段ずつ動かし、`Enter` で保存、`s` で今のセッションだけ、`Esc` で取り消し、`Tab` で Ultracode の切り替えです。新しいレベルは確定した後に送る次のメッセージから適用されるので、Claude の作業中に効かせたいときは `keep going` のようなメッセージを送ってキューに入れておきます。

## 今どの effort で動いているか確認する手順

画面に出るレベルは「設定されたレベル」なので、上書きまで含めて確かめるには次の順で見ます。

1. プロンプトで `/effort status` を実行します。`Effort level: auto (currently medium)` と出れば、保存したレベルはなく、既定値の `medium` が送られています。`Effort level: auto` とだけ出れば、effort は送られていません。v2.1.304 より前は、送られていない場合でも `auto (currently high)` と表示されていました。
2. フッターとセッションヘッダーを見ます。2026年11月2日の実測では、Opus 5.5 の起動直後のフッターは `◐ medium · /effort` で、`/effort high` の後は `● high`、`/effort max` の後は `◈ max` に変わりました。ヘッダーの「with low effort」のような表示も設定値です。
3. ターミナルで `echo $CLAUDE_CODE_EFFORT_LEVEL` を実行します。何か値が出れば、それがほかのすべての指定より優先されています。
4. `~/.claude/settings.json` を開き、今のモデルの `modelSettings` エントリと、トップレベルの `effortLevel` や `maxEffortLevel` を確かめます。プロジェクトの `.claude/settings.json`、`.claude/settings.local.json`、組織の管理設定にも同じキーが入っていることがあります。

## effort の設定が効かない・medium に戻るときの原因と直し方

「設定したはずの effort と違う」ときは、上の優先順位で別の指定に負けているか、そのキーや値がもともと受け付けられていないかのどちらかがほとんどです。表の「根拠」が実測の行は、2026年11月2日に Claude Code 2.1.316 で送信値を確かめた結果で、ドキュメントの行は公式の記載によるものです。

| 症状 | 原因 | 直し方 | 根拠 |
| --- | --- | --- | --- |
| `~/.claude/settings.json` に `"effortLevel": "high"` と書いたのに、Opus 5.5 が `medium` のまま | ユーザー設定のトップレベル `effortLevel` は v2.1.251 より前の古い形式で、Opus 5.5 以降のモデルは無視する | `/effort high` で保存し直すか、`modelSettings` にモデルごとに書く | 実測：Opus 5.5 は `medium`、Fable 5.1 は `high` |
| 設定ファイルの `"effortLevel": "max"` が効かない | `max` は `effortLevel` でも `modelSettings` でも受け付けられない | 毎回 `max` にしたいなら `CLAUDE_CODE_EFFORT_LEVEL=max` | 実測：Opus 5 に既定の `high` が送られ、`-p` の出力にメッセージなし |
| `/effort max` にしたのに、次のセッションで戻った | `max` はそのセッション限り | 環境変数で `max` にするか、そのつど `/effort max` | 実測：settings.json は変わらず |
| スライダーで選んだレベルが次回戻る | `s` で確定したか、`-p`、Agent SDK、Remote Control で選んだ | 対話セッションで `Enter` で確定する | ドキュメント |
| `--effort high` や `/effort high` が効かない | 環境変数 `CLAUDE_CODE_EFFORT_LEVEL` が設定されている | `unset CLAUDE_CODE_EFFORT_LEVEL` してから起動し直す | 実測：環境変数 `low` と `--effort high` で `low` |
| Opus 5.5 を `high` にしたのに、Sonnet 5.5 は `medium` | 保存はモデルごと | Sonnet 5.5 に切り替えてから `/effort high` | 実測 |
| `--effort max` が `high` で動き、警告が出る | `maxEffortLevel` か組織の上限 | 上限を上げるか、管理者に相談する | 実測（警告文は上限の節） |
| Opus 4.6 で `xhigh` を選ぶと `high` になる | 対応していないレベルは下の対応レベルに落ちる | `high` か `max` を選ぶか、`xhigh` 対応モデルに替える | 実測：警告なし |
| `--effort` の値が無視される | レベル名の綴り違い | 下の警告文を確認し、正しいレベル名にする | 実測：既定値の `medium` が送られた |
| `/effort auto` にしても `medium` が送られる | `/effort auto` は保存したレベルを消すだけ | effort を送らないなら環境変数を `auto` にする | 実測（auto の節） |
| 自動フォールバック後も、元のレベルのまま | フォールバック前の effort を引き継ぐ仕様。Opus 5.5 の `medium` から Opus 4.8 に移っても `medium` | `/model` で選び直す、レベルを選ぶ、セッションを再開する | ドキュメント |
| 保存したレベルと違う値で動く | プロジェクト、ローカル、管理設定のトップレベル `effortLevel` は全モデルに効き、管理設定はユーザー設定に勝つ | 各設定ファイルのキーを確かめる | ドキュメント |
| Amazon Bedrock などで、カスタム ARN やデプロイ名のモデルだと `/effort` が使えない | モデル ID を Claude Code が認識できず、effort 機能が無効になっている | `_SUPPORTED_CAPABILITIES` 変数で、使う機能をすべて宣言する（表の下を参照） | ドキュメント |

最後の行の変数は、`ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` のようにモデルの種類（OPUS、SONNET、HAIKU、FABLE）ごとにあり、書いた機能だけが有効になって、書かなかった機能は無効になります。そのため `effort,xhigh_effort,max_effort` だけでなく、`thinking`、`adaptive_thinking`、`interleaved_thinking` のように実際に使う機能も並べます。[Claude Code のモデル設定ドキュメント](https://code.claude.com/docs/ja/model-config)によると、この変数が効くのは Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry といったサードパーティのプロバイダー経由の場合だけです。`ANTHROPIC_BASE_URL` で独自のゲートウェイにつないでいる場合は表示名と説明の `_NAME`・`_DESCRIPTION` しか効かず、api.anthropic.com に直接つなぐ場合はどれも効かないので、ゲートウェイ経由で `/effort` が使えないときの直し方にはなりません。

レベル名を打ち間違えたときは、起動時に次の警告が出て、モデルの既定値で始まります。実測では `--effort banana` で起動し、Opus 5.5 の既定値 `medium` が送られました。

```text
Warning: Unknown --effort value 'banana' — ignoring it and using the default effort. Valid values: low, medium, high, xhigh, max.
```

設定ファイルについての実測は、ユーザー設定（`~/.claude/settings.json` に相当する場所）だけを使ったものです。プロジェクト設定や管理設定の行は、[Claude Code の設定リファレンス](https://code.claude.com/docs/ja/settings-reference)の記載に基づいています。

## effort の auto とは：`/effort auto` と環境変数の auto は別の動き

「auto」と名の付く操作は2つあり、結果が違います。`/effort auto` は使用中のモデルについて保存したレベルを消すコマンドで、消した後もモデルの既定値は送られます。2026年11月2日の実測では、Opus 5.5 で `/effort auto` を実行すると `Effort level set to auto` と表示され、settings.json の `claude-opus-5-5` のエントリが空の `{}` になり、次のメッセージには `medium` が送られました。ほかのモデルのエントリやトップレベルの `effortLevel` は残ります。

一方、`CLAUDE_CODE_EFFORT_LEVEL=auto`（値は `unset` でも同じ）を export したシェルで `claude` を起動すると、Claude Code はリクエストに effort を含めません。実測でも effort の項目そのものがなくなっていました。この場合は Claude API 側の既定値が使われるので、Sonnet 5.5 では Claude Code の `medium` ではなく API の既定 `high` が適用されます。ヘッダーとフッターにはレベルが出ず、`/effort status` は `Effort level: auto` を返します。ただし `max` 未満の `maxEffortLevel` があると、Claude Code は上限まで下げた既定値を送り続け、表示は `auto (currently <レベル>)` になります。

![/effort auto は保存したレベルを消して既定の medium を送り、環境変数 CLAUDE_CODE_EFFORT_LEVEL=auto は effort 自体を送らない違いの比較](https://blog.laozhang.ai/posts/ja/claude-code-effort-level/img/effort-auto-two-kinds.webp)

## ultrathink と ultracode：effort レベルとの関係

ultrathink は1ターンだけ深く考えさせるキーワード、ultracode は作業の進め方を変える Claude Code の設定で、どちらもセッションの effort 設定そのものは書き換えません。ただし、ターミナルで打った `ultrathink` と起動フラグの `--effort ultracode` の2つは、実際に送られるレベルを変えます。

### ultrathink はそのターンだけ xhigh に上げる

プロンプトのどこかに `ultrathink` と書くと、セッションの設定を変えずに、そのターンだけ深く考えるよう求められます。ターミナルの入力欄で打った場合、v2.1.311 以降はそのターンを `xhigh` に引き上げることもでき、引き上げられるときは単語が虹色に表示されます。2026年11月2日の実測では、`medium` のセッションで `ultrathink about this and reply with OK` と送ったターンだけ `xhigh` で送られ、次の普通のターンは `medium` に戻り、フッターも `medium` のままでした。

`claude -p` で使ったときは挙動が違いました。`-p "ultrathink: reply with OK"` のリクエストは `medium` のままで、変わったのはシステム側のコンテキストに次の1行が加わったことだけです。

```text
The user included the keyword "ultrathink", requesting deeper reasoning on this turn. Reason as thoroughly as the task warrants.
```

「think hard」や「think more」はキーワードとして扱われず、普通の文として渡されます。実測でも `-p "think hard: reply with OK"` のリクエストは、文面以外は普通のプロンプトと同じでした。ターミナルで `ultrathink` が虹色にならないときは、`xhigh` 未満に設定した `CLAUDE_CODE_EFFORT_LEVEL` を外す、`maxEffortLevel` を `xhigh` 以上にする、Opus 5.5・Sonnet 5.5・Haiku 5.5・Fable 5.1 のどれかに切り替える、のいずれかを試します。Amazon Bedrock のようにターンを引き上げられない環境では、effort レベル自体を上げます。

### ultracode は effort レベルではない

`/effort` のスライダーにある Ultracode は、モデルの effort レベルではなく Claude Code の設定です。オンにすると、Claude は本格的なタスクで動的ワークフローを組み立てて進めますが、effort レベルはそのまま変わりません。切り替えは `/effort ultracode` と `/effort ultracode off`、スライダーの `Tab`、設定ファイルの `"ultracode": true` で行い、`effortLevel` や `CLAUDE_CODE_EFFORT_LEVEL` に `ultracode` は書けません。

例外は起動フラグで、`claude --effort ultracode` は ultracode をオンにすると同時に `xhigh` を設定します。2026年11月2日の実測では、Opus 5.5 には `xhigh` が送られ、`xhigh` のない Opus 4.6 では `high` が送られました。ドキュメントによれば、後者のように `xhigh` が使えない場合は ultracode がオフのまま起動します。v2.1.284 より前は、ultracode をオンにするとセッションが `xhigh` になり、別のレベルを選ぶとオフになる仕様だったため、それ以前に書かれた解説とは挙動が違います。

## maxEffortLevel で effort に上限をかける：チームとモデル単位

使える effort の上限を決めるのが `maxEffortLevel` です（v2.1.267 以降）。上限より高いレベルは、`/effort`、`/model`、`--effort`、環境変数、skill やサブエージェントの指定、モデルの既定値のどこから来ても上限のレベルで動きます。Claude Code が送信前に自分で適用するため、Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry 経由でも効きます。次の例は全モデルを `high` までに抑え、Haiku 5.5 だけ `medium` までにする設定です。

```json
{
  "maxEffortLevel": "high",
  "modelSettings": {
    "claude-haiku-5-5": {
      "maxEffortLevel": "medium"
    }
  }
}
```

複数の設定ファイルに上限があるときは最も低いものが効き、`"max"` は上限なしを意味します。チーム全体に守らせたいなら管理設定に置きます。管理設定に `effortLevel` を書いても、ユーザーが `/effort` で変えられる既定値になるだけなので、上限にはなりません。Claude Enterprise では管理者がロールごと・モデルごとに上限を設定でき（v2.1.195 以降）、`maxEffortLevel` と両方あるときは低いほうが適用されます。上限を超えるレベルは `/effort` のピッカーに表示されません。

2026年11月2日の実測では、`"maxEffortLevel": "high"` の状態で `--effort max` を付けて Opus 5.5 を起動すると `high` が送られ、stderr に次の警告が出ました。同じ上限で環境変数に `xhigh` を指定した場合も `high` に抑えられましたが、`-p` の出力に警告は出ませんでした。

```text
Effort 'max' exceeds the cap for claude-opus-5-5 set by your settings or organization; using 'high'.
```

## Claude Code の effort についてのよくある質問

### skill やサブエージェントだけ別の effort にできますか？

できます。skill やサブエージェントの markdown ファイルのフロントマターに `effort` を書くと、その skill のターンが終わるまで、またはサブエージェントが動いている間、セッションのレベルより優先されます。ただし、環境変数 `CLAUDE_CODE_EFFORT_LEVEL` が設定されているとそちらが勝ち、`maxEffortLevel` や組織の上限も引き続き効きます。2026年11月2日時点の Claude Code 公式ドキュメントの記載です。

### 「Effort 'xhigh' isn't available」と出たらどうしますか？

Opus 5 のように、思考をオフにした状態で `high` より上の effort を受け付けないモデルで出るエラーです。全文は `API Error: Effort 'xhigh' isn't available with thinking turned off on this model · run /effort high to continue, or turn thinking back on (unset MAX_THINKING_TOKENS=0)` で、表示どおり `/effort high` に下げるか、`MAX_THINKING_TOKENS=0` を外して思考を戻せば続けられます。v2.1.242 より前は `API Error: 400 output_config.effort 'xhigh' is not supported when thinking is disabled on this model.` で始まる文面でした。v2.1.251 以降は、この組み合わせを受け付けないと分かっているモデルに Claude Code が自動で `high` を送ります。Opus 5.5・Sonnet 5.5・Haiku 5.5・Fable のモデルは思考をオフにできず、`MAX_THINKING_TOKENS=0` を設定しても効果はありません（2026年11月2日時点の公式ドキュメント）。

## 参考資料

本文で参照している外部ページを、登場順に並べています。最終更新日：2026-11-02。

- [Choosing a Claude model and effort level in Claude Code](https://claude.com/blog/claude-model-and-effort-level-in-claude-code) (claude.com)
- [Claude Code のモデル設定ドキュメント](https://code.claude.com/docs/ja/model-config) (code.claude.com)
- [Claude Code の設定リファレンス](https://code.claude.com/docs/ja/settings-reference) (code.claude.com)
