Desktop app (Code tab): MCP connector tool list stays stale in existing and chip-spawned sessions after the server adds a tool; connector off/on does not refresh it
Status Open
Reported on v2.1.289
Maintainer reply None cached
Workaround ✓ Mentioned in description ↑
Activity 1 comment · opened Oct 7, 2026
Environment
- Claude desktop app 2.19675.1, Code tab (local CCD sessions)
- Claude Code 2.1.289
- macOS 15.7.9
- Connector: a claude.ai custom connector (remote HTTP MCP server with OAuth), enabled for the session via the Connectors menu. Its tools appear as deferred tools named
mcp__<connector-uuid>__<tool>and are loaded with ToolSearch.
What happened
- Server side: at 11:21Z on 2026-10-06 the MCP server deployed a new tool (
create_temporary_api_key), registered unconditionally withserver.registerTool(...)alongside the existing 21 tools.tools/liston the live server returns 22. - Session A (started 2026-10-05, before the deploy):
session_connectors_statusreports the connectorconnectedwithtool_count: 21.ToolSearch "select:mcp__<uuid>__create_temporary_api_key"finds nothing. Callingset_session_connector_enabledwithenabled: falsethenenabled: true(applied at turn end, as the tool describes) and checking on the next turn: still 21.reconnect_session_connectorrefuses because the status isconnected, notfailed. - Session B (a chip-task session spawned from Session A about 13 hours after the deploy, in its own worktree): also
tool_count: 21; the same off/on toggle leaves it at 21 on the following turn. - Session C (a brand-new session started from the sidebar about 16 hours after the deploy):
tool_count: 22, the new tool resolves and its schema loads.
Expected
- A newly started session, including a chip-task child, should call
tools/liston the connector and get its current tools. Session B was started 13 hours after the server changed and still received the old list, so the spawned session appears to inherit the parent's cached tool list. - Turning the connector off and on for a session should re-fetch the tool list; the tool's description says the connector is re-dialed and its tools are available from the next turn, but the count did not change.
reconnect_session_connectorcould allow re-dialing aconnectedserver, or a "refresh tools" action could exist.- Ideally live sessions would honor
notifications/tools/list_changed.
Impact
Agents in long-lived or spawned sessions conclude a tool "does not exist" when it has shipped. Here the agent could not use a feature deployed that morning, tried both documented refresh paths, and the work had to be handed to a manually created session. The spawned-session case is the surprising one, since a chip task is presented as a fresh session.
Minimal repro
- Enable a remote MCP connector in a Code-tab session; note
tool_countfromsession_connectors_status. - Add a tool on the server (unconditional registration; confirm
tools/listreturns the new count). - In the existing session, toggle the connector off and on with
set_session_connector_enabled; next turn,tool_countis unchanged. - Spawn a chip task from that session; in the child,
tool_countis also unchanged. - Start a new session from the sidebar;
tool_countmatches the server.
Workaround
Start a new top-level session from the sidebar and hand the work to it, or reconnect the connector in claude.ai Settings → Connectors.
🤖 Generated with Claude Code
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗