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 files
Manage files inside a sandbox over SFTP. Remote paths use the form <sandbox>:<path>, and relative paths resolve against /workplace. bunny sandbox file works as an alias.
bunny sandbox files list
List the files in a sandbox directory. A bare sandbox name lists /workplace; use <sandbox>:<path> for a specific directory.
bunny sandbox files cp
Copy a file between your machine and a sandbox. Exactly one of the two paths must reference a sandbox as <sandbox>:<path>; the other is a local path.
This command used to be
bunny sandbox cp. The old command no longer copies files. It prints the matching bunny sandbox files cp command to run instead.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.