【結論】claude code エラー 400の解決策 / 実行コマンド
400 Bad Requestはリクエストが無効であることを示しますが、原因が必ずコンテキスト超過とは限りません。
まず表示されたAPIメッセージを保存し、/contextで占有量を確認し、必要なら/compactを実行します。
原因が不明ならデバッグログを採取してください。
/context
/compact
/debug 400エラーが発生する操作を診断してください
具体的な手順・設定方法
同じセッションで
/contextを実行し、大きな貼り付け、MCPツール、Skills、会話履歴の比率を確認します。長文プロンプトや巨大ファイルを外し、最小の指示で再現するか試します。
画像や添付ファイルを使った直後なら、対応形式、破損、容量、枚数を見直します。
プロキシやLLMゲートウェイを利用している場合は、モデル名、ヘッダー、本文を書き換えていないか確認します。
claude --debug "api" --debug-file ./api-400.log
rg -n "400|invalid|request|context" api-400.log
実践プロンプト / 活用テクニック
修正前に、エラーを起こす最小入力を作らせます。
対象ファイルを限定し、読み込む必要のないデータはローカルスクリプトで集計させます。
400エラーの最小再現を作ってください。
プロジェクト全体は読まず、直前の要求を半分ずつ削って原因となる入力を特定してください。
結果は「再現条件」「除外できた条件」「次に試す1コマンド」に分け、ファイルは変更しないでください。
注意点・よくあるエラーと対処法
.claudeignoreは現行の公式設定ではありません。検索対象の大規模生成物は
.gitignoreへ、機密ファイルや確実に読ませたくないパスは.claude/settings.jsonのpermissions.denyへ設定します。/clearは会話を破棄するため、必要な調査結果を保存してから使います。400が短い新規セッションでも再現する場合は、コンテキスト以外の検証エラーを疑います。