[Bug] Anthropic API Error: Duplicate tool names in subagent invocation

Resolved 💬 3 comments Opened Oct 31, 2025 by yusufmo1 Closed Nov 1, 2025

DESCRIPTION:
When invoking the Task tool with any subagent type (Explore, Plan, etc.), the API returns a 400 error with message "tools: Tool names must be unique." This makes it impossible to use specialized agents for code exploration or planning.

ERROR MESSAGE:
API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"tools: Tool names must be unique."},"request_id":"req_011CUfrcXHBhAYpNDur1paof"}

STEPS TO REPRODUCE:

  1. Invoke Task tool with any subagent_type parameter:
  • subagent_type: "Explore" or "Plan"
  1. Error occurs immediately on invocation

EXPECTED BEHAVIOR:
Task tool should successfully create a sub-agent and execute the requested exploration or planning task.

ACTUAL BEHAVIOR:
Request fails with "tools must be unique" error. All Task tool invocations with subagents fail.

ENVIRONMENT:

  • Platform: darwin (macOS)
  • Terminal: Cursor
  • Claude Code Version: 2.0.30
  • Feedback ID: 83622f0d-b349-423a-a664-90b7b60b5375
  • Node modules path: /Users/yusuf/.claude/local/node_modules/@anthropic-ai/claude-code/

FULL ERROR STACK TRACE:
Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"tools: Tool names must be unique."},"request_id":"req_011CUfrc1UYmrSHS8VnpNLMC"}
at M4.generate (file:///Users/yusuf/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:204:83066)
at Jk.makeStatusError (file:///Users/yusuf/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:358:2117)
at Jk.makeRequest (file:///Users/yusuf/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:358:5330)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async Gd2.geA.model (file:///Users/yusuf/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:3389:14755)
at async geA (file:///Users/yusuf/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:2741:39781)
at async Gd2 (file:///Users/yusuf/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:3389:14909)
at async file:///Users/yusuf/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:3389:8646
at async _e1 (file:///Users/yusuf/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:3389:1970)
at async j8A (file:///Users/yusuf/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:3389:8616)

IMPACT:

  • High: Completely breaks Task tool functionality with subagents
  • Affects code exploration, planning, and multi-step autonomous tasks
  • Forces users to manually orchestrate what specialized agents should handle

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗