Task tool model:'opus' resolves to stale claude-opus-4-1 on Bedrock EU region
Bug Description
When spawning subagents via the Task tool with model: "opus", the model alias resolves to eu.anthropic.claude-opus-4-1-20250805-v1:0 instead of the current claude-opus-4-6 model. This causes a 400 API error on AWS Bedrock in the EU region, as that model identifier is invalid/unavailable.
Environment
- Claude Code version: Latest (as of 2026-02-28)
- Backend: AWS Bedrock (
CLAUDE_CODE_USE_BEDROCK=1) - Region:
eu-west-1 - Parent session model:
eu.anthropic.claude-opus-4-6-v1(set via/modelandsettings.json) - OS: macOS (Darwin 25.3.0)
Steps to Reproduce
- Configure Claude Code to use Bedrock in EU region
- Set model to
eu.anthropic.claude-opus-4-6-v1via/model - Spawn a subagent using the Task tool with
model: "opus":
````
Task({
subagent_type: "general-purpose",
model: "opus",
prompt: "Do something",
run_in_background: true
})
- The subagent fails immediately with:
````
API Error (eu.anthropic.claude-opus-4-1-20250805-v1:0): 400 The provided model identifier is invalid.
Run /model to pick a different model.
Expected Behavior
model: "opus" should resolve to the same model as the parent session (eu.anthropic.claude-opus-4-6-v1), or at minimum to the latest available Opus model in the configured region.
Actual Behavior
model: "opus"resolves to the staleeu.anthropic.claude-opus-4-1-20250805-v1:0identifier- The subagent cannot make any API calls and enters an infinite idle loop
- The subagent becomes unresponsive to shutdown requests (cannot be terminated gracefully)
TeamDeleteis blocked because the zombie agents remain "active"
Impact
- Subagents using
model: "opus"are completely non-functional on Bedrock EU - Zombie agents that can't be shut down block team cleanup
- No workaround exists other than avoiding
model: "opus"entirely (usingmodel: "sonnet"or omitting the parameter works fine)
Workaround
- Don't pass
model: "opus"to the Task tool - Either omit the
modelparameter (inherits parent session model) or usemodel: "sonnet"
Additional Notes
model: "sonnet"resolves correctly and works finemodel: "haiku"was not tested but may have the same issue- The
settings.jsonmodelfield is correctly set toeu.anthropic.claude-opus-4-6-v1— the issue is in the internal alias mapping for the Task tool'smodelenum, not in user configuration - The model alias table appears to be hardcoded and not configurable via settings or environment variables
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗