clawback shutdown
Run .skills/shutdown/scripts/shutdown.sh from the project root.
.skills/shutdown/scripts/shutdown.sh # stop the proxy + let the monitor go quiet
.skills/shutdown/scripts/shutdown.sh --sessions # also SIGTERM clawback claude sessions
Default: proxy + monitor only
With no flags this is identical to run_monitor.sh --stop: it stops the
detached proxy via its pidfile (SIGTERM first so it flushes state and closes
its logger, escalating to SIGKILL only if it does not exit within ~5s) and
removes the pidfile. A foreground --attach follower then prints the
synthetic "process exited" line and can be Ctrl-C'd; an agent's Monitor tool
simply stops seeing new lines.
Why interactive sessions are left alone by default
Under probe-then-decide, clawback claude sessions ATTACH to an
already-listening proxy rather than spawning their own, so stopping the proxy
already cuts their upstream. But the session processes — and any unsaved
in-flight edit inside Claude Code — are yours to end deliberately, not
something this script should kill out from under you. This is the
soft-default (stop the proxy) plus an explicit escape knob (--sessions),
not a hard teardown.
--sessions: full teardown
Adds a pass that sends SIGTERM to every clawback claude wrapper process. It
lists each match (pid + full command) before signaling, so nothing dies
silently. Specifics:
- The match is
pgrep -f 'clawback claude', which hits only the wrappers — the bare proxy isnode …/bin/clawback.js(no "claude"), and neither this script norrun_monitor.shcontains the phrase. - The spawned
claudeCLI child is NOT signaled; if it lingers after its wrapper exits, end it yourself.
Options
--log-file PATH / --pid-file PATH are forwarded to run_monitor.sh --stop so a non-default proxy can be targeted. To bring the proxy back, use
the restart skill (or run_monitor.sh --detach).