Commands
playroom create
Create a new playroom in a Playhouse (alpha)
Synopsis
Create a new playroom (interactive AI agent runtime) inside a Playhouse.
ALPHA: this command is in active development; flags and behaviour may change between releases.
The playroom comes up with its own persistent home directory and an SSH endpoint you can connect to.
The playroom starts sandboxed: nothing from your machine is forwarded unless you ask for it. Use --env to forward specific host environment variables, --copy to push files or directories in, and --git to clone repositories at boot.
acloud playroom create NAME [flags]Examples
# create a playroom called 'my-room' in the demo Playhouse (uses the default opencode image)
acloud playroom create my-room --playhouse playhouse-demo
# forward an env var, copy your gitconfig in, and clone a repo (token via --env)
acloud playroom create my-room -p playhouse-demo \
--env ANTHROPIC_API_KEY \
--env GITLAB_TOKEN \
--copy ~/.gitconfig:/home/playroom/.gitconfig \
--git https://gitlab.example.com/grp/repo.git
# expose a dev server on the tailnet: port 3000 as-is, and tailnet port 80 routed to 8080
acloud playroom create my-room -p playhouse-demo --port 3000 --port 80:8080Options
--copy stringArray local file or directory to copy into the playroom after it starts; SRC[:DEST]. Repeatable.
--cpu-limit string maximum CPU the playroom may use (default "4")
--cpu-request string CPU reserved for the playroom (default "250m")
--env stringArray host env var to forward (opt-in); KEY=VAL or bare KEY (looked up from host env). Repeatable.
--ephemeral use disposable storage (sized by --storage) instead of a persistent home directory; everything in /home/playroom is wiped if the playroom restarts
--exposure string how to expose SSH: tailscale, nodeport, or portforward (no exposure; reached via API-server port-forward). Default: the playhouse's declared default.
-f, --force-install force a fresh login to the Playhouse even if a cached session is still valid
--git stringArray git repo to clone into the workspace at boot; URL[@REF] (HTTPS only; for private repos forward a scoped token with --env GITLAB_TOKEN / GITHUB_TOKEN). Repeatable.
-h, --help help for create
--image string playroom container image: an alias ('opencode' or 'claude-code') or a full registry path (default "opencode")
--memory-limit string maximum memory the playroom may use (default "2Gi")
--memory-request string memory reserved for the playroom (default "2Gi")
--no-wait return immediately after creating the playroom; don't wait for it to be ready
--port stringArray extra TCP port to expose on the tailnet next to SSH; PORT or PORT:TARGETPORT (e.g. 80:3000 routes tailnet port 80 to port 3000 in the playroom). Repeatable.
--privileged run the container fully privileged — ALL Linux capabilities, host device access, and seccomp unconfined — e.g. to run a real Docker daemon inside it. This is host-equivalent and NOT minimized to what Docker needs: an escape owns the node. The room runs alone on the playhouse's dedicated privileged node pool (which the playhouse must provide)
--proxy-group string Tailscale proxy group name to route the playroom through (required when the Playhouse runs in HA mode)
--read-only make the system filesystem read-only; only /home/playroom and scratch dirs (/tmp, /var/tmp) are writable. Pass --read-only=false to allow system changes like 'apt install' (these reset on every restart) (default true)
--ssh-key string path to SSH public key to install in the playroom (default: first ~/.ssh/id_*.pub found)
--storage string size of the playroom's home directory storage (default "10Gi")
--wait-timeout duration max time to wait for the playroom to become ready (default 5m0s)Options inherited from parent commands
-C, --context string sets the context
--debug enable debug mode
--debug-show-authorization-header prints actual authorization header in debug mode, use with caution!
-O, --organisation string sets the organisation
-p, --playhouse string playhouse cluster slug (defaults to last-used; supports <env>/<slug>, etc.)
--request-timeout duration request timeout for api calls to the Avisi Cloud API (default 15s)
--trace enable trace modeSEE ALSO
- acloud playroom - Manage playrooms (alpha)