Subagent launch fails with 'Tool names must be unique' when MCP server is configured

Resolved 💬 2 comments Opened Oct 31, 2025 by maltakoji Closed Oct 31, 2025

問題の概要

MCP サーバー(特に chrome-devtools)が設定されている状態で、任意のサブエージェント(Task tool)を起動しようとすると、以下のエラーが発生してサブエージェントが起動できません。

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

環境情報

  • Claude Code バージョン: 2.0.30
  • OS: macOS (Darwin 24.6.0)
  • 設定している MCP サーバー: chrome-devtools, filesystem

再現手順

  1. claude_desktop_config.json に MCP サーバーを設定(例: chrome-devtools)

``json
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["chrome-devtools-mcp@latest"]
}
}
}
``

  1. Claude Code を起動
  1. 任意のサブエージェントを起動しようとする

``
Task tool with subagent_type: rspec-runner, lint-fixer, code-reviewer など
``

  1. エラーが発生

期待される動作

MCP サーバーが設定されていても、サブエージェントが正常に起動できるべき

実際の動作

「Tool names must be unique」エラーでサブエージェントの起動に失敗する

原因の推測

MCP サーバーが提供するツール(例: mcp__chrome-devtools__*)と、サブエージェント起動時のツール定義が重複しているため、ツール名の衝突が発生していると思われます。

回避策

現時点では、MCP サーバーを無効化することでサブエージェントを使用可能になることを確認しています。

関連 Issue

  • #703 - Slash Command と MCP Server の衝突問題(v0.2.64 で修正済み)
  • 本件は類似の問題がサブエージェントでも発生しているケースと思われます

影響範囲

すべてのサブエージェントタイプ(rspec-runner, lint-fixer, code-reviewer, chrome-devtools, temporary-script-runner など)で同様のエラーが発生します。

View original on GitHub ↗

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