tact-ui mode: default model: claude-sonnet-4

AI coding agent.

Built in Rust. MIT licensed. Your code never leaves your machine.

curl -sSL https://raw.githubusercontent.com/rust-infra/tact/main/scripts/install.sh | bash
View on GitHub ↗

~15 MB · Rust · MIT · 40+ tools · MCP-native

~15MB, no Electron, no Node.js. One binary, instant start.

Your API calls go direct. No cloud relay, no telemetry by default.

Truly open source. Fork, modify, redistribute without restrictions.

MCP servers · Custom skills · Hook system · 40+ built-in tools

Features

Agent loop

Streaming outputs, automatic context compaction, crash recovery. Run headless or interactive.

40+ tools

File I/O, Shell, LSP, Web search, Team messaging, Worktree isolation, Cron scheduling.

Permission modes

Choose your safety level: default (ask per action), plan (review before execution), auto (fully autonomous).

Sub-agents & worktrees

Spawn child agents in isolated git worktrees for parallel, sandboxed task execution.

Native MCP

Use any MCP server as a tool provider. Extend tact with the growing MCP ecosystem.

Quick Start

1

Install

Run the install script on Unix or Windows.

curl -sSL https://raw.githubusercontent.com/rust-infra/tact/main/scripts/install.sh | bash
powershell -c "irm https://raw.githubusercontent.com/rust-infra/tact/main/scripts/install.ps1 | iex"
2

Configure

Create a tact.toml in your project root.

[llm]
provider = "deepseek"
[llm.providers.deepseek]
api_key = "$DEEPSEEK_API_KEY"
base_url = "https://api.deepseek.com"
model = "deepseek-v4-flash"
models = [
    "deepseek-v4-flash",
    "deepseek-v4-pro",
]
3

Run

Launch interactive or headless mode.

tact-ui --config=tact.toml
tact-ui --config=tact.toml headless "Refactor this module"

Theme preview

tact-ui — retro
tact-ui headless "bump deps"
┌─ tact-agent ──────────────────── │ ✓ Updated crate: clap v4 → v4.5 │ ✓ Updated crate: serde v1 → v1.2 └──────────────────────────────
tact-ui — nord
tact-ui headless "bump deps"
┌─ tact-agent ──────────────────── │ ✓ Updated crate: clap v4 → v4.5 │ ✓ Updated crate: serde v1 → v1.2 └──────────────────────────────
tact-ui — brutal
tact-ui headless "bump deps"
┌─ tact-agent ──────────────────── │ ✓ Updated crate: clap v4 → v4.5 │ ✓ Updated crate: serde v1 → v1.2 └──────────────────────────────
tact-ui — dark
tact-ui headless "bump deps"
┌─ tact-agent ──────────────────── │ ✓ Updated crate: clap v4 → v4.5 │ ✓ Updated crate: serde v1 → v1.2 └──────────────────────────────