原文(日本語に翻訳)
認識されていない400ステータスコードのAPIエラーが、生のJSONではなく基底のエラーメッセージを表示するように修正されました。
原文(英語)
Fixed API errors with unrecognized 400 status codes showing raw JSON instead of the underlying error message
概要
Claude Code が認識していない400番台のHTTPステータスコードを受け取った際に、生のJSONレスポンスがそのまま表示されてしまう問題が修正されました。修正後は、JSONから適切なエラーメッセージが抽出されて表示されるため、ユーザーはエラーの原因をより簡単に理解できるようになります。
基本的な使い方
この修正は自動的に適用されます。400番台のエラーが発生した場合、以前は以下のような表示でした。
修正前(問題のある表示):
エラー: {"error":{"type":"invalid_request_error","message":"Request too large for claude-opus-4-5 in organization org_xxx. limit: 200000, request: 350000, current: 0. Contact support@anthropic.com to enable higher limits."}}修正後(改善された表示):
エラー: Request too large for claude-opus-4-5 in organization org_xxx. limit: 200000, request: 350000, current: 0. Contact support@anthropic.com to enable higher limits.実践例
リクエストが大きすぎる場合のエラー表示
大きなファイルや長いコンテキストを送信した際のエラーが読みやすくなります。
bash
# 大きなファイルを処理しようとした場合
claude "このファイルの内容を分析してください" --file large-codebase.txt
# 修正前: 生のJSONが表示される
# {"error":{"type":"invalid_request_error","message":"..."}}
# 修正後: エラーメッセージのみが表示される
# エラー: Request too large. ファイルを分割して処理してください。カスタムゲートウェイのエラー表示
カスタムゲートウェイが返す独自の400エラーも適切に表示されます。
bash
# カスタムゲートウェイ経由での利用時
export ANTHROPIC_BASE_URL=https://your-gateway.example.com
claude "タスクを実行してください"
# ゲートウェイが返す独自エラーも読みやすく表示される
# エラー: Rate limit exceeded. Please retry after 60 seconds.エラーメッセージを使ったトラブルシューティング
読みやすいエラーメッセージにより、問題の特定が容易になります。
bash
# エラーログの確認
claude --debug "処理を実行" 2>&1 | grep "エラー\|Error"
# 修正後はエラーの原因が明確なため、対処法を素早く判断できる
# 例: "Context length exceeded" → ファイルを分割
# 例: "Invalid API key" → 認証情報を確認注意点
- この修正は主に開発者やカスタムゲートウェイを利用するユーザーに恩恵があります。
- 認識されていた400エラー(401、403など)の表示方法は変更されていません。
- ゲートウェイが返すエラーのJSON構造によっては、メッセージの抽出が完全でない場合があります。
- デバッグ情報が必要な場合は
--debugフラグを使用することで、詳細なレスポンスを確認できます。