[BUG] Cowork (Linux): session resume after idle spins forever — handshake succeeds but agent process never spawns
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?
Platform: Arch Linux, unofficial AUR desktop wrapper, SDK v2.1.209
Repro: active Cowork session, ~3hr idle, resume → handshake logs but no process spawn in coworkd-console.log, UI spins indefinitely
#30655 and #43573 as similar-but-distinct
Claude Desktop 1.21459.3 (e0f338) — unofficial AUR package (Linux)
SDK v2.1.209
Arch Linux, kernel 7.1.2
What Should Happen?
Resuming an idle Cowork session should either successfully spawn the agent process and continue the conversation, or fail with a visible error message. In this case the VM handshake completes (startVM / SDK check / keepalive all log normally) but coworkd never creates a cgroup or spawns the agent process, and the UI spins indefinitely with no error or timeout. Expected: the process lifecycle seen in a healthy request (cgroup created → process started → PID spawned) should occur on resume, or the user should be notified that the session cannot resume.
Error Messages/Logs
dave@inara:~/CoworkProjects/power_bi$ tail -30 ~/.config/Claude/logs/cowork_vm_node.log &&
tail -30 ~/.config/Claude/logs/coworkd-console.log
2026-07-16 10:25:58 [info] [startVM] VM already connected
2026-07-16 10:25:58 [info] [postConnect] Installing SDK: subpath=home/dave/.config/Claude/claude-code-vm, version=2.1.209
2026-07-16 10:25:58 [warn] [Keepalive] Already running
2026-07-16 10:39:05 [info] [startVM] VM already connected
2026-07-16 10:39:05 [info] [postConnect] Installing SDK: subpath=home/dave/.config/Claude/claude-code-vm, version=2.1.209
2026-07-16 10:39:05 [warn] [Keepalive] Already running
2026-07-16 10:47:24 [info] [startVM] VM already connected
2026-07-16 10:47:24 [info] [postConnect] Installing SDK: subpath=home/dave/.config/Claude/claude-code-vm, version=2.1.209
2026-07-16 10:47:24 [warn] [Keepalive] Already running
2026-07-16 11:01:18 [info] [startVM] VM already connected
2026-07-16 11:01:18 [info] [postConnect] Installing SDK: subpath=home/dave/.config/Claude/claude-code-vm, version=2.1.209
2026-07-16 11:01:18 [warn] [Keepalive] Already running
2026-07-16 11:05:12 [info] [startVM] VM already connected
2026-07-16 11:05:12 [info] [postConnect] Installing SDK: subpath=home/dave/.config/Claude/claude-code-vm, version=2.1.209
2026-07-16 11:05:12 [warn] [Keepalive] Already running
2026-07-16 11:07:03 [info] [startVM] VM already connected
2026-07-16 11:07:03 [info] [postConnect] Installing SDK: subpath=home/dave/.config/Claude/claude-code-vm, version=2.1.209
2026-07-16 11:07:03 [warn] [Keepalive] Already running
2026-07-16 11:25:06 [info] [startVM] VM already connected
2026-07-16 11:25:06 [info] [postConnect] Installing SDK: subpath=home/dave/.config/Claude/claude-code-vm, version=2.1.209
2026-07-16 11:25:07 [warn] [Keepalive] Already running
2026-07-16 11:26:53 [info] [startVM] VM already connected
2026-07-16 11:26:53 [info] [postConnect] Installing SDK: subpath=home/dave/.config/Claude/claude-code-vm, version=2.1.209
2026-07-16 11:26:53 [warn] [Keepalive] Already running
2026-07-16 14:14:55 [info] [startVM] VM already connected
2026-07-16 14:14:55 [info] [postConnect] Installing SDK: subpath=home/dave/.config/Claude/claude-code-vm, version=2.1.209
2026-07-16 14:14:55 [warn] [Keepalive] Already running
2026-07-16 14:20:35 [info] [startVM] VM already connected
2026-07-16 14:20:35 [info] [postConnect] Installing SDK: subpath=home/dave/.config/Claude/claude-code-vm, version=2.1.209
2026-07-16 14:20:35 [warn] [Keepalive] Already running
2026/07/16 13:43:55 [process:oneshot-8cd22120-10dd-4544-aeec-b4accb829ef0] wrote srt-settings (domains=23 parentProxy=false) to /etc/srt-settings/oneshot-8cd22120-10dd-4544-aeec-b4accb829ef0.json
2026/07/16 13:43:55 [cgroup] initialized subtree at /sys/fs/cgroup/coworkd
2026/07/16 13:43:55 [cgroup] created cgroup /sys/fs/cgroup/coworkd/oneshot-8cd22120-10dd-4544-aeec-b4accb829ef0
2026/07/16 13:43:55 [process:oneshot-8cd22120-10dd-4544-aeec-b4accb829ef0] started PID 18125
2026/07/16 13:44:00 [process:oneshot-8cd22120-10dd-4544-aeec-b4accb829ef0] direct child exited: code=0 signal=<nil>
2026/07/16 13:44:00 [process:oneshot-8cd22120-10dd-4544-aeec-b4accb829ef0] waiting for all cgroup processes to exit
2026/07/16 13:44:00 [cgroup] cgroup oneshot-8cd22120-10dd-4544-aeec-b4accb829ef0 is now empty (waited 40.498µs)
2026/07/16 13:44:00 [cgroup] cleaned up cgroup oneshot-8cd22120-10dd-4544-aeec-b4accb829ef0
2026/07/16 13:44:00 [process:oneshot-8cd22120-10dd-4544-aeec-b4accb829ef0] all processes exited, proceeding with cleanup
2026/07/16 13:44:00 [process:oneshot-8cd22120-10dd-4544-aeec-b4accb829ef0] removed srt-settings /etc/srt-settings/oneshot-8cd22120-10dd-4544-aeec-b4accb829ef0.json
2026/07/16 13:44:00 [process:oneshot-8cd22120-10dd-4544-aeec-b4accb829ef0] unmounting /sessions/elegant-nice-cannon/mnt/.claude/skills
2026/07/16 13:44:00 [process:oneshot-8cd22120-10dd-4544-aeec-b4accb829ef0] unmounted /sessions/elegant-nice-cannon/mnt/.claude/skills
2026/07/16 13:44:00 [process:oneshot-8cd22120-10dd-4544-aeec-b4accb829ef0] unmounting /sessions/elegant-nice-cannon/mnt/.claude/projects
2026/07/16 13:44:00 [process:oneshot-8cd22120-10dd-4544-aeec-b4accb829ef0] unmounted /sessions/elegant-nice-cannon/mnt/.claude/projects
2026/07/16 13:44:00 [process:oneshot-8cd22120-10dd-4544-aeec-b4accb829ef0] unmounting /sessions/elegant-nice-cannon/mnt/uploads
2026/07/16 13:44:00 [process:oneshot-8cd22120-10dd-4544-aeec-b4accb829ef0] unmounted /sessions/elegant-nice-cannon/mnt/uploads
2026/07/16 13:44:00 [process:oneshot-8cd22120-10dd-4544-aeec-b4accb829ef0] unmounting /sessions/elegant-nice-cannon/mnt/power_bi
2026/07/16 13:44:00 [process:oneshot-8cd22120-10dd-4544-aeec-b4accb829ef0] unmounted /sessions/elegant-nice-cannon/mnt/power_bi
2026/07/16 13:44:00 [process:oneshot-8cd22120-10dd-4544-aeec-b4accb829ef0] unmounting /sessions/elegant-nice-cannon/mnt/outputs
2026/07/16 13:44:00 [process:oneshot-8cd22120-10dd-4544-aeec-b4accb829ef0] unmounted /sessions/elegant-nice-cannon/mnt/outputs
2026/07/16 14:25:58 [coworkd] SDK binary v2.1.209 already installed, skipping
2026/07/16 14:39:04 [coworkd] SDK binary v2.1.209 already installed, skipping
2026/07/16 14:47:24 [coworkd] SDK binary v2.1.209 already installed, skipping
2026/07/16 15:01:18 [coworkd] SDK binary v2.1.209 already installed, skipping
2026/07/16 15:05:11 [coworkd] SDK binary v2.1.209 already installed, skipping
2026/07/16 15:07:03 [coworkd] SDK binary v2.1.209 already installed, skipping
2026/07/16 15:25:06 [coworkd] SDK binary v2.1.209 already installed, skipping
2026/07/16 15:26:53 [coworkd] SDK binary v2.1.209 already installed, skipping
2026/07/16 18:14:55 [coworkd] SDK binary v2.1.209 already installed, skipping
2026/07/16 18:20:35 [coworkd] SDK binary v2.1.209 already installed, skipping
Steps to Reproduce
- On Arch Linux, install Claude Desktop 1.21459.3 via the unofficial AUR package.
- Start a new Cowork session with a local working folder and use it normally (multiple exchanges over ~2–3 hours; agent processes spawn and complete successfully — see healthy lifecycle at 13:43 in attached logs).
- Leave the session idle for ~2.5–3 hours (desktop app left running, machine not suspended).
- Return and send a message to resume the session. (Note: an initial query appeared to respond, then a subsequent query hung.)
- Observe: UI shows spinner indefinitely. Logs show the VM handshake completes (startVM: VM already connected, SDK check, keepalive), but coworkd-console.log shows no cgroup creation and no agent process spawn after the resume — compare timestamps 14:14/14:20 (handshake only) vs. 13:43 (full process lifecycle).
- No error, timeout, or notification is ever surfaced to the user.
Claude Model
Other
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
Version 1.21459.3 (e0f338)
Platform
Anthropic API
Operating System
Other Linux
Terminal/Shell
Other
Additional Information
The form doesn't have a Desktop option so selecting Anthropic API as closest match. [attributing text here to reporter for #55176]
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗