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

Resolved 💬 2 comments Opened Apr 11, 2026 by 96ftp4dzmk-dot Closed Apr 14, 2026

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?

View original on GitHub ↗

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