TUI AGENT DASHBOARD

Mission control
for your Claude
Code agents.

Spawn, monitor, and interact with multiple Claude Code agents from a single terminal. Vim-style navigation, split layouts, and automatic state detection.

brew install initia-group/tap/maestro
01

THE PROBLEM

The tab chaos problem

Working with multiple AI agents means opening terminal after terminal. You lose track of which agents are running, miss prompts buried in background tabs, and waste time cycling through dozens of windows just to check on progress. Context-switching kills your flow state, and there's no way to see everything at a glance.

Maestro replaces all of that with one organized dashboard.

FEATURES

Everything you need to manage AI agents

Multi-Agent Dashboard

Spawn, kill, and restart Claude Code agents across projects. See every agent's status at a glance from a single sidebar with color-coded state indicators.

Split & Grid Layouts

View 2 or 4 agents simultaneously. Horizontal splits, vertical splits, and 2×2 grid layouts. Press Tab to cycle focus between panes.

vim

Vim-Style Navigation

8 input modes with familiar keybindings. Navigate with j/k, interact with i, command palette with :, search with /. Your muscle memory works here.

Automatic State Detection

Reads agent terminal output to detect 6 states automatically. Color-coded indicators and pulse animations draw your eye where it matters.

Session Persistence

Save and restore your entire workspace. Agents, layouts, and scrollback are autosaved every 60 seconds. Pick up exactly where you left off.

🔔

Desktop Notifications

Get notified when agents need input, hit errors, or finish their work. Stay productive in other apps while maestro keeps watch.

Command palette Fuzzy-search 13+ commands with : or Ctrl+P
TOML configuration Workspace profiles, agent templates, custom detection patterns
Scrollback & search Full terminal history with regex search via /
Mouse support Click to select agents, drag to select text, scroll wheel
Clipboard integration Select text and copy with Alt+C
Agent templates Reusable configs for one-keystroke spawning
Auto-restart Automatic restart with exponential backoff on agent failure
Markdown export Export agent output as .md files
3 built-in themes Dark, Light, and Gruvbox
Hot-reload config Apply config changes without restarting via :config reload

SPAWN MODES

Four ways to spawn

Press n to open the spawn picker. Choose how you want your agent to run.

01
Claude Code

Regular interactive Claude session. Full TUI with tool approvals and conversation.

02
Claude YOLO

Auto-approve all tool calls. For trusted tasks that should run without interruption.

03
Claude YOLO + Worktree

Auto-approve in an isolated git worktree. Safe parallel development without branch conflicts.

04
Terminal

Plain shell. For non-Claude tasks you want to keep in the same dashboard.

HOW IT WORKS

Terminal-in-terminal rendering

Each agent runs inside a real PTY. Maestro captures raw terminal output via a vt100 parser, converts it into a Ratatui widget, and composites everything into your host terminal at 30 FPS. You see exactly what the agent sees — colors, prompts, spinners, everything.

01Claude Code
02PTY
03vt100 Parser
04Ratatui Widget
05Your Terminal
RustLanguage
~16,900 linesCodebase
30 FPSRender rate
250ms cycleState detection
15Max agents
MITLicense

AGENT STATES

Know what every agent is doing

Maestro reads agent terminal output to detect six states automatically. Color-coded indicators and pulse animations draw your eye where it matters.

SpawningAgent just started, no output yet
RunningActively producing output
?Waiting for InputNeeds your attention — tool approval, question, or prompt
-IdleNo output for 3+ seconds
CompletedFinished successfully (exit code 0)
!ErroredExited with an error code or signal

INSTALLATION

Get started in 30 seconds

Requires Claude Code CLI to be installed and authenticated.

brew install initia-group/tap/maestro

First run

maestro

That's it. Maestro starts with built-in defaults. No config file required.

CONFIGURATION

Configure your workspace

Create ~/.config/maestro/config.toml to define your projects and agents.

config.toml
[[project]]
name = "my-app"
path = "~/projects/my-app"

[[project.agent]]
name = "dev"
command = "claude"
auto_start = true

[[project.agent]]
name = "tests"
command = "claude"
args = ["--append-system-prompt", "Focus on writing and running tests."]
Auto-start agents

on launch with auto_start = true

Agent templates

for one-keystroke spawning from the command palette

Workspace profiles

to switch between different project configurations instantly

Hot-reload

your config at runtime with :config reload

Full configuration reference →

KEYBINDINGS

Keyboard-first by design

8 input modes. Full mouse support.

j/k
Navigate agents
J/K
Jump between projects
i/Enter
Interact with agent (Insert mode)
Ctrl+G
Return to Normal mode
n
Spawn new agent
d
Kill agent
r
Restart agent
R
Rename agent
s/v
Horizontal / vertical split
Tab
Cycle panes
:/Ctrl+P
Command palette
/
Search terminal output
?
Help overlay
q
Quit

ROADMAP

What's next

01

Multi-agent backend support

Today maestro works with Claude Code. Support for additional AI agent backends is coming, so you can manage different types of agents from a single dashboard.

02

Custom themes

User-defined color schemes via config, beyond the 3 built-in themes.

03

Plugin system

Extensible commands and integrations.

Have ideas?

Open an issue on GitHub or contribute directly. Maestro is MIT licensed and community contributions are welcome.

Open an issue →