# What's in a Sandbox

The default image every Buddy Sandbox starts from - operating system, language runtimes, Docker, developer tools, AI coding agent, Buddy CLI, user, and working directory.

Every Sandbox starts from an image with the tools below already installed.

## Operating system

| OS | Notes |
| :--- | :--- |
| **Ubuntu 24.04 LTS (Noble)** | Default |
| Ubuntu 22.04 LTS (Jammy) | Select with `os: ubuntu:22.04` in YAML or `--os ubuntu:22.04` in the CLI |

System packages are kept up to date.

## Languages and runtimes

| Tool | Version |
| :--- | :--- |
| Node.js (with `npm`, `npx`) | 24 |
| `tsx` | latest |
| Go | 1.25 |
| Python (with `pip`, `venv`) | 3.12 on Ubuntu 24.04, 3.10 on Ubuntu 22.04 |
| GCC, G++, Make | via `build-essential` |

## Docker

- Docker Engine 29
- Docker Buildx
- Docker Compose (`docker compose`)

Docker runs without `sudo`.

## Developer tools

- `git`
- `curl`
- `wget`
- `rsync`
- `jq`
- `ripgrep` (`rg`)
- `lsof`
- `nano`
- `screen`
- `unzip`
- `xz`
- `gnupg`
- OpenSSH server

## AI coding agent

- **[Claude Code](/docs/sandboxes/ai-agents.md)** - preinstalled, runs in the `/buddy` working directory.

## Buddy CLI

- **[`bdy`](/docs/sandboxes/cli.md)** - the Buddy CLI, preinstalled and authenticated for your Sandbox.
- **[`this`](/docs/sandboxes/self-management.md)** - a shortcut for managing the current Sandbox from inside it.

```bash
this endpoint add 3000                       # public endpoint
this endpoint add 3000 --auth user:password  # endpoint with HTTP basic auth
this endpoint add 3000 --buddy               # endpoint behind Buddy login
this snapshot create                         # snapshot the Sandbox
this status                                  # Sandbox status
bdy sb --help                                # all Sandbox commands
```

## User and environment

- **User:** `buddy`, with passwordless `sudo`. Anything missing: `sudo apt install <package>`.
- **Working directory:** `/buddy`. New shells start here.
- **Git over SSH:** your Git author and committer identity is passed through, so commits made over SSH are attributed to you.


---
Original source: https://buddy.works/docs/sandboxes/preinstalled-tools