Terminal agentic coding assistant

wakil

wakil is a terminal agentic coding assistant. It runs its tools in a hisn sandbox, works with the model endpoints you configure, and keeps memory and skills between sessions.

Current release: 0.6.0 · Linux and macOS · Apache-2.0

illustrative session
$ cd ~/projects/myapp && wakil
sandbox: backend=hisn
> add a test for the config loader
tool read_file src/config.go
tool search_files "LoadConfig"
tool run_shell go test ./...
confirm shell command? [y/N] y
ran inside the hisn sandbox

Install

Quick install

curl -fsSL https://github.com/treeol/wakil/releases/latest/download/install.sh -o install.sh && sh install.sh

It verifies checksums and installs wakil and the hisn sandbox into ~/.local/bin; see sh install.sh --help.

Manual install

With a Go toolchain, install the wakil binary into your Go bin directory. A go install build is not pinned to a sandbox image; run wakil version to check.

go install github.com/treeol/wakil/cmd/wakil@latest

Sandbox: hisn 0.4.1

wakil runs its tools in the hisn sandbox. wakil needs hisn 0.4.1 or newer to use it; with an older or missing hisn it falls back to Docker. The commands below are for Linux amd64 (use hisn-aarch64-linux-gnu on arm64).

V=https://github.com/treeol/hisn/releases/download/v0.4.1
curl -fsSLO "$V/hisn-x86_64-linux-gnu" && curl -fsSLO "$V/SHA256SUMS" &&
sha256sum --check --ignore-missing SHA256SUMS &&
sudo install -m 0755 hisn-x86_64-linux-gnu /usr/local/bin/hisn &&
hisn check

Then run wakil doctor in a project to check the runtime, config and image.

Release archives

Release archives (.tar.gz, .deb, .rpm, .apk) and the checksums.txt with its cosign signature are on the releases page. The README Quickstart shows how to verify a release and set up the model endpoint in ~/.config/wakil/config.json.

Features

  • Sandboxed tools

    Shell, file and background-process tools run in hisn, in Docker, or directly on the host if you opt out.

  • Your model endpoints

    Works with the model endpoints you configure in ~/.config/wakil/config.json.

  • Memory and skills

    Durable memory is kept per project and skills are shared across projects, so a new session starts with what earlier ones learned.

  • MCP connectors

    Tools from MCP servers, over stdio or HTTP, are listed under mcp_servers and shown by /mcp.

  • Reasoning control

    Set how much reasoning the model spends, per model or per role, and change it during a session with /think.

  • Headless runs

    Run one task without the terminal UI using wakil run; it exits with a status code.

How it works

  1. Run wakil in a project

    Change into a repository and start wakil, or pass the project directory as an argument.

  2. The model works through tools

    The model reads files, searches, and runs commands with its tools. Shell commands and workspace writes ask for your confirmation unless you turn on auto-approval.

  3. Tools run in a sandbox

    By default tools run in a hisn sandbox when it is usable, otherwise in Docker. Running without a sandbox is an explicit opt-in, and the confirmation prompt stays on.