Run a command synchronously
process.exec runs a command and blocks until it exits or times out. stdout_b64 and stderr_b64 are base64-encoded, and exit_code tells you whether it succeeded.
cwd to set a working directory, env to pass environment variables, as_user/as_root to control privileges, and timeout_sec to cap execution time.
Run a command in the background
process.spawn starts a command without waiting for it to finish, returning a process_id you use to manage it afterward. This is the right call for long-running processes — a server, a watcher script, an interactive shell.
allocate_tty: true to attach a pseudo-terminal for interactive shells, with cols/rows to set its initial size.
Manage a running process
Check status
Poll for whether a spawned process is still running, and its resource usage:Stream stdout and stderr
Read output from a spawned process as it happens over server-sent events:Write to stdin
Send base64-encoded input to a running process, e.g. to answer an interactive prompt:Resize a PTY
Resizing only works on a process spawned withallocate_tty: true — calling it on a plain process returns a 400. Match the terminal to a live view or client window:
Kill a process
signal accepts TERM, KILL, INT, or HUP.
Root and per-user execution
Passas_root: true or as_user: "<name>" on exec or spawn to control which user the command runs as. This is safe because a Kernel browser is a unikernel VM with no shared host kernel — root inside your session has no path to other customers or platform infrastructure.
Via CLI
The CLI exposes the same operations:Example: co-locating an agent with its browser
Driving a browser from outside the VM means every tool call is a round trip through Kernel’s API. Process execution lets you flip that around: upload an agent binary into the VM with File I/O, then run it alongside Chromium so it talks to the VM’s local Playwright endpoint over loopback instead. See the fx co-located agent cookbook for a full working example.Related
File I/O
Upload and download files from a browser VM
SSH Access
Open an interactive SSH session for debugging
CLI reference
All
kernel browsers process subcommands and flags