Skip to main content
This page covers the Sandboxes command group: list, get, delete, and exec. For creating a sandbox, see create; for a shell, see console.

bonya list

Aliases: ls, l
Lists sandboxes.
On a real terminal, bonya list looks like this:

bonya get [sandbox]

Aliases: show, info
Shows one sandbox’s details — id, name, status, template, version, and operation id.

bonya delete [sandbox]

Aliases: rm, del
Tears down a sandbox. This is not reversible.
On an interactive terminal, delete asks “Delete <name>? This cannot be undone.” before proceeding, unless --force is passed. Non-interactively there is no prompt at all — naming the sandbox on the command line is itself the confirmation, so --force has no effect there.
Deleting an already-deleted sandbox is not an error — the result reports Already deleted: <id> instead of Deleted <id>.

bonya exec [sandbox] [flags] -- cmd [args...]

Aliases: run, x
Runs a command in a sandbox and exits with the remote command’s exit code.
exec takes any number of arguments, so it’s valid to run it with no sandbox and no command — it prompts for whichever is missing (interactively only; see non-interactive behavior). With --tty and no explicit --cols/--rows, the terminal size defaults to your own and resizes propagate as you resize your window. Without --tty, stdout and stderr are captured and printed separately (buffered, not streamed).
A remote command that exits non-zero is a faithful result, not a CLI failure — bonya exec’s own exit code mirrors it exactly, with no extra error message. Don’t treat a non-zero bonya exec exit code as a CLI bug; check what the remote command itself reported.