# Base Image (https://tenki.cloud/docs/sandbox/base-image)

> For the complete documentation index, see [llms.txt](https://tenki.cloud/llms.txt)

What every Tenki Sandbox session ships with out of the box, and how to add your own tools.



Every Tenki Sandbox session starts from the same prepared **base image**, so common
runtimes and tools are already present the moment a session reaches `READY`. The
essentials need no install-and-warm-up step. This page lists what ships by default and
how to add anything else.

The base is a **standard Ubuntu 24.04 LTS** microVM. You log in as the `tenki` user
(uid 1000) with passwordless `sudo`, so you can `apt install`, `pip install`, or
`npm install` anything not listed here.

> **Versions change over time:** The versions below reflect the current base image and are refreshed as tools release updates. To see exactly what a live session has, run the version command for the tool (for example python3 --version or node --version) inside the session.

Language runtimes [#language-runtimes]

| Runtime | Version | Notes                                          |
| ------- | ------- | ---------------------------------------------- |
| Python  | 3.12    | Ubuntu 24.04 system Python, with `pip`         |
| Node.js | 24.14.0 | Installed via `nvm`; `npm` included            |
| Bun     | 1.3.14  | Fast JavaScript/TypeScript runtime and bundler |

Package managers & language tooling [#package-managers--language-tooling]

| Tool                       | Version | Purpose                                   |
| -------------------------- | ------- | ----------------------------------------- |
| pip                        | latest  | Python package installer                  |
| uv                         | 0.11.28 | Fast Python installer and resolver        |
| npm                        | bundled | Node package manager (with Node.js)       |
| pnpm                       | 10.20.0 | Fast, disk-efficient Node package manager |
| TypeScript (`tsc`)         | 5.9.3   | TypeScript compiler                       |
| ts-node                    | 10.9.2  | Run TypeScript directly                   |
| typescript-language-server | 5.3.0   | TypeScript/JavaScript LSP                 |

Coding agents [#coding-agents]

Tenki Sandbox bakes in the major terminal coding agents so you can drive them directly
inside a session:

| Agent        | Command    | Version |
| ------------ | ---------- | ------- |
| Claude Code  | `claude`   | 2.1.209 |
| OpenAI Codex | `codex`    | 0.144.4 |
| opencode     | `opencode` | 1.17.20 |

Python data & ML libraries [#python-data--ml-libraries]

Preinstalled into the system Python so data and analysis workloads run without a setup
step:

| Category  | Package                | Version   |
| --------- | ---------------------- | --------- |
| Data core | numpy                  | 2.4.1     |
| Data core | pandas                 | 2.3.3     |
| Data core | matplotlib             | 3.10.8    |
| Data core | scipy                  | 1.17.0    |
| Data core | seaborn                | 0.13.2    |
| Data core | pillow                 | 12.1.0    |
| Data core | requests               | 2.32.5    |
| Data core | beautifulsoup4         | 4.14.3    |
| ML        | scikit-learn           | 1.8.0     |
| ML        | opencv-python-headless | 4.13.0.90 |

Heavier deep-learning frameworks (PyTorch, TensorFlow, Transformers, and similar) are
**not** preinstalled. They tend to be large and GPU-oriented, so it's best to pin them
per workload. Install them per session or bake them into a [template](/docs/sandbox/templates).

Common CLI tools [#common-cli-tools]

Available on `PATH` in every session:

* **Version control & GitHub:** `git`, `gh`
* **HTTP & transfer:** `curl`, `wget`, `rsync`
* **Search & data:** `ripgrep` (`rg`), `jq`, `sqlite3`
* **Archives:** `tar`, `zip`/`unzip`, `zstd`, `bzip2`, `xz`
* **Build:** `build-essential` (gcc/make), `pkg-config`
* **SSH:** `openssh-client`, `openssh-server`
* **Inspect:** `file`, `less`, `lsof`

Checking what's installed [#checking-whats-installed]

Because you have `sudo`, you can inspect anything from inside a session:

```bash
python3 --version
node --version
claude --version
python3 -c "import numpy, pandas, sklearn; print(numpy.__version__, pandas.__version__)"
dpkg -l | grep -i ripgrep
```

Adding your own tools [#adding-your-own-tools]

For a one-off session, just install what you need:

```bash
pip install polars
sudo apt-get update && sudo apt-get install -y ffmpeg
npm install -g some-cli
```

If every session should start with the same extra tools, define them once in a
[template](/docs/sandbox/templates) instead of installing on each session — the template
build captures the prepared environment as a snapshot so new sessions start ready.

> **Need a package added to the base?:** If you think a tool or library is broadly useful enough to belong in the default base image, let us know. We keep the base intentionally lean, but the included package set evolves based on what customers reach for most.
