Run every coding agent
side by side.
Claude Code in one terminal, Codex in another, and a permission prompt you haven't seen for ten minutes. Splash gives each agent its own session and worktree, streams everything it does, and keeps whatever needs you in one queue.
macOS 14+ · Windows 11 · Ubuntu 24.04 · all downloads
or run it headless on a server, over SSH
- 1Claude Code works in its own worktree on splash/upload-retry.
- 2It wants to push. Press 1 to allow, or click an option.
- 3Done: the Review tab shows the response and the diff.
This is Splash's real interface running in your browser on demo data: click sessions, open the Changes tab, type a message.
Works with the agents you already use, over the Agent Client Protocol
- Claude Code
- Codex
- Glue
- Autohand
- Copilot
- Devin
- Dirac
- Droid
- Gemini
- Goose
- Hermes
- Junie
- Kimi
- Letta
- OpenCode
- OpenHands
- Pi
- Pool
- Vibe
01Sessions & worktrees
Every agent gets its own checkout.
Two agents editing the same files is how you lose an afternoon. Start a session in the project folder, or in a git worktree on its own splash/… branch, and let them work in parallel.
- Archive a session and its worktree goes; the branch stays.
- Uncommitted changes always ask before they are discarded.
- Cached conversations reopen without starting the agent.
- Retry failed release uploads working
- Validate the cache migration waiting for you
- Repair the release validation job needs recovery
- Fix project cache isolation ready to review
- Keyboard navigation in the file tree saved
02Needs attention
Stop checking every tab.
With four agents running, one is always waiting on you. Permission prompts, crashed agents and finished turns land in one queue, and stay there across restarts until you deal with them.
- Answer a permission with 1 to 9.
- Reconnect or recheck a crashed agent without leaving the queue.
- Try it: Answer permission opens that session in the window above.
03Review
Review the work, not the scrollback.
When an agent says it is done, you want the diff, anything that failed and the final answer. The Review panel puts them next to each other, and feedback goes straight back into the same conversation.
04Agent history
Pick up conversations from anywhere.
You started that fix in Claude Code's terminal last week. Splash asks every installed agent for its sessions over ACP, previews them without sending a prompt, and continues them here.
- Search every saved transcript, archived ones included.
- Refresh a conversation you continued somewhere else.
- Fork a conversation to try another approach.
05GitHub & Actions
From issue to worktree in one click.
Triage issues, pull requests and failing runs across every repository your GitHub CLI login can see. Work on this opens a session with the issue in the composer, or a fresh worktree from a PR's head, without switching your checkout.
06Splash over SSH
Agents on your workstation. Splash in any browser.
Run splash-server where your repositories and agent logins live, and open it through an SSH tunnel. Close the laptop; the agents keep working, and the browser catches up when you reconnect.
ssh -N -L 127.0.0.1:4780:127.0.0.1:4780 devbox Under the hood
An open protocol, not a screen scraper.
Splash starts each agent as a child process and speaks ACP, JSON-RPC over stdio, the protocol editors use for coding agents. What you see in the transcript is what the agent sent. Every session's traffic is one tab away in the Log.
This is a real recording from the repository's test fixtures, replayed. Click a row for the full message.
What Splash leaves alone.
No accounts
Splash never installs agents or signs in to them. Each CLI keeps its own login, on your machine.
No file access for agents
Splash offers agents no file-system or terminal capabilities. Agents edit files themselves; Splash follows the results through git and a file watcher.
No private formats
History comes from ACP’s session/list and session/load. Splash does not parse vendor history files or attach to another running process.
No surprise replays
After a disconnect, commands are never resent automatically. Your unsent draft waits in the composer.