[BUG] Claude Desktop crashes on startup when MCP config uses HTTP transport without 'command' field

Resolved 💬 3 comments Opened Mar 3, 2026 by crownandcoke Closed Mar 3, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Claude Desktop crashes immediately on startup with a TypeError: Cannot read properties of undefined (reading 'value') when claude_desktop_config.json contains an MCP server using HTTP/SSE transport (with url and transport fields) instead of the stdio transport (with a command field).

The Zod schema validation requires command to be a string, but HTTP transport MCP servers don't have a command - they have a url. The validation throws, and the error propagates to node:internal/util/inspect which crashes the app before the window renders.

The app should either:

  1. Support HTTP transport MCP servers in the config schema (like Claude Code does), or
  2. Gracefully skip/warn about invalid MCP server entries instead of crashing the entire app

Config that causes the crash

{
  "mcpServers": {
    "graphiti": {
      "url": "http://127.0.0.1:8101/mcp/v1",
      "transport": "http"
    }
  }
}

What Should Happen?

The app should start normally and either:

  • Connect to the HTTP transport MCP server, or
  • Log a warning that the transport type is unsupported and skip that server entry

It should not crash the entire application due to a config validation error.

Error Messages/Logs

launch-failure.err:

TypeError: Cannot read properties of undefined (reading 'value')
{}
Cannot read properties of undefined (reading 'value')}
TypeError: Cannot read properties of undefined (reading 'value')
    at formatProperty (node:internal/util/inspect:2280:12)
    at formatRaw (node:internal/util/inspect:1176:9)
    at formatValue (node:internal/util/inspect:932:10)
    at formatProperty (node:internal/util/inspect:2283:11)
    at formatRaw (node:internal/util/inspect:1176:9)
    at formatValue (node:internal/util/inspect:932:10)
    at inspect (node:internal/util/inspect:409:10)
    at formatWithOptionsInternal (node:internal/util/inspect:2582:25)
    at Object.format (node:internal/util/inspect:2502:10)
    at i._splat (C:\Program Files\WindowsApps\Claude_1.1.4498.0_x64__pzs8sxrjxfjjc\app\resources\app.asar\.vite\build\index.js:65:5632)

main.log (root cause):

[error] Error reading or parsing config file: {
  error: ZodError: [
    {
      "code": "invalid_type",
      "expected": "string",
      "received": "undefined",
      "path": ["mcpServers", "graphiti", "command"],
      "message": "Required"
    }
  ]
}

Steps to Reproduce

  1. Edit %APPDATA%/Claude/claude_desktop_config.json
  2. Add an MCP server with HTTP transport (url + transport fields, no command field):

``json
{
"mcpServers": {
"example": {
"url": "http://127.0.0.1:8101/mcp/v1",
"transport": "http"
}
}
}
``

  1. Launch Claude Desktop
  2. App crashes immediately - no window renders

Workaround

Remove the HTTP transport MCP server entry from the config, or replace it with a stdio transport entry that has a command field.

Claude Model

_N/A - app doesn't launch_

Is this a regression?

I don't know - HTTP transport for MCP servers may have never been supported in Desktop's config schema.

Claude Code Version

Claude Desktop 1.1.2156 (app resources) / 1.1.4498.0 (AppxPackage)

Platform

Anthropic API

Operating System

Windows 11 (MINGW64_NT-10.0-26200)

Terminal/Shell

N/A (Desktop app)

Additional Information

Claude Code supports HTTP transport MCP servers via ~/.claude.json, so users who configure MCP servers for Code may expect the same config to work in Desktop. The config schema mismatch between Code and Desktop is the root cause - Desktop should either support the same schema or handle unknown fields gracefully.

View original on GitHub ↗

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