# SAN

> An open-source terminal agent runtime built as a single native Go binary with minimal overhead, zero runtime dependencies, and support for multiple AI model providers.

San is an open-source terminal agent runtime written in Go, released under the Apache 2.0 license by genai-io. It ships as a single ~12 MB binary with zero runtime dependencies — no Node.js, no Python — and is designed to run anywhere from a laptop to a CI runner to an air-gapped host. The project is actively maintained, with the latest release v1.23.0 published on September 27, 2026.

## What It Is

San is a CLI-based AI coding and general-purpose agent that connects to large language models and executes tasks through a reason → act → observe loop. Unlike heavier agent runtimes, San keeps its harness context to approximately 2.3k tokens, leaving the rest of the context window for actual work. The name references the Chinese character 三 ("three"), drawn from the Dao De Jing phrase 三生万物 — "three begets the ten-thousand things" — reflecting the three core properties the project refuses to trade away: small, fast, and open.

## Architecture and Open Design

San's architecture is built around pluggability at every layer:

- **Models**: Anthropic (Claude), OpenAI (GPT, o-series), Google (Gemini), DeepSeek, Moonshot (Kimi), Alibaba (Qwen), Ollama (local), and a dozen more providers
- **Search backends**: Exa (default), Tavily, Brave, Serper
- **Extensions**: skills, subagents, MCP servers, plugins, and hooks — all unmodified from their original format
- **Personas**: bundled system prompts, skills, and settings that can be switched mid-session
- **Inspector**: a local web UI for replaying any run exactly as the model saw it

Configuration lives in `~/.san/` (user-level) and `.san/` (project-level), with project settings overriding user settings. Project instructions follow the AGENTS.md standard.

## Performance Footprint

The project publishes a benchmark comparing San against Claude Code v2.1.112 on Apple Silicon using the same model (`claude-sonnet-4-6`). According to those measurements:

- Download size: 12 MB vs 63 MB + 112 MB Node.js
- Startup time: ~0.01s vs ~0.20s
- Tool-use task completion: ~3.3s / 39 MB vs ~26.0s / 285 MB
- Harness context overhead: ~2.3k tokens vs ~20.9k tokens

The project notes that "comparable feature sets — San runs Claude Code's skills, plugins and MCP servers unmodified — so the gap is client-side overhead, not capability."

## Self-Evolution and Autonomy Controls

San includes a self-learning loop (`/evolve`, `/goal`, `/autopilot`) that can update skills and memory across sessions. The permission model lets users choose how much the agent may do without asking — ask, auto-accept, or full autopilot — and subagents inherit that permission scope. The `san inspector` subcommand replays any session transcript exactly as the model received it, supporting auditability.

## Update: v1.23.0

The latest release is v1.23.0, published September 27, 2026. The repository was last pushed on September 28, 2026, indicating active development. San auto-updates in the background by default, with the status line prompting for a restart when a new release is ready; background updates can be disabled via `/settings` or the `SAN_DISABLE_AUTOUPDATE=1` environment variable. Model lineups, context windows, and pricing metadata are refreshed daily from models.dev.

## Installation Paths

San supports multiple installation methods:

- **Homebrew** (macOS/Linux): `brew tap genai-io/san && brew install san`
- **curl installer** (macOS/Linux): one-line shell script
- **PowerShell installer** (Windows)
- **Go install**: requires Go 1.26.0+
- **Build from source**: standard `go build`

On Windows, San runs commands under PowerShell by default, with the shell selectable via `SAN_SHELL`.

## Features
- Single native Go binary (~12 MB), zero runtime dependencies
- ~0.01s cold start, ~2.3k token harness context
- Multi-model support: Anthropic, OpenAI, Google, DeepSeek, Ollama, and more
- Multi-persona system with switchable bundled system prompts
- MCP server, plugin, skill, subagent, and hook support
- Self-evolving agent with /evolve, /goal, and /autopilot commands
- Permission model with ask / auto-accept / autopilot modes
- san inspector for local transcript replay and debugging
- Web search backends: Exa, Tavily, Brave, Serper
- AGENTS.md standard for project-level instructions
- Background auto-update with restart prompt
- Cross-platform: macOS, Linux, Windows
- Interactive TUI and one-shot / pipe-friendly print mode
- Session resume and transcript indexing

## Integrations
Anthropic Claude, OpenAI GPT, GitHub Copilot, Google Gemini, DeepSeek, Moonshot Kimi, Alibaba Qwen (DashScope), MiniMax, Z.ai GLM, SenseNova, Mimo, Volcengine Ark, Ollama (local), Agnes-AI, Exa search, Tavily search, Brave search, Serper search, MCP servers, Vertex AI

## Platforms
WINDOWS, MACOS, LINUX, WEB, API, CLI

## Pricing
Open Source

## Version
v1.23.0

## Links
- Website: https://genai-io.github.io/san/
- Documentation: https://genai-io.github.io/san/docs.html
- Repository: https://github.com/genai-io/san
- EveryDev.ai: https://www.everydev.ai/tools/san-terminal-agent
