Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 25 additions & 32 deletions integrations/libraries/claude-code-bedrock.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,13 @@ Edit `~/.claude/settings.json` (user-level) or `.claude/settings.json` (project-
```json
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.portkey.ai",
"ANTHROPIC_AUTH_TOKEN": "YOUR_PORTKEY_API_KEY",
"ANTHROPIC_BEDROCK_BASE_URL": "https://api.portkey.ai/v1",
"ANTHROPIC_CUSTOM_HEADERS": "x-portkey-api-key: YOUR_PORTKEY_API_KEY\nx-portkey-provider: @bedrock-prod",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "us.anthropic.claude-sonnet-4-20250514-v1:0",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "us.anthropic.claude-opus-4-20250514-v1:0",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "us.anthropic.claude-haiku-4-20250514-v1:0"
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "us.anthropic.claude-haiku-4-20250514-v1:0",
"CLAUDE_CODE_USE_BEDROCK": 1,
"CLAUDE_CODE_SKIP_BEDROCK_AUTH": 1
},
"model": "us.anthropic.claude-sonnet-4-20250514-v1:0"
}
Expand Down Expand Up @@ -98,9 +99,10 @@ Add the config to your settings:
```json
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.portkey.ai",
"ANTHROPIC_AUTH_TOKEN": "YOUR_PORTKEY_API_KEY",
"ANTHROPIC_CUSTOM_HEADERS": "x-portkey-api-key: YOUR_PORTKEY_API_KEY\nx-portkey-config: YOUR_CONFIG_ID"
"ANTHROPIC_BEDROCK_BASE_URL": "https://api.portkey.ai/v1",
"ANTHROPIC_CUSTOM_HEADERS": "x-portkey-api-key: YOUR_PORTKEY_API_KEY\nx-portkey-config: YOUR_CONFIG_ID",
"CLAUDE_CODE_USE_BEDROCK": 1,
"CLAUDE_CODE_SKIP_BEDROCK_AUTH": 1
}
}
```
Expand All @@ -114,9 +116,10 @@ Add trace IDs to group and debug requests in the Portkey Dashboard:
```json
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.portkey.ai",
"ANTHROPIC_AUTH_TOKEN": "YOUR_PORTKEY_API_KEY",
"ANTHROPIC_CUSTOM_HEADERS": "x-portkey-api-key: YOUR_PORTKEY_API_KEY\nx-portkey-provider: @bedrock-prod\nx-portkey-trace-id: claude-code-session-123"
"ANTHROPIC_BEDROCK_BASE_URL": "https://api.portkey.ai/v1",
"ANTHROPIC_CUSTOM_HEADERS": "x-portkey-api-key: YOUR_PORTKEY_API_KEY\nx-portkey-provider: @bedrock-prod\nx-portkey-trace-id: claude-code-session-123",
"CLAUDE_CODE_USE_BEDROCK": 1,
"CLAUDE_CODE_SKIP_BEDROCK_AUTH": 1
}
}
```
Expand Down Expand Up @@ -202,43 +205,32 @@ Budget limits prevent runaway costs from agentic coding sessions.

## Troubleshooting

### Error: `API Error: 500 Message: fetch failed`
### Error: `invalid beta flag`

**Cause:** Using the wrong base URL or environment variables.
**Cause:** Missing required environment variables for Bedrock mode.

**Fix:** Ensure you're using:
- `ANTHROPIC_BASE_URL` (not `ANTHROPIC_BEDROCK_BASE_URL`)
- `https://api.portkey.ai` (not `https://api.portkey.ai/v1`)
**Fix:** Ensure you have all required environment variables set:

❌ **Wrong:**
```json
{
"env": {
"ANTHROPIC_BEDROCK_BASE_URL": "https://api.portkey.ai/v1",
"CLAUDE_CODE_USE_BEDROCK": "1"
"ANTHROPIC_CUSTOM_HEADERS": "x-portkey-api-key: YOUR_PORTKEY_API_KEY\nx-portkey-provider: @bedrock-prod",
"CLAUDE_CODE_USE_BEDROCK": 1,
"CLAUDE_CODE_SKIP_BEDROCK_AUTH": 1
}
}
```

✅ **Correct:**
```json
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.portkey.ai",
"ANTHROPIC_AUTH_TOKEN": "YOUR_PORTKEY_API_KEY",
"ANTHROPIC_CUSTOM_HEADERS": "x-portkey-api-key: YOUR_PORTKEY_API_KEY\nx-portkey-provider: @bedrock-prod"
}
}
```
Both `CLAUDE_CODE_USE_BEDROCK` and `CLAUDE_CODE_SKIP_BEDROCK_AUTH` are required when using Portkey with Bedrock.

### Lightning Symbol (⚡) in Logs

**Cause:** Requests are going through as passthrough, meaning Portkey isn't handling them properly.

**Fix:**
1. Remove `/v1` from the base URL — use `https://api.portkey.ai`
2. Ensure `x-portkey-provider` or `x-portkey-config` is set in headers
3. Verify your Portkey API key is correct
1. Ensure `x-portkey-provider` or `x-portkey-config` is set in headers
2. Verify your Portkey API key is correct

### Claude Code Version Issues

Expand All @@ -261,12 +253,13 @@ Full configuration with all features enabled:
```json
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.portkey.ai",
"ANTHROPIC_AUTH_TOKEN": "YOUR_PORTKEY_API_KEY",
"ANTHROPIC_BEDROCK_BASE_URL": "https://api.portkey.ai/v1",
"ANTHROPIC_CUSTOM_HEADERS": "x-portkey-api-key: YOUR_PORTKEY_API_KEY\nx-portkey-config: YOUR_CONFIG_ID\nx-portkey-trace-id: my-project",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "us.anthropic.claude-sonnet-4-20250514-v1:0",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "us.anthropic.claude-opus-4-20250514-v1:0",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "us.anthropic.claude-haiku-4-20250514-v1:0"
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "us.anthropic.claude-haiku-4-20250514-v1:0",
"CLAUDE_CODE_USE_BEDROCK": 1,
"CLAUDE_CODE_SKIP_BEDROCK_AUTH": 1
},
"model": "us.anthropic.claude-sonnet-4-20250514-v1:0"
}
Expand Down