grith.aidocs

Supervisor sessions

IPC-only routes for registering, listing, and killing supervised sessions.

MethodPathSummaryFlags
GET/ipc/sessionsList active supervisor sessions.
IPC
POST/ipc/sessionsRegister a new session.
IPC
GET/ipc/sessions/{id}Fetch session details.
IPC
PUT/ipc/sessions/{id}Update session metadata.
IPC
DELETE/ipc/sessions/{id}Unregister a session.
IPC
POST/ipc/sessions/{id}/killTerminate a session and its process tree.
IPC

All routes in this group are IPC-only — they reject non-loopback callers at the listener. The thin-client supervisor (grith exec when a daemon is running) uses these to register itself and report session state.

Session shape

{
  "id": "uuid-...",
  "profile": "claude-code",
  "zone": "dayjob",
  "started_at": "2026-05-14T09:02:13Z",
  "root_pid": 17421,
  "root_command": "claude",
  "tree_pids": [17421, 17430, 17440],
  "decisions": { "allow": 781, "queue": 38, "deny": 15 },
  "last_activity": "2026-05-14T09:14:32Z",
  "frozen": false
}

Lifecycle

A thin client typically:

  1. POST /ipc/sessions — register itself. Daemon assigns an id and returns the active config snapshot.
  2. GET /ipc/sessions/{id} — periodically pull current config (in case of config-reload events).
  3. PUT /ipc/sessions/{id} — update activity heartbeat.
  4. DELETE /ipc/sessions/{id} — unregister at exit.

POST /ipc/sessions/{id}/kill is callable from any local origin (it's how grith supervisor kill and the dashboard's terminate button work) but still requires loopback.

See also

Last updated: 2026-05-14Edit this page on GitHub →
© 2026 grith. All rights reserved.