[Remote MCP] Device is online and ping/list_devices work, but first start_process fails; persisted session forces re-auth
Summary
Remote Desktop Commander 0.2.47 can be freshly paired and reaches Channel subscribed / Device ready. Remote meta calls such as ping and list_devices work, but the first real shell execution through start_process fails at the ChatGPT/Remote MCP tool layer even for a trivial command.
There is a second reproducible symptom: after stopping and restarting desktop-commander remote, the client logs Found persisted session for device ... but immediately starts a new device authorization flow instead of reusing that session.
This appears related to #622, but differs in an important way: a freshly issued session here does reach Device ready, stays online, and answers meta calls before start_process fails.
Environment
- Host OS: Linux / Proxmox VE 9.2.x (Debian-based)
- Desktop Commander: 0.2.47
- Node.js: 24.19.0
- Execution:
npx --yes @wonderwhy-er/[email protected] remote - Remote MCP:
https://mcp.desktopcommander.app - Client: ChatGPT Remote MCP connector
- Agent kept alive in a single
tmuxsession; systemd auto-restart disabled for the final reproduction
No access tokens, refresh tokens, email addresses, or device IDs are included below.
Clean setup performed before reproduction
- Removed the ChatGPT Remote Desktop Commander connector.
- Revoked all old devices in the Remote Desktop Commander dashboard.
- Stopped and disabled the previous systemd service.
- Moved the old local device file out of the way.
- Ran a fresh
desktop-commander remoteauthorization. - Browser authorization succeeded.
- Client reported:
Authorization successful!
Device ID assigned: ...
Channel subscribed
Device marked as online
Presence tracked
Device ready- Kept that exact process running continuously inside
tmux. - Reconnected the ChatGPT Remote MCP connector.
Reproduction A: meta calls work, start_process fails
With the freshly paired device online:
- Call
pingfor the device.- Result: success (
pong).
- Result: success (
- Call
list_devices.- Result: success; device reports
online, version0.2.47, auth token valid.
- Result: success; device reports
- Immediately call
start_processwith a trivial command and a 3-second timeout:
printf 'echo-test-ok\n'Actual behavior
The start_process invocation fails/disappears at the ChatGPT/Remote MCP tool layer instead of returning the command output. This reproduces even though ping and list_devices worked immediately beforehand and the remote agent remains online.
Expected behavior
start_process should return echo-test-ok and leave the remote device usable.
Reproduction B: persisted session is found but not reused
- Fresh pairing succeeds and reaches
Device ready. - Stop the process gracefully with Ctrl+C.
- Start the same command again:
npx @wonderwhy-er/desktop-commander@latest remote- The client logs:
Found persisted session for device ...
Authenticating with Remote MCP server...
Starting device authorization flow...
Requesting device code...So a persisted session is detected, but a completely new authorization flow is started anyway.
If that second authorization flow is aborted with Ctrl+C, shutdown includes:
No valid session for offline updateAdditional observations
- The problem is not caused by a long-running command, shell pipe, or complex process. The failing command is only
printf. - The remote agent itself is reachable and online immediately before the failing process call.
- Using a long-lived
tmuxprocess avoids automatic restarts and repeated background pairing attempts, but does not fix thestart_processfailure. - A previous systemd unit used
Restart=always; disabling it removed restart churn but did not remove the underlying bug. - Multiple old device/session entries had accumulated during repeated pairing attempts, so all devices were revoked and the reproduction was repeated from a clean pairing state.
Why this seems distinct from #622
In #622 the newly issued session fails before the device reaches Channel subscribed / Device ready. Here the fresh session successfully reaches Device ready, stays online, and responds to ping and list_devices; failure appears when invoking the process-execution tool and separately when attempting to reuse the persisted session.
I can provide additional non-secret logs or run narrowly scoped read-only diagnostics if useful.
Source: wonderwhy-er/DesktopCommanderMCP