【結論】claude code apiエラー 400の解決策 / 実行コマンド
API 400が連発しても、すべてがコンテキスト上限とは限りません。
表示がPrompt is too longやコンテキスト関連なら、/contextで内訳を確認して/compactを実行します。
一般的なvalidation errorなら、最小入力とデバッグログで無効な要素を探します。
/context
/compact
claude --debug "api" --debug-file ./api-400.log
具体的な手順・設定方法
/contextで会話、MCPツール、Skills、CLAUDE.md、添付データの比率を確認します。1件の巨大貼り付けで埋まった場合は圧縮できないことがあるため、新規セッションで必要部分だけ渡します。
検索対象外にしたい生成物は
.gitignoreへ、読取禁止にするファイルはpermissions.denyへ設定します。同じ400が短い入力でも出る場合は、画像、モデル名、プロキシ変換、MCPレスポンスを一つずつ外します。
mkdir -p .claude
cat > .claude/settings.json <<'JSON'
{
"permissions": {
"deny": ["Read(./secrets/**)", "Read(./large-data/**)"]
}
}
JSON
実践プロンプト / 活用テクニック
大量データはClaudeへ全文を渡さず、ローカルコマンドで要約してから必要部分だけ分析させます。
コンテキスト削減後も再現するかを明示的に確認します。
large-data/events.jsonを直接読まないでください。
まずjqで件数、キー一覧、エラー種別ごとの集計だけを作成し、その集計結果を基に異常傾向を説明してください。
400が出た場合は入力サイズ以外の原因候補も記録してください。
注意点・よくあるエラーと対処法
.claudeignoreという設定を前提にしません。.gitignoreは検索挙動へ影響しますが、機密情報の強制遮断にはpermissions.denyを使います。/compactは会話を要約するため、細かな決定事項が失われる可能性があります。作業の要件や決定を
CLAUDE.mdやタスク文書へ残してから圧縮します。