Skip to content
Free & open source · ISC license

Warden

See and control all your AI agents from one screen.

Open source. Works with Claude Code, yatfa, or any SSH + tmux terminal.

Warden

worker · laptop

$ rspec spec/models
142 examples
0 failures

planner · laptop

planning
reading routes.rb
drafting tickets

reviewer · build-server

reviewing PR
diff: +120 −34
checking tests

new

researcher · ci-box

idle
last: indexed docs
waiting for work

Sidebar · agent panes · Observer

What Warden is

Warden is a desktop dashboard for AI agent chats. Every agent’s terminal lives in its own pane — real, interactive, full color — side by side, in real time. Click a pane and type; your keystrokes go straight to the agent. Agents spread across your laptop, a build server, and a CI box all show up in one sidebar.

Live agent panes

Each agent is a real terminal — the same TUI, colors, and cursor the agent sees. Not a preview, not a log tail. Type to interact. Search the scrollback. Maximize a pane when you need focus.

A badge marks any pane with new output while you were looking elsewhere, so you always know where to look without checking each one.

Agents on many machines, one view

Your agents do not all live on your laptop. Warden connects to every host over SSH — build server, CI box, cloud VM, local machine — and puts them in one sidebar. Discover yatfa containers automatically, or attach to any tmux session on any host.

The Observer — an assistant that watches your agents

The Observer reads your agents’ output, summarizes what is happening in plain language, and, when you want action, drafts a directive to an agent.

You approve every directive before it is sent. Nothing reaches an agent without your say-so.

The Observer is an LLM you configure. It talks only to the model endpoint you point it at.

Spawn, resume, kill, hide

Spawn a new session

Start a new Claude Code session or a plain shell on any host — it runs in a persistent tmux session that survives Warden restarting.

Resume any past conversation

Pick up any past Claude Code conversation from your history, on any host. The agent picks up where it left off.

Kill a stuck session

Kill a stuck session in one click — a real force-terminate, not just Ctrl-C.

Hide agents you watch less

Hide agents you do not watch often. They keep working; you see them only when you expand the section.

Local by design

  • 100% local. Warden runs on your machine. No cloud, no sync, no third-party analytics — telemetry is off by default and opt-in only.

  • Your credentials stay yours. API keys and SSH keys stay in the app process on your machine.

  • No remote access. The server binds to localhost; no one can reach your Warden from another machine.

  • One outbound call. The only network traffic Warden sends is the LLM endpoint you configure for the Observer.

  • Human-in-the-loop. The Observer drafts directives; you approve every one.

Works with your setup

Warden auto-discovers yatfa agent containers (project-role naming) and shows the agent-bridge TUI live. Do not use yatfa? Warden works standalone with any SSH-accessible tmux session or any Claude Code installation.

Requires: tmux (native on Linux/macOS; MSYS2 on Windows) and Node.js 18+.

Free and open source (ISC)

Use it, modify it, distribute it. Contribute, fork, or star it:

https://github.com/yatfa-ai/warden

The yatfa layer

A selling case for yatfa

Warden is not just managed by agents — it is built and shipped by them. Warden is developed with a yatfa agent team: work is tracked as tickets (the WARDEN-NNN commits in the repo), planned by a Planner agent, built by a Worker agent, reviewed by a Reviewer agent, and researched by a Researcher agent. It is a real, shipping app produced the way yatfa produces all software.

“Almost self-governing,” defined. A yatfa team plans, builds, reviews, and improves on its own. A human stays in the loop for the few decisions that need one — the same approve-gate Warden’s Observer uses. That is what “almost” means: autonomous where it can be, human where it should be.

The numbers below are not slogans. They are measured on Warden’s own development.

data pending

Human interactions per delivery

Average human touches — approvals, directives, interventions — per delivered Warden ticket.

data pending

Full-auto completion rate

Share of delivered Warden tickets that went idea → merged with zero human intervention.

data pending

Delivery rate

Share of started work delivered, versus cancelled or escalated to a human.

data pending

Median cycle time

Idea → merged, median, in hours.

data pending

Throughput

Warden tickets delivered per week.

Verify it yourself The WARDEN-NNN commit history is public. GitHub repository →

Measured on Warden’s own development · window: last 90 days · each figure arrives with the measurement pipeline as a sourced value; until then it shows “data pending.” No number on this page is invented.

Get it

The dev quick start runs Warden from source:

bash
git clone https://github.com/yatfa-ai/warden.git
cd warden
npm install && npm --prefix web install
npm start
# → http://localhost:7421

Prefer a desktop build? Warden ships as a Windows installer, a macOS disk image, and a Linux AppImage. See the repo releases.