Run hundreds of tasks and agents in parallel.

Run Claude Code, Codex, and opencode in parallel — each in its own git worktree. Debug in the built-in browser, edit in the built-in IDE, and verify every change while you steer.

strado — acme
Repos
ItemTime spentStatusBranchChangesDev server
ACM-2013h 24m
ACM-2041h 36m
ACM-2022h 6m
ACM-1982h 48m
ACM-1992h 24m
ACM-207
unlinked42m
ACM-1861h 36m
ACM-212
ACM-1831h 14m
unlinked28m
ACM-1954h 12m
ACM-1891h 54m
ACM-1763h 7m
ACM-1712h 23m
Try

Every worktree is a row — branch, tracked time, status, changes, dev server. Click anything. Dummy data. Every keystroke stays in your browser.

The core idea

Everything you are working on, all in flight.

Each piece of work gets a real git worktree: its own branch, its own directory, its own isolated environment. Open as many as you like and leave them all running. No stash-and-switch, no half-finished work bulldozed to go look at something else. Workspaces group repos per org or client — a color, an icon, instant switching, state kept per workspace.

  • A branch, a directory, and an isolated environment for each one
  • Switching costs nothing — parallel work never gets stashed
  • Workspaces group repos per org or context, color-coded with an icon
  • ⌘K palette from anywhere: search every worktree in every workspace
strado — ⌘K

Agents & terminals

Sessions that refuse to die.

Claude Code, Codex, and plain shells run per worktree on a local server — close the window and they keep working; reopen and reattach mid-thought. A session dock shows everything live across worktrees, and status hooks mean the board knows when an agent is working, waiting on you, or done.

  • Per-worktree Claude Code, Codex, and shell sessions
  • Owned by a local server — close the window, work continues
  • Session dock: everything running, live, across all worktrees
  • Status hooks: the board knows working / waiting / done per agent
  • ⌘←/→ worktree switcher with live terminal miniatures — works inside embeds, commits on ⌘ release
strado — acme-storefront · sessions

The hub

One window for all of it. Zero app juggling.

Each worktree opens into a hub: terminal tabs, an embedded browser preview with docked DevTools, and embedded VS Code. ⌘←/→ flips between worktrees with live terminal miniatures — even while focus sits inside the browser or editor embed. ⌘K summons a palette from anywhere: search worktrees across every workspace, pick one, land in its hub.

  • Terminal tabs, embedded browser preview, and embedded VS Code per worktree
  • DevTools docked right beside the preview — inspect without leaving the hub
  • Agents drive the preview themselves — screenshot, click, eval, console, network — via the bundled MCP browser bridge, scoped per worktree
strado — acme-storefront · browser

Dev servers

Ports that sort themselves out.

Start and stop dev servers per worktree straight from the board, with live run status. Ports are auto-assigned, squatters on your port are evicted automatically, and when a start crashes on a conflict, Strado parses the real offending port out of the error output and retries. Env profiles carry the defaults; each worktree can override its command, env, preview URL, and port.

  • Start / stop per worktree from the board, live run status
  • Auto-assigned ports — squatters on your port evicted automatically
  • Crash-retry that reads the actual conflicting port from the error output
  • Env profiles plus per-worktree overrides: command, env, preview URL, port
strado — acme-storefront · settings

The board

One board for everything running.

Every worktree is a row: branch, uncommitted changes, dev-server status, live. Drag to reorder, finished work sinks and fades. Change counts sit on each row and one click opens the full diff. If you use a tracker, Jira and Linear render live on the rows they belong to and transition in one click — and if you do not, the board works exactly the same.

  • Every worktree a row: branch, changes, run status, live
  • Drag to reorder; finished work sinks and fades
  • Change counts per row, one click to the full diff
  • Optional: live Jira or Linear status on a row, transitions in one click
strado — acme-storefront · changes

Time

Estimates are guesses. Worklogs are fiction. Strado measures.

Time tracks itself from real signals — terminal keystrokes, agent turns, file saves, agent output, whichever view you are looking at — sessionized with a 15-minute idle gap. No timers to start, none to forget, no worklog to reconstruct on Friday. Each row shows the hands-on time it actually took.

  • Five signals: keystrokes, agent turns, file saves, agent output, focus
  • Sessionized with a 15-minute idle gap — walking away costs nothing
  • Hands-on time per worktree, on the row, next to the estimate if there is one
  • Measured locally and kept locally — it never leaves your machine
strado — acme
sessions outlive the window
~60 MB engine footprint
localhost code never leaves it

Why Strado

Review proof, not promises.

Plenty of tools will start N agents in N worktrees. Strado is what happens after: watching them, verifying their work in an embedded browser, reviewing the diffs, and knowing where the time actually went. Bring your tracker if you use one — it plugs in, it is not the point.

Local-first

Your machine, not a cloud.

A ~60 MB Node process on your machine owns all state — worktrees, sessions, tracking data. The UI is a window onto it. Outbound traffic is the tracker calls you configure, made by that local server: the token sits in a permission-restricted file under ~/.strado and never reaches the browser. Signed-in builds also send a heartbeat and anonymous usage counts — never code, paths, or content — and STRADO_TELEMETRY=0 turns those off.

Your window

Electron or browser tab

Strado engine

~60 MB Node process · localhost

Your repos

worktrees on disk

Jira / Linear

HTTPS · your token, local-only

All state in plain local files you can open yourself.

The engine idles around 60 MB; embedded VS Code and previews cost what those tools always cost.

Open source under MIT — read the code that touches your repos.

Close the window. Nothing stops.

The engine owns your sessions — reopen the window and reattach, agents still mid-task. Board, worktrees, and tracking, exactly where you left them.

strado — zsh

$ npm run desktop

strado engine already running on localhost:4317 · 58 MB

reattached: 34 worktrees · 61 live sessions (12 agents mid-task)

tracker synced · 22 items linked to a worktree

tracked today: 6h 41m hands-on across 14 worktrees

your move.

FAQ

Fair questions.

Which agents does it support?

Claude Code and Codex out of the box, and anything with a CLI via plain shell sessions. If it runs in a terminal, it runs in Strado — persistently.

Can agents see what they build?

Yes. Strado bundles an MCP browser bridge, so Claude Code and Codex can drive the embedded preview themselves — take screenshots, click, fill forms, eval JS, read the console and network. Each agent only reaches its own worktree’s preview.

Do I need a tracker like Jira?

No, and nothing is degraded without one. Worktrees, agents, the board, the embedded editor and browser, dev servers, diffs and time tracking all work on their own. Connect Jira or Linear and you additionally get live status on the rows, one-click transitions, and bulk import of what you are working on — but Strado never requires a ticket to exist before you can start.

Which platforms?

macOS (Apple silicon) and Linux (x86_64) as desktop apps — both downloadable above. Because the engine is a small local server, you can also point any browser at localhost. Windows is on the roadmap.

Where is my data?

On your machine, in plain local files you can open yourself. Code, sessions, and tracking data stay on localhost. Outbound traffic: the tracker API calls you configure (that token sits in a permission-restricted file under ~/.strado and is never sent to the browser — the local server makes those calls), plus, in signed-in builds, a heartbeat and anonymous usage counts — never code, paths, or content. Set STRADO_TELEMETRY=0 to turn those off.

Is it open source?

Yes — the whole app, MIT-licensed, at github.com/strado-io/strado. Read the code that touches your repos, build it from source, or open an issue. Local-first is easy to claim; open source lets you check.

What will it cost?

Free during the beta. Pricing comes later, and early users will get a meaningful deal. No usage-based surprises — Strado runs on your hardware.

One window. All of it.

Download it, point it at a repo, and run your first worktree in a couple of minutes. macOS and Linux.