Splash
Helge Sverre
A desktop app for running several coding agents at once, each session in its project folder or its own git worktree. It drives agents over the Agent Client Protocol.12
splash.computerSplash and Maestro are both open-source desktop apps for running several coding agents at once, optionally in git worktrees. Maestro, an Electron app, runs each vendor’s CLI in batch mode and adds unattended runs, event triggers and a browser UI; Splash, a Rust app, drives agents over the Agent Client Protocol and shows each session as a transcript.
Helge Sverre
A desktop app for running several coding agents at once, each session in its project folder or its own git worktree. It drives agents over the Agent Client Protocol.12
splash.computerPedram Amini
An open-source Electron app for orchestrating many coding agents: it runs eleven agent CLIs in batch mode and adds Auto Run checklists, event triggers, Group Chat, SSH agents and a browser UI.345678910111213
runmaestro.ai| Splash | Maestro | |
|---|---|---|
| The basics | ||
| What it is | Desktop app, plus a headless server you open in a browser114 | Electron desktop app that can also serve its full interface to browsers on your network, plus a command-line tool, maestro-cli1541316 |
| Release status | v0.2.1, early development117 | v1.0.0 (9 October 2026), its first major release; work began in November 2025. The docs list six agents as beta186319 |
| License | Open source (MIT)20 | Open source (AGPL-3.0)515 |
| Price | Free21 | Free; no paid plan is listed and there is no license check. Agent providers bill model use directly222315 |
| Platforms | macOS 14+ (Apple silicon and Intel), Windows 11 x64, Ubuntu 24.04 x6424 | macOS (Intel and Apple silicon), Windows x64 (installer or portable), Linux x86_64 and arm64 (AppImage, .deb, .rpm)2518 |
| Agents | ||
| Agents | Ships launch commands for 20 agents, including Claude Code, Codex, Copilot, Gemini, Goose, OpenCode2627 | Eleven CLIs, including Claude Code, Codex, OpenCode, Copilot CLI, Antigravity CLI and Grok CLI; adding another takes a source change672822 |
| How it runs agents | Agent Client Protocol over stdio, natively or through a pinned adapter for the vendor’s CLI262 | Each vendor’s CLI in batch mode, reading its structured output; opt-in modes drive Claude Code’s TUI or a shared OpenCode server82973031 |
| Agent sign-in Who pays for the model | You install and sign in to each agent’s CLI yourself; Splash runs it with that login27 | Your CLIs’ own logins; Claude Code bills API credit or a Max plan, and Claude Code, Codex and OpenCode agents can each use a different account15233032 |
| Account required | Splash has no accounts; splash-server asks for a token it keeps in its data folder3314 | None; the optional leaderboard asks for an email, and turning on Web Login adds local accounts for browser access2313 |
| Permission requests When an agent asks before it acts | Yes: Shown in the transcript and answered with the 1–9 keys; pending ones wait in Needs attention34 | Partly: Claude Code’s Standard mode brings approvals and questions into Maestro, except over SSH; Codex and OpenCode runs approve automatically6307 |
| MCP servers | Partly: Read-only list of MCP servers from Claude Code, Codex, Pi, Pool and Glue config files3435 | Partly: Agents keep the MCP servers set up in their own CLIs, and the docs describe no MCP manager; Coworking and maestro-cli mcp serve offer Maestro’s own tools over MCP153637 |
| Working in parallel | ||
| Isolation per session | Yes: The project folder, or a git worktree on its own branch per session34 | Yes: The project folder by default; a worktree sub-agent gets its own directory and branch. No per-agent containers38822 |
| Setup scripts and dev servers | No: A worktree is a plain git checkout; Splash runs no setup scripts or dev servers3439 | Yes: A Setup Script prepares each new worktree, for example copying .env files; a terminal tab’s startup command can start a dev server. Port allocation isn’t documented384016 |
| What needs you | Yes: One queue for permission requests, connection failures and finished turns, kept across restarts3441 | Yes: Status dots, unread badges and OS notifications; opt-in Pianola answers waiting prompts using your rules and passes others to you404243 |
| Agents handing off work One agent launching or messaging another | No: Each session is one agent in one folder; sessions don’t hand work to each other134 | Yes: In Group Chat a moderator agent routes questions across agents; @mentions consult another agent once; agents can drive Maestro through maestro-cli1183 |
| Scheduled tasks Agents that start without a prompt from you | No: No scheduler; an agent starts when you create, continue or prompt a session44 | Yes: Maestro Cue sends prompts on timers, file changes, finished agents, new GitHub PRs, issues or labels, and webhooks, set in each project’s cue.yaml1045 |
| Built-in browser | No: No built-in browser; the workbench holds git changes, a file tree, diff and file tabs, and a terminal34 | Yes: Browser tabs next to each agent’s chat and terminal; opt-in Coworking allows Claude Code, Codex, OpenCode and Factory Droid agents to inspect them34036 |
| Terminal | Yes: A terminal in the session folder34 | Yes: A real shell per agent in its working directory, with several tabs that can each run a startup command; also on SSH hosts4012 |
| Review and shipping | ||
| Review changes | Yes: Latest response, failed tools and every changed file as a diff, with a box to send feedback34 | Yes: A side-by-side diff viewer, a git log graph and a changed-files list; no line comments back to the agent3840622 |
| Files and diffs | Partly: File tree, git changes and diff tabs; files open read-only, with no editor3446 | Partly: File explorer and editable preview tabs, also over SSH; Maestro’s own comparison page says editing is restricted to markdown401222 |
| Create pull requests | No: Shows the PR for a session’s branch and starts worktrees from PR heads; does not create PRs3447 | Yes: Opens a PR from any agent’s branch via gh, with a generated title and description; maestro-cli Auto Runs can too38 |
| GitHub | Yes: Issues, pull requests and Actions runs across repositories, through the gh CLI3447 | Yes: Through gh: PR creation, Cue triggers on new PRs, issues and labels, and Gists. Merging PRs and CI status aren’t documented384540 |
| Issue trackers | Partly: GitHub (github.com), through the gh CLI; no Linear or Jira3447 | Partly: GitHub issues and labels can trigger agents through Cue, and GitLab through a generic webhook; no Linear or Jira4522 |
| Where it runs | ||
| Cloud execution | No: Agents run as child processes on your computer, or on your own server with splash-server114 | No: None; agents run on your computer or on your own SSH hosts2212 |
| Remote access | Yes: splash-server runs on the machine with your code; you use it in a browser over an SSH tunnel. Single user.14 | Yes: Agents on SSH hosts; Live serves the full UI to browsers and phones on your network or, via a Cloudflare tunnel, anywhere1213 |
| Mobile app | No: No mobile app; builds cover macOS, Windows, Ubuntu and a headless server24 | Partly: No native app; phones open the full web interface in a one-handed layout, on your network or through a tunnel2213 |
| Auto-update | No: Download new versions from GitHub Releases; the app does not update itself2448 | Yes: Checks for a new version at startup and can download and install it from inside the app; beta and release-candidate builds are opt-in4249 |
| History and search | ||
| Existing agent history Conversations started outside the app | Yes: Browse, preview and import conversations agents list over ACP, including ones started outside Splash3441 | Yes: Session Discovery imports supported agents’ existing sessions, even ones that predate Maestro, so you can search, star and resume them153 |
| Search transcripts | Yes: Search titles, folders and saved transcript text, archived sessions included34 | Partly: Search one agent’s open tabs, not the whole fleet; Director’s Notes lists every agent’s history entries in one timeline, searchable by summary4050 |
Maestro starts each vendor’s CLI in non-interactive batch mode, such as claude --print or codex exec, and parses its output, so Claude Code messages sent mid-turn wait for the turn to end. Opt-in modes drive Claude Code’s TUI or a shared OpenCode server. Its planning notes list ACP client support as a later step. Splash talks to every agent over the Agent Client Protocol.87303151262
Maestro runs agents locally or on SSH hosts, with the local app in control. Turning on Live serves its full UI to browsers on your network, or anywhere through a Cloudflare tunnel, guarded by a URL token and optional Web Login. Splash runs agents locally or under splash-server, which you open in a browser over an SSH tunnel.1213114
Maestro leans toward unattended work: Auto Run works through markdown checklists or toward a free-text goal, starting a fresh agent session for each step, Cue prompts agents when events fire, and Agent Resilience resends prompts after provider errors or quota limits. Splash centers on each conversation: permission requests answered in the transcript, a Needs attention queue, a review screen and transcript search.9105234
Maestro is free under the AGPL-3.0 and needs no account or license check. It makes four optional network calls (an install count, Cue counters, the leaderboard and crash reports), all of which Settings can turn off. Splash is free, MIT-licensed and has no accounts. Both run agents with the CLI logins you already have.522231520213327
Maestro is an Electron app written in TypeScript with React, with builds for macOS (Intel and Apple silicon), Windows x64 and Linux x86_64 and arm64, plus maestro-cli on Node.js. Splash is written in Rust with a Svelte 5 frontend in a webview, and builds for macOS 14+, Windows 11 x64 and Ubuntu 24.04 x64.42518164424
Facts about Maestro come from its public website, documentation and repositories as they read on 10 October 2026; we haven't confirmed each one by running Maestro. Facts about Splash link to its source. Products change, so check the linked pages before deciding. Something wrong or out of date? Open an issue.