Skip to content

原文(日本語)

Vertex/Bedrock上でstructured-outputsベータヘッダーが無条件に送信される問題を修正しました。

原文(英語)

Fixed structured-outputs beta header being sent unconditionally on Vertex/Bedrock

概要

Claude Code 2.1.43では、Amazon BedrockやGoogle Vertex AI経由でClaudeモデルを使用する際に、これらのプラットフォームがサポートしていない structured-outputs ベータヘッダーが自動的に送信されてしまう問題が修正されました。この修正により、Bedrock/Vertex AIユーザーはAPIエラーなしでClaude Codeを使用できるようになります。

基本的な使い方

この修正は自動的に適用され、BedrockまたはVertex AI経由でClaude Codeを使用する際に特別な設定は不要です。

bash
# Amazon Bedrock経由でClaude Codeを使用
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_PROFILE=my-bedrock-profile
claude

# Google Vertex AI経由でClaude Codeを使用
export CLAUDE_CODE_USE_VERTEX=1
export GOOGLE_CLOUD_PROJECT=my-project
claude

実践例

修正前のエラー(2.1.42以前)

以前のバージョンでは、BedrockまたはVertex AI経由でClaude Codeを使用すると、以下のようなエラーが発生していました:

bash
# Amazon Bedrockでのエラー例
API Error: Invalid beta flag
Request included unsupported beta header: anthropic-beta: structured-outputs-2025-01-15

# Google Vertex AIでのエラー例
Error: Unexpected beta header values
The following beta headers are not supported: tmp-preserve-thinking-2025-10-01

修正後の動作(2.1.43以降)

現在は、Claude Codeがプラットフォームごとにサポートされているヘッダーのみを送信します:

bash
# Amazon Bedrock経由で正常に動作
$ export CLAUDE_CODE_USE_BEDROCK=1
$ claude "Explain the structured outputs feature"

# エラーなしで応答を取得
Response: Structured outputs allow you to...

Amazon Bedrockでの設定例

~/.claude/settings.json でBedrockを設定する場合:

json
{
  "env": {
    "AWS_PROFILE": "my-bedrock-profile",
    "AWS_REGION": "us-west-2",
    "CLAUDE_CODE_USE_BEDROCK": "1"
  }
}

2.1.43以降では、この設定でベータヘッダーの互換性問題が発生しません。

Google Vertex AIでの設定例

Vertex AI経由でClaude Codeを使用する場合:

json
{
  "env": {
    "GOOGLE_CLOUD_PROJECT": "my-gcp-project",
    "GOOGLE_CLOUD_REGION": "us-central1",
    "CLAUDE_CODE_USE_VERTEX": "1"
  }
}

Structured Outputsの利用可能性

Structured Outputs機能は以下のプラットフォームで利用可能です:

  • Claude API(直接): すべてのベータ機能をサポート
  • Amazon Bedrock: Structured Outputsは一般提供(GA)として利用可能
    • Claude Opus 4.6
    • Claude Sonnet 4.5
    • Claude Opus 4.5
    • Claude Haiku 4.5
  • Google Vertex AI: 基本的なStructured Outputsをサポート
  • Microsoft Foundry: パブリックベータとして利用可能

マルチプラットフォーム環境での利用

複数のプラットフォームを使い分ける場合:

bash
# 直接Claude APIを使用(全ベータ機能が利用可能)
claude "Generate structured JSON output"

# BedrockでStructured Outputsを使用(GAとして利用可能)
export CLAUDE_CODE_USE_BEDROCK=1
claude "Generate structured JSON output"

# どちらも正常に動作します

注意点

  • プラットフォームごとのベータ機能サポート: 各プラットフォームがサポートするベータ機能は異なります
  • 最新のベータヘッダー: tmp-preserve-thinking-2025-10-01 などの一部のベータヘッダーは、Bedrock/Vertex AIではサポートされていません
  • Structured Outputsの利用: Amazon BedrockではStructured Outputsが一般提供されているため、ベータヘッダーなしで利用できます
  • エラーログの確認: ベータ機能のエラーが発生した場合は、使用しているプラットフォームで該当機能がサポートされているか確認してください

関連情報