-
-
Notifications
You must be signed in to change notification settings - Fork 2k
Open
Description
Bug Description
On Windows, chroma-mcp fails to connect via MCP stdio with MCP error -32000: Connection closed. Two separate issues contribute:
1. uvx.cmd not found by Bun's spawn
In ChromaMcpManager.ts line 106:
const uvxCommand = isWindows ? 'uvx.cmd' : 'uvx';Bun's child_process.spawn (used by StdioClientTransport) cannot resolve .cmd files on Windows. When uv is installed via pip/anaconda, only uvx.exe exists (no uvx.cmd).
stderr output from subprocess:
'uvx.cmd' is not recognized as an internal or external command
Fix: Change uvx.cmd to uvx.exe:
const uvxCommand = isWindows ? 'uvx.exe' : 'uvx';2. Backslash path causes chromadb rust bindings Access Denied (OS error 5)
In ChromaMcpManager.ts line 29:
const DEFAULT_CHROMA_DATA_DIR = path.join(os.homedir(), '.claude-mem', 'chroma');On Windows, path.join returns backslash paths like C:\Users\SOL\.claude-mem\chroma. When passed to chroma-mcp --data-dir, chromadb's rust bindings throw:
chromadb.errors.InternalError: Access Denied (os error 5)
Using forward slashes (C:/Users/SOL/.claude-mem/chroma) works correctly.
Fix: Normalize to forward slashes:
const DEFAULT_CHROMA_DATA_DIR = path.join(os.homedir(), '.claude-mem', 'chroma').replace(/\/g, '/');Environment
- Windows 11 Pro
- Bun runtime (worker)
- uv 0.9.10 (installed via anaconda at
C:\anaconda3\Scripts\uvx.exe) - claude-mem v10.3.1
- chroma-mcp 1.6.0
Steps to Reproduce
- Install claude-mem on Windows with uv installed via anaconda/pip
- Start worker:
npm run worker:start - Observe repeated
CHROMA_MCP Connection failederrors in logs
Worker Log Evidence
Before:
[CHROMA_MCP] Connecting to chroma-mcp via MCP stdio {command=uvx.cmd, args=chroma-mcp --client-type persistent --data-dir C:\Users\SOL\.claude-mem\chroma}
[CHROMA_MCP] chroma-mcp stderr output {stderr='uvx.cmd' is not recognized as an internal or external command}
[CHROMA_MCP] Connection failed, killing subprocess to prevent zombie {error=MCP error -32000: Connection closed}
After fix:
[CHROMA_MCP] Connecting to chroma-mcp via MCP stdio {command=uvx.exe, args=chroma-mcp --client-type persistent --data-dir C:/Users/SOL/.claude-mem/chroma}
[CHROMA_MCP] Connected to chroma-mcp successfully
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels