claude-code - 💡(How to fix) Fix Claude Desktop App — 3 bugs in startup/runtime logs (macOS) [1 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#46713Fetched 2026-04-12 13:35:00
View on GitHub
Comments
0
Participants
1
Timeline
1
Reactions
0
Participants
Timeline (top)
labeled ×1

Error Message

Uncaught (in promise) Error: Error invoking remote method '$eipc_message$_...BuddyBleTransport$_reportState': Error: No handler registered for '...BuddyBleTransport$_reportState'

Code Example

GET /api/organizations/{org_id}/model_configs/claude-opus-4-6[1m]
404 Not Found

---

POST /api/organizations/{org_id}/mcp/logout/puppeteer → 400 invalid_server_id
POST /api/organizations/{org_id}/mcp/logout/google-maps → 400 invalid_server_id

---

Uncaught (in promise) Error: Error invoking remote method
'$eipc_message$_..._BuddyBleTransport_$_reportState':
Error: No handler registered for '..._BuddyBleTransport_$_reportState'
RAW_BUFFERClick to expand / collapse

Here's a ready-to-submit bug report:


Title: Claude Desktop App — 3 bugs found in startup/runtime logs (macOS)

Environment:

  • Claude Desktop App (latest)
  • macOS Darwin 25.4.0 (Sequoia)
  • Platform: Apple Silicon

Bug 1: ANSI escape code leaks into model config API request

The app queries the model config endpoint with a malformed model ID containing an ANSI bold escape sequence:

GET /api/organizations/{org_id}/model_configs/claude-opus-4-6[1m]
→ 404 Not Found

The [1m] is an ANSI SGR bold code that should have been stripped before constructing the API URL. This fires on every app launch / conversation open. Found in claude.ai-web.log.

Expected: Request should target claude-opus-4-6 without the escape sequence.


Bug 2: MCP server logout uses name string instead of UUID

When disconnecting MCP servers that were previously removed, the app sends the server's display name instead of its UUID to the logout endpoint:

POST /api/organizations/{org_id}/mcp/logout/puppeteer → 400 invalid_server_id
POST /api/organizations/{org_id}/mcp/logout/google-maps → 400 invalid_server_id

Error message: "Invalid server ID format. Expected UUID or mcpsrv_* tagged ID."

These servers no longer exist in the connectors list, suggesting the app is attempting cleanup on stale references but using the wrong identifier format.

Expected: Either use the server's UUID/mcpsrv_* ID, or gracefully skip cleanup for servers that no longer exist.


Bug 3: BuddyBleTransport handler registration race condition

On app startup, a Bluetooth companion feature attempts to report state before the handler is registered:

Uncaught (in promise) Error: Error invoking remote method
'$eipc_message$_..._BuddyBleTransport_$_reportState':
Error: No handler registered for '..._BuddyBleTransport_$_reportState'

This is a startup timing issue — reportState is called before the IPC handler is ready.

Expected: Either defer reportState until the handler is registered, or register the handler before the BLE transport initializes.


Additional (minor): USER_CONTENT_RENDERER repeatedly logs "Failed to load language: markdown — falling back to plain text" in claude.ai-web.log. This causes markdown syntax highlighting to silently degrade.


None of these are blocking, but they produce noisy logs and the ANSI leak (#1) causes a failed API call on every session.


You can paste this into https://github.com/anthropics/claude-code/issues or wherever Anthropic accepts desktop app feedback. Want me to adjust anything?

extent analysis

TL;DR

The most likely fix involves modifying the code to strip ANSI escape sequences from model IDs, use UUIDs for MCP server logout, and ensure handler registration before reporting state in the BuddyBleTransport feature.

Guidance

  • Strip ANSI escape sequences: Before constructing the API URL for the model config endpoint, ensure that any ANSI escape sequences (like [1m]) are removed from the model ID to prevent malformed requests.
  • Use UUIDs for MCP server logout: Modify the logout endpoint calls to use the server's UUID or mcpsrv_* tagged ID instead of the display name to fix the invalid_server_id error.
  • Ensure handler registration: For the BuddyBleTransport feature, either defer the reportState call until the handler is registered or register the handler before the BLE transport initializes to prevent the "No handler registered" error.
  • Verify fixes: After applying these changes, monitor the logs (claude.ai-web.log) for the absence of the mentioned errors (404 for malformed model ID, 400 for invalid server ID, and "No handler registered" for BuddyBleTransport) to verify that the fixes are effective.

Example

// Example of stripping ANSI escape sequences from a string
function stripAnsiEscape Sequences(str) {
  return str.replace(/\x1B\[([0-?]*[ -/]*[@-~])/g, '');
}

// Example usage
const modelId = "claude-opus-4-6[1m";
const cleanedModelId = stripAnsiEscapeSequences(modelId);
console.log(cleanedModelId); // Output: "claude-opus-4-6"

Notes

These fixes assume that the issues are primarily related to the described behaviors and may not address underlying architectural or design problems. Additional testing and verification are necessary to ensure these changes do not introduce new issues.

Recommendation

Apply the workaround by modifying the code as suggested to strip ANSI escape sequences, use correct IDs for MCP server logout, and ensure proper handler registration for BuddyBleTransport. This approach directly addresses the identified issues and should reduce log noise and failed API calls.

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