Same loop here, and I think I found the mechanism behind it.
r1 on rabbitOS 2.2, rabbit-agent 0.1.3, macOS 15.5, Claude Code CLI at /opt/homebrew/bin/claude. Agent installed from Terminal against a freshly registered node. simon, I ran your three steps (revoke all nodes, register new, install from Terminal, PTT 5x) plus a full device restart. Identical before and after.
Agent side is healthy throughout: Status: connected, heartbeats every 30s, doctor passes, claude and node resolve on PATH.
Symptom: the first prompt after connecting works. Every prompt after that appears to hang, then returns nothing useful.
What the agent logs show. Counting "type":"user" events in each job’s stdout under ~/.rabbit-agent/jobs/claude-session-*/stdout, only 1 of 10 sessions ever received a prompt:
18:38 user=11 31438ms (real work, ran tools)
18:23 user=0 2338ms "I'm here, what would you like me to do?"
19:08 user=0 2311ms "I'm here, what would you like me to do?"
19:51 user=0 5042ms "I'm here, what would you like me to do?"
20:23 user=0 2632ms "I don't see a request yet."
20:28 user=0 3000ms "I'm here, what would you like me to do?"
The one working session ran 31 seconds and did real tool work. Every session after it started, found no prompt, emitted a generic greeting, and exited terminal_reason: completed in 2 to 5 seconds. Nothing is timing out and nothing is slow. The sessions are simply empty.
Likely related: the sessions never exit. Spawned claude -p processes do not terminate. Ten accumulated over six hours, oldest at 2h26m, holding roughly 5% of system RAM, all idle at 0% CPU. The agent log had already reported each as exited (completed) while the process was still alive.
That would explain the pattern: the first session works but leaks, and every later prompt spawns a fresh empty session instead of reaching the one still holding the conversation. On the r1 an empty session is indistinguishable from a hang, which I suspect is the retrying / starting Claude cycle you are both seeing.
Ruled out locally: working directory, PATH, desktop app versus CLI (confirmed it spawns the CLI binary), network, and node registration.
MaxCancer, gabey8, worth checking on your machines whether old sessions are piling up:
ps aux | grep "claude -p" | grep -v grep
Happy to share full job stdout or agent logs. The pattern reproduces on every attempt.