AI sandbox 🤖
  • Nix 73.3%
  • Python 26.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-23 23:18:30 +02:00
clank main.py: podman unshare at the top 2026-08-10 18:10:55 +02:00
container opencode: make OPENCODE_ENABLE_EXA overridable 2026-08-23 23:18:30 +02:00
.gitignore Initial commit 2026-02-26 00:58:32 +01:00
flake.lock flake: use modern nixpkgs source 2026-08-10 15:15:18 +02:00
flake.nix flake: use modern nixpkgs source 2026-08-10 15:15:18 +02:00
LICENSE LICENSE: add Magenta Aps 2026-04-20 12:50:37 +02:00
pyproject.toml python cli 2026-04-20 13:35:01 +02:00
README.md opencode: remove scaleway 2026-08-10 15:20:54 +02:00

🤖 Clank

clank is an AI sandbox, pre-configured to quickly start using AI.

Quick Start

❄️ Get Nix

Clank is built using the Nix package manager.

Debian / Ubuntu

sudo apt install -y nix uidmap
echo 'experimental-features = nix-command flakes' | sudo tee -a /etc/nix/nix.conf
sudo usermod -aG nix-users $USER

At this point you need to log out and in again to effectuate the change to your user's groups.

🚀 Try Clank

Through the power of Nix, you can run Clank without installing anything else.

nix run github:magenta-aps/clank

This mounts the current directory into a sandbox, which the AI will have full access to, so maybe don't do it in a directory with sensitive data. Get the vibes going by running opencode or claude. See below for more.

📦 Install Clank

NixOS

{
  inputs = {
    clank = {
      url = "github:magenta-aps/clank";
      # inputs.nixpkgs.follows = "nixpkgs";
    };
  };
}
{clank, pkgs, ...}: {
  environment.systemPackages = [
    clank.packages.${pkgs.stdenv.hostPlatform.system}.default
  ];
}

Everything Else

alias clank='nix run github:magenta-aps/clank --'

⚙️ Configure Providers

👼 Open Code

See the OpenCode documentation for a list of providers.

  • Gemini: run opencode and then /connect to Google. The API key is here if you work at Magenta. We recommend the Gemini 3.1 Pro Preview model.
  • Mistral: run opencode and then /connect to Mistral. Generate an API key here. We recommend the Mistral Medium (latest) model.

😈 Claude Code

Anthropic doesn't allow using OpenCode with a Claude subscription, so we have to use Claude Code. Open claude and then /login using Claude account with subscription - make sure to Continue with email, not Google.

Due to a bug, you can't use regular /login if you want to use multiple concurrent Claude Code sessions. In this case, run claude setup-token and add the resulting token to ~/.config/clank.sh (on the host):

export CLAUDE_CODE_OAUTH_TOKEN='<your-access-token-here>'

💡 Tips and Tricks

OpenCode Web

CLANK_PODMAN_OPTS='--publish=127.0.0.1:4096:4096' clank opencode web --hostname=0.0.0.0 --port=4096

🧑‍🔧 Development

git clone https://github.com/magenta-aps/clank.git
nix run ~/clank

🗑️ Remove All State

rm ~/.config/clank.sh
nix run nixpkgs#podman -- rm --force --filter 'name=^clank'
nix run nixpkgs#podman -- volume rm clank-persist