[Bug] Anthropic API Error: Duplicate tool names when using sub-agents

Status Closed — duplicate
Maintainer reply None cached
Activity 11 comments · opened Oct 31, 2025 · closed Oct 31, 2025

Bug Description
Attempt to use sub agents Claude created leads to 400 api errors:
[ERROR] Error streaming, falling back to non-streaming mode: 400 {"type":"error","error":{"type":"invalid_request_error","message":"tools: Tool names must be unique."},"request_id":"req_011CUeKuQiQCVZgzjLsAf6ji"}
[ERROR] Error streaming, falling back to non-streaming mode: 400 {"type":"error","error":{"type":"invalid_request_error","message":"tools: Tool names must be unique."},"request_id":"req_011CUeKuRYWdmZUZBeKvde1Y"}
[ERROR] Error in non-streaming fallback: 400 {"type":"error","error":{"type":"invalid_request_error","message":"tools: Tool names must be unique."},"request_id":"req_011CUeKuS9UNQb53fNPfRbeM"}

Only 5 of my agents, not sure whats going on. I don't have Cline installed.

Environment Info

  • Platform: darwin
  • Terminal: cursor
  • Version: 2.0.30
  • Feedback ID: 3b11a747-a59f-4181-adc5-172575bcef12

Errors

[{"error":"Error: 400 {\"type\":\"error\",\"error\":{\"type\":\"invalid_request_error\",\"message\":\"tools: Tool names must be unique.\"},\"request_id\":\"req_011CUeKuS9UNQb53fNPfRbeM\"}\n    at M4.generate (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:204:83066)\n    at Jk.makeStatusError (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:358:2117)\n    at Jk.makeRequest (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:358:5330)\n    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n    at async Gd2.geA.model (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3389:14755)\n    at async geA (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:2741:39781)\n    at async Gd2 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3389:14909)\n    at async file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3389:8646\n    at async _e1 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3389:1970)\n    at async j8A (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3389:8616)","timestamp":"2025-10-31T00:26:14.465Z"},{"error":"Error: 400 {\"type\":\"error\",\"error\":{\"type\":\"invalid_request_error\",\"message\":\"tools: Tool names must be unique.\"},\"request_id\":\"req_011CUeKuSVZNYWQGZaUZcyhZ\"}\n    at M4.generate (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:204:83066)\n    at Jk.makeStatusError (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:358:2117)\n    at Jk.makeRequest (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:358:5330)\n    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n    at async Gd2.geA.model (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3389:14755)\n    at async geA (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:2741:39781)\n    at async Gd2 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3389:14909)\n    at async file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3389:8646\n    at async _e1 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3389:1970)\n    at async j8A (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3389:8616)","timestamp":"2025-10-31T00:26:14.577Z"},{"error":"Error: 400 {\"type\":\"error\",\"error\":{\"type\":\"invalid_request_error\",\"message\":\"tools: Tool names must be unique.\"},\"request_id\":\"req_011CUeKuvLNQmUE2GwusjuYS\"}\n    at M4.generate (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:204:83066)\n    at Jk.makeStatusError (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:358:2117)\n    at Jk.makeRequest (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:358:5330)\n    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n    at async Gd2.geA.model (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3389:14755)\n    at async geA (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:2741:39781)\n    at async Gd2 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3389:14909)\n    at async file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3389:8646\n    at async _e1 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3389:1970)\n    at async j8A (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:3389:8616)","timestamp":"2025-10-31T00:26:21.062Z"},{"error":"Error: Request was aborted.\n    at Jk.makeRequest (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:358:3850)\n    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)"

Note: Error logs were truncated.

View original on GitHub ↗

11 Comments

t-e-lawrence · 10 months ago

exact same thing is happening to me as well. Platform: linux, terminal: kitty in tmux, version 2.0.30
Response:
API Error: 400
{"type":"error","error":{"type":"invalid_request_error","message":"tools: Tool
names must be unique."},"request_id":"req_011CUeS1KDNfZcG4Po2YLXBa"}

github-actions[bot] · 10 months ago

Found 1 possible duplicate issue:

  1. https://github.com/anthropics/claude-code/issues/10668

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

ariccio · 10 months ago

Dingdingding, I'm hitting it too. Feedback ID: 815421a5-d203-4745-9fad-a0d621fa0cc2

kylesnowschwartz · 10 months ago
yinkev · 10 months ago

I gfet the same error

abazabaaa · 10 months ago

Upvote. Getting this same bug with all subagents. Can't start any of them. This also occurred on my gcp vertex CC at work and my home max account. They spawn, show 0 tokens and tool uses and claude just says unique tool issue stop it.

hang333 · 10 months ago

Upvote. It only happens on version 2.0.30 for me.
Version 2.0.28 no problem.

sickfar · 10 months ago

Same for me. MacOS, worked fine on 2.0.29, broken on 2.0.30

rlorca · 10 months ago

Same, started after update to 2.0.30

rhnvrm · 10 months ago

Facing the same issue.

Downgrading using

npm install -g @anthropic-ai/claude-code@v2.0.29

(but that auto updates ^ so using this one below)

npx @anthropic-ai/claude-code@2.0.29

fixed the issue.

github-actions[bot] · 9 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.