Skip to main content

What is a Toolbox

A toolbox is a container image that provides the development stack: runtimes, package managers, IDEs, and utilities. Application code is not baked into the image — developers clone and manage repos inside the running sandbox. Every toolbox image includes the dev access layer:
ComponentPurpose
openssh-serverSSH for VS Code Remote, JetBrains Gateway
code-serverVS Code in browser (port 8443)
ttydBrowser terminal (port 7681)
Claude Code CLIAI coding assistant
gh CLIGitHub operations

Build Modes

Build toolbox images from the Images page in the web UI.

Scratch

Build an image interactively by selecting components:
StepDescription
Template (optional)Start from a pre-built template for faster builds
RuntimesChoose from 11 languages with version selection
System PackagesSearch/add from 7 categories or type custom apt package names
Install CommandsShell commands run during build
AI Coding ToolsClaude Code, Codex CLI, Gemini CLI, Plandex, OpenCode, or custom
VS Code ExtensionsExtensions bundled into the image

BYOI (Bring Your Own Image)

Provide an existing OCI image reference. The dev access layer (SSH, code-server, ttyd, gateway) is layered on top automatically.

Templates

Templates are pre-built toolbox images available as starting points. Selecting a template skips the base tool installation and only adds your customizations, making builds significantly faster.
TemplateDescription
BlankUbuntu 24.04 + SSH + Claude Code
Python APIFlask / FastAPI / Django
Node.js FullstackReact / Next.js / Express
Go MicroserviceGo APIs / gRPC services
Java APISpring Boot / Quarkus / Micronaut
RustSystems / CLI tools / WebAssembly
Data Sciencepandas / ML workflows
AI / AgentsClaude Code / LangChain / RAG

Supported Runtimes

RuntimeDefault VersionInstall Method
Python3.12Base image or apt
Node.js20NodeSource apt repo
Go1.23Binary tarball
Ruststablerustup
Java21Temurin JDK
Rubysystemapt
.NET8.0apt
PHPsystemapt + Composer
Elixirsystemapt (Erlang + Elixir)
KotlinlatestJetBrains release zip
Swift5.9Swift.org tarball

Image Forking

When a developer installs packages inside a running sandbox, those changes can be detected and captured into a new image via the Fork feature. Fork detection compares the current state against snapshots taken at boot:
Package ManagerWhat’s Detected
aptNew system packages
pipNew Python packages (global)
npmNew Node packages (global)
VS Code extensionsNewly installed extensions
Click Fork on a running sandbox to see detected changes and build a new image that includes them.

Build Progress

When you start a build, a modal shows live progress:
  1. Creating — preparing the build
  2. Building — executing the Dockerfile (installing runtimes, packages, tools)
  3. Pushing — uploading the image to the registry
  4. Done — image available for use
Build logs stream in real time. If a build fails, the log shows which step failed and why.

Managing Images

The Images page lists all toolbox images in your org:
ActionDescription
BuildCreate a new image from scratch or a template
CloneCopy an existing image config to a new image
Set DefaultSet as the default image for new sandboxes
DeleteRemove the image from the registry