How to Manage Processes
GSV no longer models conversation state as sessions. Agents run as durable conversations served by process executors. Additional 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, run-as accounts, state, current working directory, and source mounts when available.
Chat With a Process
Without --pid, gsv chat targets your init process and waits for streamed proc.run.* signals:
gsv chat "Summarize the current project."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 explicit files, home context, package source, knowledge, 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 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. Files, package source, knowledge, and repositories 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.