[BUG] haiku subagent delegates to 3.5

Status Closed — not planned
Maintainer reply ✓ Yes — km-anthropic
Activity 12 comments · opened Oct 16, 2025 · closed Jan 11, 2026
💡 Likely answer: A maintainer (km-anthropic, contributor) responded on this thread — see the highlighted reply below.

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?

model: haiku on subagent definition delegates to haiku-3.5, not the recent model.

What Should Happen?

delegate to haiku-4.5

Error Messages/Logs

Steps to Reproduce

define sub agent with model: haiku

Claude Model

None

Is this a regression?

No, this never worked

Last Working Version

_No response_

Claude Code Version

2.0.19

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

Non-interactive/CI environment

Additional Information

still model: claude-haiku-4-5-20251001 seems work

View original on GitHub ↗

12 Comments

github-actions[bot] · 10 months ago

Found 3 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/7251
  2. https://github.com/anthropics/claude-code/issues/8932
  3. https://github.com/anthropics/claude-code/issues/9573

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

km-anthropic contributor · 10 months ago

hi @sorryhyun, how are you checking that it's delegating to haiku 3.5? We upgrade all first party users to haiku 4.5 (whereas we haven't upgraded third party users -- AWS & GCP -- yet as they need to provision separate quota).

sorryhyun · 10 months ago

@km-anthropic oh, I've set model to haiku in github project directly by modifying .claude/agents/*.md and I met the following issue, so I thought this would be caused by delegation.

{
  "type": "assistant",
  "message": {
    "id": "b8e0d850-5658-40cc-acd5-aa4877f51e14",
    "container": null,
    "model": "<synthetic>",
    "role": "assistant",
    "stop_reason": "stop_sequence",
    "stop_sequence": "",
    "type": "message",
    "usage": {
      "input_tokens": 0,
      "output_tokens": 0,
      "cache_creation_input_tokens": 0,
      "cache_read_input_tokens": 0,
      "server_tool_use": {
        "web_search_requests": 0
      },
      "service_tier": null,
      "cache_creation": {
        "ephemeral_1h_input_tokens": 0,
        "ephemeral_5m_input_tokens": 0
      }
    },
    "content": [
      {
        "type": "text",
        "text": "API Error: 500 {\"type\":\"error\",\"error\":{\"type\":\"api_error\",\"message\":\"Internal server error\"},\"request_id\":\"req_011CU9zpfvzPGo7CF18WNa1H\"}"
      }
    ]
  },
  "parent_tool_use_id": null,
  "session_id": "685b9c4e-d238-41c7-85a5-45d5a78aad89",
  "uuid": "2ca7c1b1-2d96-40e3-ab4c-a8e310e6599a"
}
{
  "type": "result",
  "subtype": "success",
  "is_error": true,
  "duration_ms": 60590,
  "duration_api_ms": 5[1063](https://github.com/sorryhyun/DiPeO/actions/runs/18547266700/job/52867616821#step:3:1069),
  "num_turns": 27,
  "result": "API Error: 500 {\"type\":\"error\",\"error\":{\"type\":\"api_error\",\"message\":\"Internal server error\"},\"request_id\":\"req_011CU9zpfvzPGo7CF18WNa1H\"}",
  "session_id": "685b9c4e-d238-41c7-85a5-45d5a78aad89",
  "total_cost_usd": 0.16578330000000002,
  "usage": {
    "input_tokens": 411,
    "cache_creation_input_tokens": 27948,
    "cache_read_input_tokens": 96611,
    "output_tokens": 1622,
    "server_tool_use": {
      "web_search_requests": 0
    },
    "service_tier": "standard",
    "cache_creation": {
      "ephemeral_1h_input_tokens": 0,
      "ephemeral_5m_input_tokens": 27948
    }
  },
  "modelUsage": {
    "claude-3-5-haiku-20241022": {
      "inputTokens": 6245,
      "outputTokens": 359,
      "cacheReadInputTokens": 0,
      "cacheCreationInputTokens": 0,
      "webSearchRequests": 0,
      "costUSD": 0.006432,
      "contextWindow": 200000
    },
    "claude-sonnet-4-5-20250929": {
      "inputTokens": 411,
      "outputTokens": 1622,
      "cacheReadInputTokens": 96611,
      "cacheCreationInputTokens": 27948,
      "webSearchRequests": 0,
      "costUSD": 0.15935129999999997,
      "contextWindow": 200000
    }
  },
  "permission_denials": [],
  "uuid": "eb548aab-40c7-40e4-aae5-b1349e03a6ae"
}
km-anthropic contributor · 10 months ago

Could you please see if you've set ANTHROPIC_DEFAULT_HAIKU_MODEL anywhere? possibly to claude-3-5-haiku-20241022? or ANTHROPIC_SMALL_FAST_MODEL? And lastly if you can run claude --version

sorryhyun · 10 months ago

I couldnt find any env variables you mentioned and I always use the recent version.
Also, claude code sdk has the same problem, when ClaudeAgentOption(model="haiku")
@km-anthropic

km-anthropic contributor · 10 months ago

Gotcha, could you check claude --version? I think if you update it to your latest version you should be set.

clouatre · 10 months ago

Confirmation: --model haiku still defaults to Haiku 3.5

I can confirm this behavior. Testing with Claude Code 2.0.27 on Bedrock backend:

Current Behavior

Using --model haiku with the recommended Bedrock configuration:

{
  "env": {
    "CLAUDE_CODE_MAX_OUTPUT_TOKENS": "4096",
    "MAX_THINKING_TOKENS": "1024"
  },
  "alwaysThinkingEnabled": true
}

Results in:

claude --model haiku -p "what model are you using?"

Error:

API Error: 400 'claude-3-5-haiku-20241022' does not support thinking.

The haiku alias resolves to Haiku 3.5 (October 2024), which doesn't support thinking - causing errors with the recommended configuration from the documentation.

Workaround

As documented at https://docs.claude.com/en/docs/claude-code/amazon-bedrock#4-model-configuration, set the environment variable:

{
  "env": {
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "us.anthropic.claude-haiku-4-5-20251001-v1:0"
  }
}

This successfully resolves to Haiku 4.5.

Question

While the documentation correctly states this variable must be set manually, why does the haiku alias still default to a year-old model (3.5) that's incompatible with the recommended configuration?

Given that:

  • Haiku 4.5 has been available since October 2025
  • Haiku 3.5 doesn't support thinking (breaking the recommended MAX_THINKING_TOKENS setting)
  • Other aliases like sonnet point to the latest version (4.5)

Shouldn't the haiku alias be updated to point to 4.5 by default now, with users explicitly opting into 3.5 if needed?

kazuya-iwami · 10 months ago

I also confirmed out-of-date haiku alias with Claude Code (v2.0.27) on Bedrock. Regarding quota provisioning, my understanding is that Bedrock's Haiku 4.5 quota is adjusted to their past Haiku 3.5 usage, so this shouldn't be a blocking factor for updating the default mapping. I hope the default can be changed to Haiku 4.5 for Bedrock users soon.

km-anthropic contributor · 10 months ago

Yeah the current default is set to 3.5 for 3p (Bedrock + GCP) because we don't want to cause errors due to quota provisioning. The simplest fix right now would be to set ANTHROPIC_DEFAULT_HAIKU_MODEL=anthropic.claude-haiku-4-5-20251001-v1:0 in your environment variables if you're confident you have quota.

github-actions[bot] · 8 months ago

This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.

github-actions[bot] · 7 months ago

This issue has been automatically closed due to 60 days of inactivity. If you're still experiencing this issue, please open a new issue with updated information.

github-actions[bot] · 7 months ago

This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.