No account? Register
All other settings are optional. Visit the tabs above to add a repo, env vars, exposed ports, or lifecycle hooks.
Clone a repo into the workspace before your postCreate hook runs. Leave Target empty to clone into the workspace root (replace mode). PAT and SSH credentials are AES-GCM-encrypted at rest and never echoed back.
Plain values are stored verbatim; secrets are AES-GCM-encrypted at rest and never echoed back. Names use POSIX shell convention (uppercase letters, digits, underscore; must start with a letter or _).
Container ports published as p<port>-<sessionId>.<base>. Public ports skip the st_token cookie check (webhook / OAuth-callback shape) — only enable for receivers that expect arbitrary callers.
p<port>-<sessionId>.<base>
st_token
These run during session bootstrap. Total wall-clock time across all stages is capped at 10 minutes.
Sets user.name / user.email globally inside the session container so commits land with the right identity.
user.name
user.email
Cloned into ~/dotfiles before the postCreate hook. Uses the same auth credentials as the main repo above (PAT or SSH). Optional install script runs from inside the cloned tree on success.
~/dotfiles
postCreate
Both files are written verbatim into ~/.claude/ so the Claude CLI starts pre-configured. Settings must be valid JSON.
~/.claude/
bootstrap
code tunnel
npm run dev
Per-session limits. Empty fields fall back to the deployment defaults (2 cores / 2 GiB / no auto-stop). Bounds: CPU 0.25–8 cores, memory 256 MiB–16 GiB, idle TTL 1 minute–24 hours.
Stops the container after N of inactivity. Workspace files are preserved; opening a tab restarts it.
Container processes can't bind to ports below 1024 without CAP_NET_BIND_SERVICE. Toggle this ON to grant exactly that capability (and only that one) on docker run, allowing the Ports tab to accept entries like 80 or 443. The container's other capabilities stay dropped.
CAP_NET_BIND_SERVICE
docker run
80
443
Share an invite code with someone to let them register an account. Each code can only be used once.
Long-press to paste from your clipboard, then tap Send. Multi-line content is bracketed so it won't auto-execute on paste.