Your last message and the agent’s latest message don’t come from the hooks: the server reads them
from the agent’s own conversation on your machine. See Agents’ messages.
- Claude Code
- Codex
- OpenCode
Print the hook configuration:Merge the printed
hooks entries into ~/.claude/settings.json (or the directory set by
CLAUDE_CONFIG_DIR). Append the handlers to existing event arrays; don’t replace your other
hooks or settings. Then restart Claude Code inside a Rakumux session.- Submitting a prompt reports working, tool hooks running tool, approvals and questions
needs input, and
Stopdone. - A
Stopthat leaves background subagents running stays working until they finish. - An Esc interrupt fires no hook: Rakumux ends that turn once Claude’s own screen has looked idle for 5 seconds.
- The root hook’s
cwdreports Claude’s active worktree, andCwdChangedupdates it.
How hook activity behaves
- Busy markers animate locally; waiting-for-you, unread and ready marks stay still.
- Hook state expires after 120 seconds without updates, or 10 minutes while hook-reported subagents run, and Rakumux falls back to screen detection. Command hooks have no heartbeat, so a long quiet operation may fall back before it finishes.
- A compaction neither starts nor ends a turn.
- Agent subagents are not Rakumux child sessions; they only show as a count (
◈ 3). - Hooks can’t approve, deny or continue work.