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.
At a Glance
Fully free and open-source under Apache 2.0. Self-hosted, bring your own API keys.
Engagement
Available On
Alternatives
Listed Oct 2026
About SAN
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.
Community Discussions
Be the first to start a conversation about SAN
Share your experience with SAN, ask questions, or help others learn from your insights.
Pricing
Open Source
Fully free and open-source under Apache 2.0. Self-hosted, bring your own API keys.
- Single Go binary, zero runtime deps
- Multi-model support (Anthropic, OpenAI, Google, DeepSeek, Ollama, and more)
- MCP server, plugin, skill, subagent, and hook support
- Self-evolving agent with autopilot and goal modes
- san inspector for transcript replay
Capabilities
Key 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
