Claude Code claude -p Claude Code エラー対処 トークン上限 バージョン更新 ヘッドレス実行 出力トークン 応答分割

「response exceeded the 32000 output token maximum」が示すのは、1回の応答が長すぎるということ

このエラーは、Claudeが1回の応答で生成しようとした出力が上限の32000トークンを超えたという意味です。出力トークンはモデルが一度の返答で吐き出す文字量の単位で、要するに「一度に返そうとした答えが長すぎた」状態を指します。まず試すべきは、答えを一気に出させず分割させることです。

コードやプロジェクト設定、ストック挙動は原因ではない

先に疑いを一つ消しておきます。このエラーの名前は出力トークンの上限超過を指しており、引き金になりやすいのはモデルの返答量です。そのため、あなたのコードやプロジェクト設定、EC-CUBEやLaravelといった対象の作り込みを見直しても直らないことが多く、まずは返答量を疑うのが近道です。

大きなファイルを丸ごと書き換えさせたり、長大な一覧を一度に生成させたりすると起きやすくなります。

まず効く対処 — 出力を分割し、最新版に更新する

コストの低い順に手を付けます。

  • 返答量を区切る指示を出す:「ファイル全体ではなく関数単位で」「まず設計だけ、実装は次のターンで」のように、1回の出力を小さくさせる。
  • Claude Code本体を最新へ更新する:2.1.219で、claude -p実行中にmid-streamのAPIエラーでターンが落ち、生成済みの応答が破棄される不具合が修正されています。これが32000トークン超過による破棄と同一の対策かは資料からは確認できませんが、ヘッドレス実行での応答喪失に関わる修正です。claude --versionで版を確認し、古ければ更新してから再実行してください。

出力量に効く環境変数としてCLAUDE_CODE_MAX_OUTPUT_TOKENSもありますが、これに頼るより返答量そのものを減らすほうが確実です。

claude -p のヘッドレス実行では応答が丸ごと失われる — 保存されない落とし穴と確認方法

対話画面を使わずコマンドで一括実行するclaude -p(ヘッドレス実行)では、この上限超過がとりわけ厄介です。最終ターンの出力が上限を超えると、そこまで生成できていた内容も含めて応答が丸ごと破棄され、途中経過もチェックポイントも残らず、--resumeでの再開もできない——公開の不具合報告(#69434)ではこうした挙動が報告されています。長い成果物をヘッドレスで一発生成させる運用は、これに直撃します。

確認は簡単です。同じ指示を通常の対話モードで出し直せば、少なくとも画面には途中まで出た内容が残ります。ここに何も残らないのがヘッドレス特有の落とし穴です。長い生成をバッチで回す前に、更新確認を済ませ、生成を複数ターンへ割ってから実行してください。