docs/design/2026-07-22-daemon-mcp-force-reconnect.md
POST /workspace/mcp/reload reloads persisted settings but reconciles MCP
connections incrementally. A server whose settings are unchanged retains its
existing transport. OAuth credentials written by another Qwen Code process are
therefore not read until that transport reconnects.
Add optional forceReconnectAll and forceReconnectWhich fields to both
workspace MCP reload routes and their SDK/ACP bridge methods.
forceReconnectAll defaults to false; forceReconnectWhich selects named
servers. The fields are mutually exclusive.
When either reconnect option is supplied, the daemon first performs the normal
settings reconciliation. It then reconnects every configured MCP server across
the workspace, or only the names selected by forceReconnectWhich:
This deliberately does not initiate OAuth. It only causes a new connection, which reads the credentials currently persisted by the daemon's token storage.
POST /workspace/mcp/reload and
POST /workspaces/:workspace/mcp/reload accept:
{ "forceReconnectAll": true }
forceReconnectWhich accepts an array of non-empty server names. Invalid
values return 400.
The response remains 202 { "accepted": true } because the work is queued.
true forwarding, and invalid input.