How to Manage Processes
GSV no longer models conversation state as sessions. Agents run as durable processes. Each user has an init process (init:{uid}), and additional task processes can be spawned for isolated work.
List Processes
gsv proc listRoot can inspect another user's processes:
gsv proc list --uid 1000The list shows process ids, labels, owners, profiles, state, current working directory, and workspace attachment when available.
Chat With a Process
Without --pid, gsv chat targets your init process and waits for streamed chat.* signals:
gsv chat "Summarize my current workspace."Target a specific process:
gsv chat --pid task:abc123 "Continue the implementation."Use proc send when you only need to enqueue a message and do not want to wait for streamed output:
gsv proc send --pid task:abc123 "Run the checks now."Spawn a Task Process
Create a child process for isolated work:
gsv proc spawn --label "docs audit" --prompt "Review the how-to docs for stale commands."To spawn under a specific parent:
gsv proc spawn --parent init:1000 --label "release notes"The command prints the new PID. Use that PID with gsv chat --pid ..., gsv proc history --pid ..., or gsv proc kill ....
Read History
Show recent process messages:
gsv proc history --limit 30
gsv proc history --pid task:abc123 --limit 50 --offset 0History is active process state stored in the Process Durable Object. It is not the durable artifact of work; important outputs should live in workspace files, home context, package state, or repositories.
Reset a Process
Reset clears the process conversation state while preserving the process entry:
gsv proc reset
gsv proc reset --pid task:abc123Reset attempts to checkpoint workspace continuity files, archives old messages to R2 under var/sessions/{username}/{pid}/...jsonl.gz, deletes process media, and starts the next run with fresh message history.
Kill a Process
Kill stops a non-init process and optionally archives it first:
gsv proc kill task:abc123
gsv proc kill task:abc123 --no-archiveUse --no-archive only when the process history is disposable. Workspaces and their ripgit-backed files outlive the process either way.
Process Management Patterns
- Use the init process for ongoing personal context and general chat.
- Spawn task processes for bounded work that should not pollute init history.
- Reset when the process has too much stale context but should continue existing.
- Kill when the work is complete and any useful state has been written to files.
- Prefer
chatfor interactive use andproc sendfor automation or scripts.