bunny sandbox manages on-demand cloud sandbox environments backed by Bunny Magic Containers. Each sandbox is a fully isolated Ubuntu container with Node.js, Bun, Python, and Claude Code pre-installed. A 10 GB persistent volume is mounted at /workplace, your default working directory.
Claude Code is pre-installed but needs your own Anthropic credentials before it can do anything: pass an API key at create time (prefer --env-file .env so the key stays out of your shell history), or run claude inside the sandbox and complete the login prompt it prints. Both survive restarts and redeploys: baked env vars live on the container, and the login flow writes to /workplace/.claude on the persistent volume.
Sandbox credentials (app ID, SSH endpoint, agent token) are stored in the CLI’s local config file (~/.config/bunnynet.json by default) so you can reconnect without re-creating.
bunny sandbox create
Create and start a new sandbox. Waits for the container’s SSH port to become reachable before returning.
Variables set at creation are baked into the container and persist across restarts. Values from
--env override those loaded from --env-file. To change them later, use bunny sandbox env.
Once ready, the output shows the app ID and SSH address. Public URLs come later via bunny sandbox url add.
bunny sandbox list
List all sandboxes saved in your local config.
bunny sandbox delete
Delete a sandbox and permanently destroy the underlying Magic Containers app.
bunny sandbox exec
Run a shell command inside a sandbox over SSH. Defaults to /workplace as the working directory.
exec works in scripts and pipes.
Variables passed here apply only to that single command and are not persisted. For persistent variables, use
bunny sandbox env.
bunny sandbox cp
Copy a file between your machine and a sandbox over SFTP. Exactly one of the two paths must reference a sandbox as <sandbox>:<path>; the other is a local path. Remote paths follow the same rules as elsewhere: relative paths resolve against /workplace.
bunny sandbox files
Manage files inside a sandbox over SFTP. A bare sandbox name targets /workplace; use <sandbox>:<path> for a specific directory (relative paths resolve against /workplace).
bunny sandbox cp.
bunny sandbox ssh
Open a full interactive SSH session. Drops you into a bash shell at /workplace. Type exit or press Ctrl-D to close.
Variables apply only to the session and are not persisted.
bunny sandbox url
Manage public CDN endpoints for ports running inside a sandbox. Useful for exposing a dev server or API to the internet.
bunny sandbox url add
Expose a container port as a public HTTPS endpoint. Waits until the URL is provisioned and prints it.
bunny sandbox url list
List all user-created endpoints for a sandbox (built-in api and ssh endpoints are hidden).
bunny sandbox url delete
Delete a public endpoint by name.
bunny sandbox env
Manage a sandbox’s persistent environment variables, the ones baked into the container. Unlike the temporary --env passed to exec/ssh, these survive across sessions. Changing them redeploys the sandbox with the new environment (running processes restart).
bunny sandbox env set
Set one or more persistent variables, merging with the existing set.
bunny sandbox env list
List the sandbox’s persistent variables. The internal AGENT_TOKEN is hidden.