Summary
agentctl stop <id> (and stop <id> --force) fails with Session not found: <full-uuid> for a session that agentctl status <id> and agentctl list -a both report as running. The short id resolves to the correct full uuid (it's echoed in the error), but the stop path can't find the session to terminate it. Net effect: no clean way to stop the agent via the CLI — had to kill -TERM the underlying claude PID directly.
Repro (observed 2026-07-06)
Launched a claude-code session:
$ agentctl list -a | grep 829a9101
829a9101 running claude-code claude-fable-5 ~/code/mono-auto-ENG-10879 79911 2m ago EXECUTE THIS PROCEDURE...
$ agentctl status 829a9101
ID 829a9101
Status running
PID 79911
...
$ agentctl stop 829a9101 --force
Session not found: 829a9101-c228-4d15-b153-bc816f954658
$ agentctl stop 829a9101 # retry, no --force
Session not found: 829a9101-c228-4d15-b153-bc816f954658
# ...but list -a STILL shows it running with PID 79911
$ kill -TERM 79911 # only way to actually stop it
Expected
stop <id> terminates the session that status/list resolve for the same id (or at least returns a non-misleading error).
Actual
status/list find the session by short id and report it running; stop resolves the same short id to the full uuid but then reports Session not found, leaving the process running. The lookup path used by stop appears inconsistent with the one used by status/list.
Impact
Coordinators can't reliably stop a running agent — forced to kill the OS PID out-of-band, which risks leaving agentctl's session store in a stale running state.
Environment
- host: ms's Mac Studio (Darwin arm64)
- adapter: claude-code, model claude-fable-5
- launched via
agentctl launch claude-code ... --cwd <existing-worktree>
Summary
agentctl stop <id>(andstop <id> --force) fails withSession not found: <full-uuid>for a session thatagentctl status <id>andagentctl list -aboth report as running. The short id resolves to the correct full uuid (it's echoed in the error), but the stop path can't find the session to terminate it. Net effect: no clean way to stop the agent via the CLI — had tokill -TERMthe underlying claude PID directly.Repro (observed 2026-07-06)
Launched a claude-code session:
Expected
stop <id>terminates the session thatstatus/listresolve for the same id (or at least returns a non-misleading error).Actual
status/listfind the session by short id and report it running;stopresolves the same short id to the full uuid but then reportsSession not found, leaving the process running. The lookup path used bystopappears inconsistent with the one used bystatus/list.Impact
Coordinators can't reliably stop a running agent — forced to kill the OS PID out-of-band, which risks leaving agentctl's session store in a stale
runningstate.Environment
agentctl launch claude-code ... --cwd <existing-worktree>