/status incorrectly reports disabled MCP servers as 'failed'

Resolved 💬 4 comments Opened Apr 10, 2026 by cristph Closed Apr 13, 2026

Bug Description

/status reports "1 MCP server failed" when the built-in computer-use MCP server is disabled (its default state). Enabling it in /mcp makes the error disappear. This is a display bug — the server isn't actually failing, it's intentionally disabled.

Steps to Reproduce

  1. Open Claude Code on macOS with a Max/Pro plan (so computer-use MCP is registered)
  2. Do NOT enable computer-use in /mcp (it's opt-in, disabled by default)
  3. Run /status
  4. Observe: "1 MCP server failed" is shown in red

Root Cause

In the GOK function (status dialog MCP counter), only 4 states are handled:

for (let A of _)
  if (A.type === "connected")      z.connected++;
  else if (A.type === "pending")   z.pending++;
  else if (A.type === "needs-auth") z.needsAuth++;
  else                              z.failed++;    // ← BUG

The GL6 function (MCP connection orchestrator) correctly assigns type: "disabled" to disabled servers:

if (oT(W[0])) {
  q({ client: { name: W[0], type: "disabled", config: W[1] }, tools: [], commands: [] });
}

But GOK has no branch for type === "disabled", so it falls through to the else clause and gets counted as failed.

Expected Behavior

/status should either:

  • Ignore disabled servers entirely, or
  • Show them as "X disabled" (not "X failed")

Environment

  • Claude Code version: 2.1.100
  • OS: macOS (Darwin 24.6.0, arm64)

View original on GitHub ↗

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