原文(日本語に翻訳)
CLAUDE_CODE_EXTRA_BODY の output_config.effort が、effortをサポートしていないモデルへのサブエージェント呼び出しやVertex AIで400エラーを引き起こす問題を修正しました。
原文(英語)
Fixed CLAUDE_CODE_EXTRA_BODY output_config.effort causing 400 errors on subagent calls to models that don't support effort and on Vertex AI
概要
CLAUDE_CODE_EXTRA_BODY 環境変数に output_config.effort を設定した場合、その設定がeffortパラメーターをサポートしていないモデルへのサブエージェント呼び出しや、Vertex AI経由の呼び出しにも引き継がれてしまい、400エラー(Bad Request)が発生する問題がありました。今回の修正により、effortパラメーターは対応していないモデルやプラットフォームへの呼び出し時には自動的に除外されます。
基本的な使い方
bash
# CLAUDE_CODE_EXTRA_BODY の設定例
export CLAUDE_CODE_EXTRA_BODY='{"output_config": {"effort": "high"}}'
# 修正前: サブエージェントがeffort非対応モデルを使用する場合に400エラー
# 修正後: 対応していない場合は自動的にeffortパラメーターを除外実践例
CLAUDE_CODE_EXTRA_BODY の設定
bash
# ~/.zshrc や ~/.bashrc に設定する例
export CLAUDE_CODE_EXTRA_BODY='{"output_config": {"effort": "max"}}'
# または環境変数として一時的に設定
CLAUDE_CODE_EXTRA_BODY='{"output_config": {"effort": "high"}}' claude
# 修正後: この設定でサブエージェントを使っても400エラーが出なくなるVertex AI 経由での利用
bash
# Vertex AI を使用する環境変数の設定
export ANTHROPIC_VERTEX_PROJECT_ID="your-project-id"
export CLOUD_ML_REGION="us-east5"
# EXTRA_BODY に effort を設定してもVertex AI経由では正しくスキップされる
export CLAUDE_CODE_EXTRA_BODY='{"output_config": {"effort": "high"}}'
# 修正前: Vertex AIはeffortパラメーターをサポートしていないため400エラー
# 修正後: effortパラメーターが自動的に除外されて正常に動作サブエージェントでの動作
# メインエージェント: Claude Opus 4(effortをサポート)
# サブエージェント: Claude Haiku(effortをサポートしない場合)
# CLAUDE_CODE_EXTRA_BODY で effort を設定した場合:
# 修正前:
# - メインエージェント: effort=max で動作 ✓
# - サブエージェント: effort パラメーターによって400エラー ✗
# 修正後:
# - メインエージェント: effort=max で動作 ✓
# - サブエージェント: effortが自動除外されて正常動作 ✓エラーログの確認
bash
# 修正前に見られたエラーログ
ERROR: API Error 400 Bad Request
{
"error": {
"type": "invalid_request_error",
"message": "output_config.effort is not supported for this model"
}
}
# 修正後: このエラーは発生しなくなる
# サポートされていないパラメーターは自動的に除外される設定例と影響するプラットフォーム
bash
# effortパラメーターをサポートするプラットフォーム:
# - Anthropic API (claude.ai)
# - 対応しているモデル (Claude Opus 4 など)
# effortパラメーターが自動除外されるケース:
# - Vertex AI 経由の呼び出し
# - AWS Bedrock 経由の呼び出し(モデルによる)
# - effortをサポートしていないモデルへの呼び出し
# 設定例
export CLAUDE_CODE_EXTRA_BODY='{
"output_config": {
"effort": "high"
},
"other_config": "value"
}'
# → effortのみが非対応環境で除外され、他の設定は引き継がれる注意点
- この修正は
CLAUDE_CODE_EXTRA_BODYを使用しているユーザーにのみ影響します - effortパラメーターは自動除外されるため、非対応モデルでは「中程度のエフォート」(デフォルト)で実行されます
- Vertex AIでの
effortサポートは将来的に追加される可能性があります CLAUDE_CODE_EXTRA_BODYに設定した他のパラメーターは引き続き全ての呼び出しに適用されます- エラーが発生した場合は、Claude Codeのバージョンが v2.1.113 以上であることを確認してください