MCP servers issues on macOS
Issues the maintainers labelled both platform:macos and area:mcp.
1,524 issues · 197 open · 1,327 resolved (87%) · first seen May 14, 2025
Is this getting better or worse?
This class of problem is converging. 341 new reports in the last 90 days vs 683 in the 90 before — -50%. The open backlog peaked at 322 in 2026-04 and sits at 197 today.
Derived by counting each matching issue from its creation date until it closed. First-party
computation over the anthropics/claude-code tracker — the trend is not published
anywhere upstream.
Which builds report this
818 of these reports name the Claude Code build they were running, spanning 172 releases. Heaviest reporters:
- Claude Code v2.1.81
- Claude Code v2.1.119
- Claude Code v2.1.87
- Claude Code v2.0.76
- Claude Code v2.1.92
- Claude Code v2.1.19
- Claude Code v2.1.126
- Claude Code v2.1.104
Report volume, not a defect count: an issue can mention a build without that build having caused the failure. Versions come from the version string in the bug-report template, matched against real published tags.
Do these get fixed?
Median time to close is 31 days across 1,327 closures. Of the 1,327 closures with a recorded reason, 27% were closed as completed and 964 as not-planned or duplicate. The most recent completed fix landed in 2026-08.
Workarounds reported by the community
530 of these issues post a workaround someone says worked. The highest-engagement ones:
- Allow hiding/removing unused cloud connectors (Gmail, Google Calendar, etc.)
- …only supports true/false globally — no per-server control. Workaround Applied Set ENABLE CLAUDEAI MCP SERVERS=false in both account settings files (~/.claude-private/settings.json and ~/.claude-neo/settings.json). This…
Found in the thread of #29368 · resolved - [BUG] Claude Code does not work with MCP servers that does not implement Dynamic Client Registration
- Did you find a workaround to this problem? I am facing the same thing.
Found in the thread of #3273 · resolved - MCP OAuth regression: client metadata document redirect_uris missing port causes auth failure for providers supporting CIMD
- …tly allow wildcards for ports in callback urls. The current workaround I've found on our end is actually patching a client/application after creation (either using a random port assigned or by using the [param]( you've p…
Found in the thread of #37747 · resolved - [BUG] plugin:github:github MCP fails with HTTP 400 — malformed JSON-RPC payload missing version tag
- …, so unset it explicitly: Add the token to in : This is the workaround @ph7jack posted, and the A/B above may explain why the shell-export half of it works for some people and not others: only the entry is guaranteed to…
Found in the thread of #64654 · still open - [Bug] Jira Authentication Fails: Persistent Reconnection and Session Issues
- …nnection immediately fails due to protocol incompatibility. Workaround: Downgrade to version 2.0.9. Then restart Claude Code. The Atlassian MCP will connect successfully. Timeline: - Version 2.0.9 (released Oct 7): Works…
Found in the thread of #9127 · resolved
Excerpts are quoted from the linked issue so you can judge relevance before opening it. Threads that only ask for a workaround, or report that there is none, are excluded. These are community suggestions, not official guidance from Anthropic — read the full thread before applying one.
Matching issues 1–100
Ranked by community engagement (reactions weighted over comments). Listing the top 300 of 1,524 matches; the statistics above cover all 1,524.
- [BUG] SDK doesn't read from .mcp.json until the CLI is ran in the current working directory
- Allow hiding/removing unused cloud connectors (Gmail, Google Calendar, etc.)
- [BUG] Claude Code does not work with MCP servers that does not implement Dynamic Client Registration
- MCP OAuth regression: client metadata document redirect_uris missing port causes auth failure for providers supporting CIMD
- [BUG] plugin:github:github MCP fails with HTTP 400 — malformed JSON-RPC payload missing version tag
- [Bug] Jira Authentication Fails: Persistent Reconnection and Session Issues
- Task agent fails with 'tools: Tool names must be unique' when parent has many MCP tools
- [BUG] Memory leak in long-running idle Claude Code sessions
- [BUG] MCP OAuth appends trailing slash to `resource` parameter, breaking Entra ID auth (AADSTS9010010)
- Telegram plugin: inbound MCP channel notifications not delivered to conversation
- [BUG] "MCP Tools Not Available in Conversation Interface Despite Successful Connection"
- Slack MCP plugin OAuth fails: redirect_uri not registered in Slack app configuration
- [BUG] Claude Code MCP client ignores scopes_supported from OAuth protected resource metadata, preventing refresh token issuance
- [BUG] 'env' vars from .claude/settings.json not passed to the plugins/mcps.
- [BUG] Environment variables from `env` section not passed to MCP servers
- [BUG] .mcp.json is not read
- [BUG] Claude Desktop MCP fails on all parameterized calls for filesystem tool — "Cannot convert undefined or null to object"
- [Bug] Anthropic API Error: Image does not match provided media type
- [BUG] env variable expansion not working in plugin .mcp.json
- [BUG] MCP servers not properly terminated when Claude Code exits, causing orphaned processes
- [BUG] slack_read_channel / slack_read_thread drop message attachments and blocks
- Claude Desktop: MCP tool calls shown in UI but never sent to server
- Notion plugin MCP server: persistent Internal Server Error after reinstall
- BUG: MCP servers fail to connect in Claude Code despite correct configuration
- [BUG] Cannot connect Remote GitHub MCP Server
- Missing Tool Implementation: closeAllDiffTabs in MCP Protocol
- MCP claude.ai Microsoft 365 connector rejects personal Microsoft accounts (Hotmail/Outlook.com/Live)
- [BUG] Telegram MCP plugin: inbound notifications/claude/channel never delivered to session (outbound works)
- [BUG] Screenshot and JavaScript tools fail with "Cannot access a chrome-extension:// URL of different extension"
- [BUG] Claude Code - Persistent Logout & Configuration Loss Bug Report
- Google Drive MCP connector not passed through to Claude Code
- [BUG] Custom plugin subagents cannot access MCP tools (built-in agents can)
- MCP servers declaring draft-07 outputSchema are entirely unusable: "unsupported dialect" rejected client-side before dispatch
- [Regression, Windows+macOS] Cross-session messaging silently broken since CCD 2.1.224+ — messages dropped, recipient sessions wedged 15-20 min (hadFirstResponse=false); fixed in 2.1.237 for some installs, stable channel still affected
- [BUG] Claude Code MCP Server OAuth authentication doesn't work in SSH remote sessions
- [BUG] Bug Report - Claude Code 2.1.27 hangs on startup
- [Bug] /compact and auto-compact fail with 'Tool names must be unique' when MCP servers are configured
- [BUG] MCP FastMCP Pydantic model parameters serialized as JSON strings causing validation errors
- [BUG] API Error 400: MCP tool names exceeding 64 character limit
- [BUG] Claude Desktop: Web session mode lacks MCP server access despite configuration
- MCP Configuration Unexpectedly Deleted From File During Auto-Update
- [BUG] Cowork — GitHub connector unusable: OAuth DCR unsupported, UI shows misleading state, Disconnect button dead
- Scheduled tasks cannot access HTTP MCP servers — missing user:mcp_servers scope
- [BUG] MCP roots capability advertised but roots/list method not implemented
- [BUG] Can't Authenticate With Notion MCP
- [Bug] Subagents unable to write files and call MCP tools silently
- [Bug] GitHub connector missing from MCP list despite showing in settings
- MCP OAuth token refresh not persisting for Notion MCP server
- [Feature] Reconnect/restart MCP servers from Claude Code in Claude Desktop without Cmd+Q (expose /mcp UI or auto-reconnect)
- MCP OAuth fails with providers requiring HTTPS redirect URIs
- API Error: 400 with "messages.31.content.4.image.source.base64.data: Image does not match the provided media type image/jpeg"
- Bug: Task tool fails with "tools: Tool names must be unique" error
- Linear MCP OAuth fails with "Invalid client" — metadata-URL clientId + ephemeral loopback port
- [BUG] GitHub MCP authenticate tool redirects OAuth flow to Google Drive consent screen instead of GitHub
- Sub-agents spawned via Agent tool don't reliably inherit MCP tools (inconsistent with docs)
- [BUG] MCP OAuth Integration Fails on Production Deployments with step=start_error
- [BUG] Claude CLI: URL-mode elicitation/create not supported — server-initiated OAuth flows fails with not supported error
- [BUG] Background subagents cannot access MCP tools
- Chrome extension: MCP server never connects to native host socket
- claude_design MCP fails: 404 from api.anthropic.com/v1/design/mcp (harness-injected, unremovable)
- [BUG] COWORK || Local / desktop MCP tools not exposed to claude cowork, all the tools work properly in claude chat
- Custom Subagents Cannot Access Project-Scoped MCP Servers (Hallucinate Instead)
- Unify MCP configuration and separate from conversation history
- [BUG] Can't specify OAuth scope for Snowflake MCP
- [BUG] claude.ai MCP integrations (Gmail, Google Calendar) not available in -p mode or --resume sessions since v2.1.79
- [Bug] MCP authentication prompt hangs when pressing enter to continue
- [BUG] Claude in Chrome + Control Chrome Failures in Cowork Mode
- [BUG]
- [BUG] Atlassian MCP Server Tools Not Available in Claude Code 2.0.10 Conversations Despite Successful Connection
- [BUG] gmail_read_message has now been removed
- [BUG] MCP tool parameters with $ref schemas are incorrectly serialized as strings
- [Bug] VS Code Extension: Failed Connection to Linear MCP Service
- Project scope MCP servers not displayed in claude mcp list command
- [BUG] Telegram plugin inbound messages not delivered to Claude Code session (notifications/claude/channel not surfaced)
- [BUG] Claude Code spawns duplicate channel plugin instances mid-session, causing 409 Conflict and tool loss
- [Bug] Marketplace not visible in /plugin command after v2.1.7
- [BUG] OpenTelemetry logs MCP tools as generic 'mcp_tool' instead of specific tool names like 'mcp__context7__resolve-library-id'
- [BUG] Claude Desktop: extension install fully broken — "Install Extension" no-ops and drag-and-drop falls through the modal into the chat
- [BUG] subscribe_pr_activity delivers human review events but not bot review events (from GitHub Apps like chatgpt-codex-connector[bot] and gemini-code-assist[bot])
- Custom agents cannot use deferred MCP tools even when declared in mcpServers/tools frontmatter
- Claude in Chrome: 'Browser extension is not connected' despite correct setup (v2.1.39 + ext v1.0.47)
- [Bug] Claude in Chrome fails when Claude Desktop native messaging host config exists (macOS)
- Tool Result Block Missing in Async Promise Handling
- [BUG] Remote Routine — MCP connector calls blocked by 'approval required' despite Always Allow (Team plan, macOS)
- [BUG] [regression] HTTP MCP server with Bearer token shows "needs-auth" in claude -p mode since 2.1.83 (worked in 2.1.81)
- MCP OAuth tokens not auto-refreshing despite valid refresh tokens
- [FEATURE] VSCode Extension: Add SSE transport support for MCP servers (already supported in CLI)
- [BUG] FastMCP Pydantic serialization issue persists after #3084 fix
- [Bug] Ink renderer crashes in spawned teammate agents during tmux mode sessions
- Xcode MCP tools requiring Automation permission hang indefinitely for CLI clients without bundle identifiers
- [BUG] ExitPlanMode tool fails with "AbortError" - hangs indefinitely when MCP servers active
- [BUG] MCP servers connect successfully but tools are not exposed to assistant
- Subagent launch fails with 'Tool names must be unique' when MCP server is configured
- MCP tool text output not displayed to user in terminal
- Channel messages don't wake idle sessions (--channels plugin)
- [Bug] Plugin paths hardcoded with absolute paths fail across environments
- [Bug] MCP Server Shutdown Failure on /exit Command in v1.0.63+
- Notion MCP OAuth fails with "Invalid redirect_uri for OAuth client"
- Connected MCP connectors not loading in new Code sessions
- MCP tool results should support the native Edit tool's diff rendering