[BUG] VS code Claude Code extension fails - Bedrock API Compatibility Issue - `eager_input_streaming` Parameter
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Environment
- Extension Version: 2.1.72 (win32-x64)
- VS Code Version: [Your VS Code version]
- OS: Windows 11
- API Provider: AWS Bedrock
- Model:
us.anthropic.claude-sonnet-4-5-20250929-v1:0 - Region: us-east-1
Configuration
{
"claudeCode.selectedModel": "us.anthropic.claude-sonnet-4-5-20250929-v1:0",
"claudeCode.environmentVariables": [
{"name": "AWS_PROFILE", "value": "ctsandbox"},
{"name": "AWS_REGION", "value": "us-east-1"},
{"name": "CLAUDE_CODE_USE_BEDROCK", "value": "1"}
]
}
Problem Description
When using Claude Code extension with AWS Bedrock as the API provider, all requests fail with a 400 error indicating that the eager_input_streaming parameter is not permitted by the Bedrock API.
Error Message
API Error: 400 tools.0.custom.eager_input_streaming: Extra inputs are not permitted
Steps to Reproduce
- Configure Claude Code extension to use AWS Bedrock API (set
CLAUDE_CODE_USE_BEDROCK=1) - Set up AWS credentials with a valid profile
- Attempt to start any conversation or send any prompt through the VS Code extension
- Request fails immediately with the error above
Expected Behavior
The extension should successfully communicate with AWS Bedrock API, similar to how the CLI version (claude command in terminal) works.
Actual Behavior
All API requests fail with 400 error because the extension is sending tools.0.custom.eager_input_streaming parameter which is not supported by AWS Bedrock's implementation of Claude API.
Root Cause Analysis
The eager_input_streaming parameter appears to be specific to Anthropic's native API and is not implemented in AWS Bedrock's API interface. The extension's binary (claude.exe) is hardcoding this parameter in tool configurations, causing incompatibility with Bedrock.
Workaround
The CLI version of Claude Code works correctly with Bedrock:
export AWS_PROFILE=ctsandbox
export AWS_REGION=us-east-1
export CLAUDE_CODE_USE_BEDROCK=1
claude -p "your prompt here"
This confirms the issue is isolated to the VS Code extension implementation.
Request
Please add conditional logic to exclude eager_input_streaming parameter when using AWS Bedrock as the API provider, or make this parameter optional/configurable.
Additional Context
- The CLI version (
claudecommand) works perfectly with Bedrock, confirming the credentials and setup are correct - The issue affects all operations through the VS Code extension when using Bedrock
- Located the issue in:
resources/native-binary/claude.exe(binary file)
Suggested Fix
When CLAUDE_CODE_USE_BEDROCK environment variable is set, the extension should:
- Detect Bedrock as the API provider
- Strip out Bedrock-incompatible parameters like
eager_input_streaming - Or provide a configuration option to disable this parameter
Thank you for looking into this issue!
<img width="1388" height="934" alt="Image" src="https://github.com/user-attachments/assets/435f33a2-9f5b-4bfc-88f9-eb8d6eec08e6" />
What Should Happen?
The extension should successfully communicate with AWS Bedrock API, similar to how the CLI version (claude command in terminal) works.
Error Messages/Logs
API Error: 400 tools.0.custom.eager_input_streaming: Extra inputs are not permitted
Steps to Reproduce
Configure Claude Code extension to use AWS Bedrock API (set CLAUDE_CODE_USE_BEDROCK=1)
Set up AWS credentials with a valid profile
Attempt to start any conversation or send any prompt through the VS Code extension
Request fails immediately with the error above
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.72 (win32-x64)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗