List
No sandboxes yet. Make one with: zode new.
Make
--repo, --branch and --pr are labels; they do not clone anything. Leave out --browser or --desktop and the workspace default applies; --browser=false turns it off explicitly.
zode new fails with Your free plan runs at most 2 sandboxes at once. Stop one first.
A workspace with no card on file and no credit left cannot make, fork or start sandboxes until someone adds a card or credit in Billing. See Pricing.
Open a shell
bash -l) in /workspace. When your stdin and stdout are a terminal, the session gets a TTY and follows your window size. With -- cmd, it runs that command instead, the same way as zode exec: one argument runs through bash -lc, several run as is. zode ssh takes the same -e and --env-file flags as zode exec, placed before the sandbox name.
Run a command
zode exec streams stdout and stderr as the command runs, then exits with the command’s exit code. Put the flags before the sandbox name.
The variables go on top of the sandbox’s environment and travel in a header, not the URL.
How the command runs depends on how many arguments follow
--:
- Exactly one argument runs through
bash -lc, so pipes,&&, globs and variables work. Quote the whole command line as one argument. - Several arguments run as argv, as given, with no shell.
zode: command not found: X, and one that is not executable gives zode: permission denied: X. With one argument, bash reports it and the command exits 127 or 126, as in any shell.
stdin: piped input is streamed to the command. If your stdin is a terminal and you did not pass -t, the command gets end-of-file at once, so commands that read stdin do not hang. Without a TTY, Ctrl-C sends INT to the remote command instead of dropping the connection.
If the kernel kills the command for running out of memory, zode prints zode: killed: out of memory (peak N MB). A sandbox that is not running gives zode: demo is stopped; zode start demo.
Give an agent a task
The agent signs in with your subscription or your keys, whichever you chose for it. It runs with its own permission prompts off, because nobody can answer them in an unattended VM.
Fork
--branch, --pr and --max-cost replace the parent’s branch label, PR label and AI spend cap, with the same rules as on zode new. Flags can go anywhere on the line.
Stop, start, delete
zode rm cannot be undone. See Sandboxes for the full lifecycle.