allowedMcpServers cannot include Claude.ai Cowork connectors — name format conflict with schema validation

Resolved 💬 4 comments Opened Apr 15, 2026 by chinds-thinkific Closed May 25, 2026

Description

When using allowedMcpServers in managed settings to restrict which MCP servers are allowed, Claude.ai Cowork connectors (Atlassian, Slack, Gmail, etc.) cannot be included in the allowlist. Their actual registered server names use the format "claude.ai <ServiceName>" (dot + space), but the allowedMcpServers.serverName field only accepts letters, numbers, hyphens, and underscores — rejecting any entry with dots or spaces.

Scope: Reproduced on the VS Code extension (v2.1.109). Cowork connectors sync from the claude.ai account session in the VS Code extension context — they do not appear in the CLI (claude in terminal) in the same way. The naming conflict therefore only surfaces in the VS Code extension.

Steps to reproduce

  1. Enable Claude.ai Cowork connectors (Atlassian, Slack, Gmail, etc.) in your claude.ai account
  2. Open Claude Code VS Code extension — Cowork connectors appear and work normally
  3. Deploy managed settings with allowedMcpServers listing Cowork connectors using the only valid format (claude_ai_Atlassian, claude_ai_Slack, etc.)
  4. Reload VS Code
  5. All Cowork connectors disappear — they are blocked

Alternatively, attempt to add { "serverName": "claude.ai Atlassian" } — Claude Code rejects the entire settings file with: "Server name can only contain letters, numbers, hyphens, and underscores"

Root cause

The actual registered names of Cowork connectors (visible in ~/.claude/mcp-needs-auth-cache.json) are:

claude.ai Atlassian
claude.ai Slack
claude.ai Gmail
claude.ai Linear
claude.ai Miro
claude.ai Google Calendar

These contain a dot and space — characters explicitly rejected by the serverName validation. There is no valid way to represent these names in allowedMcpServers.

Behaviour observed through testing

| Config | Result |
|--------|--------|
| allowedMcpServers with claude_ai_Atlassian (underscores) | Cowork connectors blocked — names don't match |
| allowedMcpServers with "claude.ai Atlassian" (actual name) | Settings file rejected — invalid characters |
| allowManagedMcpServersOnly: true with no allowedMcpServers | All servers allowed — flag is a no-op without list |
| No allowedMcpServers key | Cowork connectors work |

Impact

Organisations deploying managed settings via MDM cannot use allowManagedMcpServersOnly + allowedMcpServers to restrict MCP servers to an approved list while also allowing Cowork connectors in the VS Code extension. The two features are mutually exclusive.

Expected behaviour

One of:

  1. Cowork connectors should register under names that are valid serverName values (e.g. claude_ai_Atlassian)
  2. allowedMcpServers should support a separate field (e.g. displayName or coworkConnector) for matching Cowork connectors by their actual names
  3. allowManagedMcpServersOnly: true without allowedMcpServers should restrict to managed/Cowork servers only (currently it allows everything, making the flag a no-op)

Environment

  • macOS, Claude Code VS Code extension v2.1.109
  • Managed settings deployed via /Library/Application Support/ClaudeCode/managed-settings.json

View original on GitHub ↗

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