⏻
HELGE SVERREAll-stack Developer
Bergen, Norway • v13.0
est. 2012  |  197 repos  |  12.8k+ contributions
Tools  |   Theme:
Introducing Splash: Coding Agents Side by Side
October 10, 2026

I built Splash, a desktop app for running several coding agents at once. Claude Code in one session, Codex in another, Gemini CLI in a third, each working in its own git worktree, with one place that tells you which of them is waiting for you.

It runs on macOS, Windows and Linux, it's free, and the source is MIT licensed.

Splash showing a finished session's diff next to the agent's final answer and a feedback box

The Review tab after an agent finishes: the changed files, the agent's last message, and a box to send it feedback. Demo project and fixture agents.

One Protocol for Every Agent

Splash doesn't scrape terminal output. It speaks the Agent Client Protocol (ACP), the JSON-RPC protocol editors use to talk to coding agents. Splash starts the agent as a child process in the session folder, in its own process group, and talks to it over stdin and stdout. Messages, tool calls, diffs, plans and permission requests arrive as structured updates, and that's what the transcript renders.

Some CLIs speak ACP themselves (copilot --acp, glue acp). For the rest, Splash runs a pinned npm adapter around the vendor's own CLI. The registry has launch commands for 20 agents. Splash never installs them or signs in for you: you install and log in to each CLI yourself, and Splash uses that login. A CLI on your PATH isn't proof that it works, so each agent's settings page runs a real ACP handshake as a connection test, without sending a prompt.

Splash also gives agents no file-system or terminal capabilities. The agent edits files itself, and Splash follows the results through git and a file watcher.

Worktrees and One Queue

Each session is one agent in one project folder. It runs in the folder itself or in a git worktree, a second checkout of the repository on its own splash/… branch, so two agents editing the same files don't get in each other's way. Archiving a session removes its worktree and keeps the branch.

With several agents running, the hard part is knowing which one needs you. Permission requests, crashed agents and finished turns all land in Needs attention, a queue that survives restarts. Permission requests can also be answered right in the transcript with the 1–9 keys. When an agent finishes, the Review tab shows what changed, anything that failed, and its final answer side by side.

Needs attention with one session waiting for permission, one crashed agent and one finished session ready for review

History, GitHub and a Server

Agents keep their own history. Splash asks each agent for its saved sessions over ACP's session/list, including ones started outside Splash, lets you preview them, and adds the ones you want to its library. It doesn't parse vendor history files. Saved transcripts get full-text search, archived ones included.

The GitHub view runs on the gh CLI. It lists issues, pull requests and Actions runs across your repositories, and can start an agent session on one in a fresh worktree.

splash-server is Splash without a window. Run it on the machine with your code and agent logins, open an SSH tunnel, and use Splash in a browser. Close the laptop; the agents keep working.

splash-server --name devbox ~/code/my-project

# from your laptop
ssh -N -L 127.0.0.1:4780:127.0.0.1:4780 devbox

The server only listens on loopback and asks for a token it keeps in its data folder. It's a single-user service meant for SSH forwarding, not a public deployment.

How It's Built

Splash is Rust with a Svelte 5 frontend in a webview, built on Elyra. Each running agent gets a session actor that does the ACP handshake, handles prompts, cancels and permission answers, and builds the transcript from the agent's session/update notifications. Finished entries, plus a checkpoint of streaming ones about every two seconds, go to a single SQLite writer, which also keeps the search index. Quitting Splash ends every agent and shell process group it started.

Installers for macOS, Windows and Ubuntu are on the download page. To build it yourself:

git clone https://github.com/HelgeSverre/splash.git
cd splash
just setup
just run ~/code/some-repo

Splash is early: v0.2.1, with native CI on macOS, Windows and Ubuntu. Get it at splash.computer. The MIT-licensed source is at github.com/HelgeSverre/splash.




<!-- generated with nested tables and zero regrets -->