claude-code - 💡(How to fix) Fix /status incorrectly reports disabled MCP servers as 'failed' [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#46124Fetched 2026-04-11 06:28:27
View on GitHub
Comments
1
Participants
2
Timeline
7
Reactions
0
Author
Timeline (top)
labeled ×4subscribed ×2commented ×1

Error Message

/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.

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.

Code Example

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

---

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

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)

extent analysis

TL;DR

Update the GOK function to handle the "disabled" state for MCP servers, preventing them from being counted as failed.

Guidance

  • Modify the GOK function to include a conditional branch for type === "disabled", ensuring disabled servers are not counted as failed.
  • Consider adding a new counter for disabled servers to display their status accurately in the /status report.
  • Review the GL6 function to ensure it correctly handles the "disabled" state for MCP servers and that this state is properly propagated to the GOK function.
  • Test the updated GOK function with various MCP server states, including "disabled", to verify the fix.

Example

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 if (A.type === "disabled")  z.disabled++; // New branch for disabled state
  else                              z.failed++;

Notes

The provided code snippets and environment details suggest that the issue is specific to the Claude Code version 2.1.100 on macOS. The fix may need to be adapted or verified for other versions or operating systems.

Recommendation

Apply the workaround by updating the GOK function to handle the "disabled" state, as this directly addresses the root cause of the display bug.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix /status incorrectly reports disabled MCP servers as 'failed' [1 comments, 2 participants]