Sharing a debugging session in case it saves someone a day. Setup: r1 to rabbit cloud to rabbit-agent on a home Linux server, then the OpenClaw ACP bridge and gateway, with three agents configured. Related: “Connectivity with OpenClaw” in this category covers the intermittent spinning; this is about two causes that look the same from the device and are fixable on the server.
Symptoms
- PTT shows “listening…” and the transcript never appears.
- Old sessions are listed, but tapping one hangs on “resuming…”.
- “no active openclaw sessions”, or the first message gets a reply and every follow-up is ignored.
Cause 1: the rabbit-agent was dead. The installer starts it with nohup and relies on an @reboot crontab line. On my server that line was never written, so the agent died at the first reboot and stayed dead for three weeks. Check with pgrep -f "rabbit-agent run". Fix: a systemd user unit with Restart=always and /usr/local/bin first on PATH, so the agent can find openclaw. The unit also survives the agent’s self-updates, which run at the next start (mine went from 0.1.3 to 0.1.10).
Cause 2: OpenClaw 2026.8.x with more than one agent. The ACP bridge creates sessions under an unscoped key (acp-bridge:<uuid>). Since 2026.8 the gateway refuses prompts on that key when several agents exist, with “session key has no explicit owner”. The r1 shows “listening…” while openclaw gateway health says OK. The acp.defaultAgent config setting does not help, as it only covers ACP runtime spawns. Fix: make the openclaw that the agent resolves a small wrapper which adds --session agent:<id>:<key> to the acp command. Install it as a regular file. Writing through the existing symlink overwrites OpenClaw’s real entry file.
Two rules that came out of this
- After any
openclaw gateway restart, reboot the r1 before using it. The cloud keeps the old session and you get one reply, then silence. - rabbit-agent 0.1.10 deletes finished jobs straight away. When reading
~/.rabbit-agent/jobs, only a job without anexitfile is evidence. Otherwise uselogs/agent.log.
Tooling: my read-only triage script (r1-triage v2.0.0) now checks supervision, the cloud control link and multi-agent ownership, runs a live ACP probe, and detects the orphaned-session case. The systemd unit and the wrapper are in contrib/. Repo: GitHub - GrewingM/r1-triage · GitHub
Request to the rabbit team: on Linux, have the installer create a systemd user unit instead of nohup plus crontab.