Container Packages¶
Every workspace runs inside a container built from
node:26-slim (Debian). The image ships a curated set of packages
so common development tasks work out of the box.
Note: This page documents the default
klangk-workspaceimage. If your deployment uses a custom container image, the available packages may differ.
Language Runtimes¶
| Runtime | Source | Notes |
|---|---|---|
| Node.js 26 | Base image (node:26-slim) |
Includes npm |
| Python 3 | python3 system package |
pip and venv included |
| Bash | Default shell | /bin/sh is symlinked to bash |
| Zsh | zsh system package |
Available but not the default |
Build Tools¶
build-essential— gcc, g++, make, libc headersgitcurl,wgetunzip,zip,xz-utils
Editors¶
vimnanoemacs-nox
CLI Utilities¶
| Tool | Description |
|---|---|
gh |
GitHub CLI |
jq |
JSON processor |
sqlite3 |
SQLite shell |
ripgrep (rg) |
Fast recursive grep |
fd |
Fast file finder (symlinked from fdfind) |
fzf |
Fuzzy finder |
bat |
cat with syntax highlighting |
tree |
Directory tree listing |
htop |
Interactive process viewer |
tmux |
Terminal multiplexer (backs terminal tabs) |
less |
Pager |
rsync |
File synchronization |
file |
File type detection |
Networking / Debugging¶
openssh-clientnet-tools,iproute2iputils-pingtelnetlsofstrace,ltraceprocps(ps, top, free, etc.)
AI Agents¶
- Pi (
@earendil-works/pi-coding-agent) — terminal-based coding agent; see AI Coding Harnesses - Claude Code (
@anthropic-ai/claude-code) — installed via theclaude-codeplugin (included in default plugins.yaml) - Herdr — terminal agent runtime for persistent sessions and pane management
Installing Additional Packages¶
By default the klangk user does not have root access.
With sudo enabled¶
If the administrator sets KLANGK_ALLOW_SUDO=1 (see
Environment Variables), the klangk
user gets passwordless sudo. You can then install packages normally:
Without sudo¶
When sudo is disabled, you can still:
- Install Node packages globally or locally with
npm install - Create a Python virtual environment and pip-install into it:
- Download standalone binaries into
~/bin(which you can add to$PATHin your~/.bashrc)
Packages installed inside a running container are lost when the container restarts. To make system-level packages permanent, build a custom container image (see the Customizing guide).