zag
BetaThe terminal coding agent.
A coding agent where the window system is the platform. Splits, focus, buffers, sessions, tools, hooks, and plugins are core primitives.
Star on GithubBring your own model stack.

Features
Full-screen TUI
A focused terminal interface with vim-style modal editing.
Per-pane sessions
Binary-tree window splits let each pane hold its own agent session.
Runtime model switching
Swap models mid-session without restarting or losing history.
Crash-safe persistence
Append-only JSONL sessions keep agent work recoverable.
Workspace tools
Built-in read, write, edit, bash, and window management tools.
Parallel tool calls
Multiple tool calls in one turn can run at the same time.
Lua plugin system
Extend tools, hooks, keymaps, providers, and runtime behavior.
Headless mode
Run single-shot agent tasks for benchmarks and automation.