macOS · a cockpit for Claude Code

Conduct a fleet of Claude Code sessions.

Maestro runs and watches every Claude Code session at once — and conducts them. Live terminals grouped by project, an Inbox that ranks what needs you, and a Maestro panel docked right beside the work.

Download for Apple Silicon requires Claude Code
Built with Claude, for Claude
scroll
One becomes many

One terminal isn't enough anymore.

eager-urchin~/web-app
> add a rate-limit banner
subagent edit Banner.tsx
✓ ready for review
auto mode oneager-urchin
golden-yak~/api
> add idempotency keys to checkout
⠙ running tests…
✓ 41 passing
auto mode ongolden-yak
brave-lynx~/infra
? apply migration to production
awaiting your confirmation
needs your inputbrave-lynx
snappy-ferret~/docs
> rewrite the quickstart guide
✓ 6 pages updated
⠹ checking links…
auto mode onsnappy-ferret
quiet-otter~/mobile
> fix scroll jank on long lists
⠙ profiling render…
✓ 60fps restored
auto mode onquiet-otter
clever-heron~/data
> backfill the events table
✓ schema valid
⠹ writing 2.1M rows…
auto mode onclever-heron
Live demo

Your mission control. Try it.

Drag panes to rearrange them. Resize from any edge. Spin up a new session. This is the real cockpit layout, running on the same grid engine as the app.

A live preview of the cockpit, running on the same grid engine as the app. Open it on a Mac to drag, resize, and spin up sessions.

Maestro
All Sessions 4 running
Maestro
infra · brave-lynx needs your input
Maestro
All Sessions 2 running
eager-urchin~/web-app
> add search filters
subagent edit
✓ 18 passing
auto mode oneager-urchin
brave-lynx~/infra
? apply migration
awaiting confirm
needs youbrave-lynx
drag a pane by its header · resize from any edge · trash to close · use the sidebar + to start a session
preview only on mobile · full drag & resize on macOS
The Maestro panel

Your conductor, docked beside the work.

Maestro is a chat that sees your whole fleet, live — and it now lives in a persistent side panel next to your terminals. One click on the Maestro chip in the top bar opens it; it stays put while you move between projects.

All Sessions lives in the top bar · one click opens the dock → Maestro
Maestro sees 6 sessions · 3 projects
which sessions need me?
Two are waiting on you:
brave-lynx~/infra awaiting confirmation · 12m jump →
eager-urchin~/web-app ready for review jump →
when golden-yak finishes, tell snappy-ferret to update the docs
Rule armed. When golden-yak finishes, I'll queue this for snappy-ferret:
> update the docs for the new refunds flow
Approve & send Edit nothing is sent without you
Ask anything, or hand it a goal…
golden-yak~/api
> ship the refunds flow
⠙ running tests…
brave-lynx~/infra
? apply migration to production
awaiting your confirmation
Activity log
14:02 started snappy-ferret in ~/docs — rule #2
13:58 answered “which sessions need me?”
13:41 armed rule: golden-yak → snappy-ferret
every orchestrator action, logged with its why
off by default · you enable actions in Settings · Maestro always asks before typing into a session

Always one click away.

Docked beside your terminals — resizable, collapsible, expandable to full screen. It follows you between projects, and collapsing never kills the conversation.

?

Ask it anything.

“Which sessions are waiting on me?” “What is golden-yak doing?” It reads real state, not guesses — and jumps you to the right pane.

Let it act.

Hand it a goal and it sets up the workspaces, spawns the sessions, and starts them with the right prompts. Every send is shown to you for approval first.

Chain your agents.

“When A finishes, tell B to continue.” Rules fire automatically; an activity log shows everything the orchestrator did, and why.

Inbox · ⌘J

Stop scanning terminals.

The Inbox is a ranked queue of exactly what needs a human: sessions waiting on input, finished turns you haven't read, agents that went quiet. It's built from deterministic rules over tracked state — no model call decides the order — and every row tells you why it's there. ⌘J jumps you straight to the top item.

Inbox 3 need you ⌘J → top
brave-lynx~/infra waiting on your input · 12m ⌘J
eager-urchin~/web-app finished · unread open
clever-heron~/data stuck? · 18m silent open
ranked by deterministic rules over tracked state · every row says why
Mission control

Your whole fleet on one screen.

The Overview is Maestro's mission control: how many sessions are working, idle, or waiting on you — click a tile to filter. Today's messages and tokens, an hour-by-hour activity chart, what the orchestrator did for you, and a Stuck watch that flags agents that went quiet. Reply to a waiting session straight from its card. Hide any widget you don't want.

4
working
1
waiting on you
2
idle
1
stuck?
Today hour by hour
132
messages
8.4M
tokens
6
sessions
9am12pm3pm6pm9pm
Maestro today
auto-continued golden-yak at reset
started snappy-ferret in ~/docs
answered 3 fleet questions
Stuck watch1 flagged
clever-heron⠙ looks busy 18m silent
brave-lynx~/infra
? apply migration to production
yes — apply it
click a tile to filter the grid Stuck watch flags silent agents reply without opening the pane
Work modes

Same Claude. Your rules.

Pick a work mode and every new session starts with it — or Satirical, if you like your diffs with a side of sass. Set a default, override per session.

!

Direct & honest

No flattery. It tells you when you're wrong — and pushes back.

Design

Mockups first. Code after you've signed off on the look.

Plan-first

Confirms the plan with you before it touches a single file.

·

Terse

Essentials only. No ceremony, no recap, no fluff.

sass: on
;)

Satirical

Your diffs, with a side of sass. Still correct. Just… commentary.

set a default in Settings · override per session from the new-session menu
Limit reset

The 5-hour limit isn't a wall anymore.

Getting close to your Claude limit? Queue a message and pick a session — Maestro sends it the moment your window resets, and can keep your Mac awake until it fires. Come back to work that kept moving.

5-hour limit almost reached resets 2:14 AM
92% usedqueue a message for the reset →
Auto-continue armed golden-yak
> keep going on the refunds flow
fires at 2:14 AM keeping Mac awake
Parallel sessions

Every session, in one view.

Run and watch many Claude Code sessions at once in a draggable grid. Each pane shows the session's live Claude Code status (idle, working, or waiting on you), plus running subagents.

acme-web
payments
infra
docs
drag me
mobile
Maestro watches what you can't

It taps you on the shoulder.

Glow, sound, and a macOS alert when a session needs you. A live context gauge on every pane shows how close each session is to auto-compacting — the same number Claude Code sees. And if an agent looks busy but has gone silent, Stuck watch flags it before you waste an afternoon on it.

infra · deployneeds you
? apply migration to prod?
awaiting your confirmation
golden-yak ~/api ctx 74%
live context · auto-compacts at 80% · matches Claude Code
clever-heron⠙ looks busy 18m silent · stuck?
Maestro
infra · deploy needs your input
running subagents 0
5-hour limit62%
weekly limit38%
Agents & usage at a glance

Know your limits before you hit them.

See running subagents live, plus your 5-hour and weekly Claude limits, and get alerted before you hit them.

Worktrees & workspaces

Parallel work, without the collisions.

Spin a session up inside its own git worktree — an isolated checkout on its own branch, with branch and PR status right on the pane. Organize a busy repo into named, color-coded workspaces (“Power refactor”, “Bug triage”) and switch with tabs.

keen-marten ~/acme-web ⎇ power-refactor wt PR #142
> extract the billing engine into a package
isolated checkout · nothing touches main
acme-web · workspaces
Power refactor Bug triage +
keen-marten · wt · ⎇ power-refactor
bold-sable · wt · ⎇ billing-pkg
refunds ⌘P
golden-yak~/api · ⎇ refunds-flow today resume
bold-sable~/api · “refund emails” 2d ago resume
keen-marten~/web-app · closed in Maestro 3w ago resume
search by name, prompt, project, or branch · ⌘P jumps projects and sessions
History

Nothing is ever lost.

Every Claude session ever run on your machine, searchable by name, prompt, project, or branch — and resumable with one click. Closing a session in Maestro is non-destructive: the conversation is always in History. The ⌘P palette puts projects and sessions in one jump list.

Prompt history & forking

Rewind past the drift.

Each session keeps everything you asked it, newest first, full text one click away. Every answered prompt offers Fork from here — a new session whose conversation is the original up to that point. Rewind past a wrong turn without losing the good context before it.

Prompt history golden-yak · newest first
> also add refunds to the admin panel
> wire the refunds flow into checkout
⑂ Fork from here new session · conversation up to this point
> ship the refunds flow
full prompt text one click away · the original session keeps running
README.md Banner.tsx migration.sql ⌕ find
Refunds flow
Refunds are processed through the new RefundEngine with idempotency keys.
validate → authorize → settle
partial refunds supported
live · refreshing as Claude edits
⌘-click any file path Claude prints · one tab set per project
Files as tabs

See what Claude is writing.

⌘-click any file path Claude prints and it opens in a side panel with rendered markdown. Files stack as tabs, and each project keeps its own tab set — switch projects, switch tabs. The view live-refreshes while Claude edits the file, and find-in-file is built in.

Sleep & priorities

Fleets that scale past your RAM.

Idle sessions can sleep: the process is killed and the memory freed, but the conversation and pane stay — wake one and it resumes in place. Optional auto-sleep parks sessions after a configurable idle window, and priority sessions star and sort first everywhere.

golden-yak~/apipriority · sorts first
> ship the refunds flow
⠙ running tests…
quiet-otter~/mobilezZ sleeping · RAM freed
conversation kept · pane kept
wake → resumes right here
auto-sleep idle sessions after20 min
Remote orchestrator Tailscale off by default
listenertailnet address only
authtoken-gated · ••••••••
surfaceorchestrator only
telemetryloopback only
every remote action still passes the app's approval gates
Remote, the careful way

Conduct from the couch.

Opt in to a token-gated listener bound to your machine's Tailscale address and drive your fleet from another machine — no macOS Remote Login required. It serves only the orchestrator surface, session telemetry stays loopback-only, and every remote action still passes the app's approval gates.

More in the cockpit

Tuned for living in it all day.

>_

Customizable terminal

Seven color themes (Dracula, Solarized, Gruvbox, and more), five monospace fonts, and adjustable font size. Applied live across every session and saved between launches.

Layouts & Tidy

Drop sessions into 2-, 3-, or 4-pane templates, plus a Tidy action that auto-arranges everything into a clean full-width stack.

Session persistence

Sessions survive restarts, and Maestro can auto-resume the ones that were live when you quit. Per-folder history lets you reopen a past session by name or ID.

%

Usage alerts

Get notified at custom percentage thresholds (like 80% and 95%), and a set time before your 5-hour window resets.

Custom sounds

Choose your own notification sounds for the moment a session needs you, so you know it by ear.

Always current

Built-in background auto-update keeps Maestro fresh, with no manual reinstalls to think about.

Claude theme

A warm, paper-like theme that feels like home — plus dark cockpit classics.

;)

Work-mode default

Every new session starts in your chosen mode — Direct, Plan-first, Terse, or Satirical.

Your dashboard, your call

Show or hide any Overview widget. Keep the mission control you actually use.

»

⌘J

Jump to the top of your Inbox — the next thing that needs you. One key, zero hunting.

Day recap

A Claude-written summary of what your whole fleet did today, across every session.

Context inspector

See exactly which CLAUDE.md files and skills a session actually loaded — no more guessing.

Scoped overviews

Mission control per project or group, not just the whole fleet at once.

Import / export

Move your whole project and session setup between Macs in one file.

First-run tour

A guided first run walks you through the cockpit in a minute — then gets out of the way.

?

Built-in guide

Lost? Ask the orchestrator how anything in Maestro works.

The terminal is the hero

Real Claude Code. Live.

claude · acme-web

Subscription-native. Local-first.

Uses your existing Claude Pro or Max login. No API key to manage. Your sessions stay on your Mac.

Pro / Max login No API key Local-first Orchestrator asks first

Orchestrator actions are off by default — every send is approved by you first.

Running an older Claude Code CLI? Maestro degrades gracefully and guides you to update — it never just breaks. The app keeps itself current in the background.

Behind Maestro

Maestro is a Condorsoft side‑quest.

We're Condorsoft, a software development company. We build products end to end, and plug into teams through consulting and staff augmentation. Maestro is what we make when we build for ourselves. Got something you want built? Let's talk.

Let's talk
Condorsoftonline
software development · idea → operation

“We build products that survive real growth.”

Software Development AI Engineering Consulting Staff Augmentation
Available for new projects
Support Maestro

Keep the music playing.

Maestro is free, and there is no paid tier. If you want to get behind it, talk to us.

Invest or partner

Talk to us as a company.

Maestro is built by Condorsoft. If you want to invest in the project or explore a partnership, talk to us directly — this is a conversation, not a checkout.

Talk to us
reaches the people who build Maestro, directly
Built with Claude, for Claude — support keeps it that way.

Conduct your fleet.

Bring your own Claude Pro or Max plan.

Download for Apple Silicon
Native builds for Apple Silicon and Intel Macs (macOS 13+) · requires Claude Code · auto-updates itself