[Bug] Cowork RPC error -1: process already running on Windows 11
Resolved 💬 2 comments Opened Feb 24, 2026 by garguru Closed Mar 24, 2026
Bug Description
"Cowork RPC error -1: process already running. Windows 11, v2.1.51. Happens repeatedly."
That gets it on Anthropic's radar for a proper fix.
Environment Info
- Platform: win32
- Terminal: vscode
- Version: 2.1.50
- Feedback ID: 99ad8eb9-5ee7-48e4-ab60-95edca99c393
Errors
[{"error":"Error: Command failed: C:\\Users\\mgarr\\.local\\bin\\claude.exe --ripgrep --files --glob **/.mcp.json --sort=modified --no-ignore --hidden C:\\Users\\mgarr\n at genericNodeError (node:child_process:1010:22)\n at exitHandler (node:child_process:103:28)\n at emit (node:events:98:22)\n at #maybeClose (node:child_process:778:16)\n at #handleOnExit (node:child_process:532:72)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-02-24T00:58:39.752Z"},{"error":"RipgrepTimeoutError: Ripgrep search timed out after 20 seconds. The search may have matched files but did not complete in time. Try searching a more specific path or pattern.\n at f (B:/~BUN/root/claude.exe:116:189)\n at <anonymous> (B:/~BUN/root/claude.exe:116:403)\n at exitHandler (node:child_process:109:27)\n at emit (node:events:98:22)\n at #maybeClose (node:child_process:778:16)\n at #handleOnExit (node:child_process:532:72)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-02-24T00:58:39.756Z"},{"error":"Error: Command failed: C:\\Users\\mgarr\\.local\\bin\\claude.exe --ripgrep --files --glob **/claude_desktop_config.json --sort=modified --no-ignore --hidden C:\\Users\\mgarr\\AppData\nrg: C:\\Users\\mgarr\\AppData\\Local\\ElevatedDiagnostics: IO error for operation on C:\\Users\\mgarr\\AppData\\Local\\ElevatedDiagnostics: Access is denied. (os error 5)\n\n at genericNodeError (node:child_process:1010:22)\n at exitHandler (node:child_process:103:28)\n at emit (node:events:98:22)\n at #maybeClose (node:child_process:778:16)\n at #handleOnExit (node:child_process:532:72)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-02-24T00:58:40.491Z"},{"error":"RipgrepTimeoutError: Ripgrep search timed out after 20 seconds. The search may have matched files but did not complete in time. Try searching a more specific path or pattern.\n at f (B:/~BUN/root/claude.exe:116:189)\n at <anonymous> (B:/~BUN/root/claude.exe:116:403)\n at exitHandler (node:child_process:109:27)\n at emit (node:events:98:22)\n at #maybeClose (node:child_process:778:16)\n at #handleOnExit (node:child_process:532:72)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-02-24T00:58:40.492Z"},{"error":"Error: Failed to create shell snapshot: Command failed: C:\\Program Files\\Git\\bin\\bash.exe -c -l SNAPSHOT_FILE='C:\\Users\\mgarr\\.claude\\shell-snapshots\\snapshot-bash-1771894738793-oe3dw9.sh'\n source \"C:\\Users\\mgarr\\.bashrc\" < /dev/null\n\n # First, create/clear the snapshot file\n echo \"# Snapshot file\" >| \"$SNAPSHOT_FILE\"\n\n # When this file is sourced, we first unalias to avoid conflicts\n # This is necessary because aliases get \"frozen\" inside function definitions at definition time,\n # which can cause unexpected behavior when functions use commands that conflict with aliases\n echo \"# Unset all aliases to avoid conflicts with functions\" >> \"$SNAPSHOT_FILE\"\n echo \"unalias -a 2>/dev/null || true\" >> \"$SNAPSHOT_FILE\"\n\n \n echo \"# Functions\" >> \"$SNAPSHOT_FILE\"\n\n # Force autoload all functions first\n declare -f > /dev/null 2>&1\n\n # Now get user function names - filter completion functions (single underscore prefix)\n # but keep double-underscore helpers (e.g. __zsh_like_cd from mise, __pyenv_init)\n declare -F | cut -d' ' -f3 | grep -vE '^_[^_]' | while read func; do\n # Encode the function to base64, preserving all special characters\n encoded_func=$(declare -f \"$func\" | base64 )\n # Write the function definition to the snapshot\n echo \"eval \\\"\\$(echo '$encoded_func' | base64 -d)\\\" > /dev/null 2>&1\" >> \"$SNAPSHOT_FILE\"\n done\n \n echo \"# Shell Options\" >> \"$SNAPSHOT_FILE\"\n shopt -p | head -n 1000 >> \"$SNAPSHOT_FILE\"\n set -o | grep \"on\" | awk '{print \"set -o \" $1}' | head -n 1000 >> \"$SNAPSHOT_FILE\"\n echo \"shopt -s expand_aliases\" >> \"$SNAPSHOT_FILE\"\n \n echo \"# Aliases\" >> \"$SNAPSHOT_FILE\"\n # Filter out winpty aliases on Windows to avoid \"stdin is not a tty\"…
Note: Content was truncated.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗