mirror of
https://github.com/Gitlawb/openclaude.git
synced 2026-06-01 15:27:41 +00:00
When a user runs openclaude with a third-party provider, project-scope MCP servers added via `openclaude mcp add -s project ...` were silently dropped from `/mcp` and `openclaude mcp list`. Re-adding the same server printed "MCP server already exists in .mcp.json" but the server never actually loaded. Reporter @gbmerrall pinpointed the cause to the `if (usesAnthropicSetup)` gate around `handleMcpjsonServerApprovals` in src/interactiveHelpers.tsx. The MCP approval dialog and the CLAUDE.md external-includes warning are about workspace trust, not about Anthropic auth. Gating them on `usesAnthropicSetup` meant 3P-provider users never saw the dialog that writes `enableAllProjectMcpServers: true` and `enabledMcpjsonServers: [...]` to settings.local.json — without those settings, the MCP server isn't loaded for use. Drop the `usesAnthropicSetup` gate around the approval flow. The inner logic is unchanged and `handleMcpjsonServerApprovals` already early-returns when no servers are pending, so users without project `.mcp.json` see no new behavior. - src/interactiveHelpers.tsx: drop the gate, add a comment explaining why (and cite #696 so future readers can find context). - src/__tests__/bugfixes.test.ts: +2 regression tests asserting the gate is gone and the issue is referenced. Verified locally on Linux: build passes (v0.7.0), 1634 tests pass, the 4 remaining failures (StartupScreen.test.ts, thinking.test.ts) reproduce on main and are unrelated. The bundled dist/cli.mjs shows `handleMcpjsonServerApprovals(root2)` running directly after `setSessionTrustAccepted(true)` with no auth gate.