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 nodeterm both run several coding agents at once and use git worktrees to keep their work apart. nodeterm is an Electron app that places each agent’s CLI in a terminal node, usually under tmux, on a pan-and-zoom canvas; Splash is a Rust app that 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.computerEnes Kirca
A desktop app that places terminals and coding-agent CLIs as nodes on a pan-and-zoom canvas, usually in tmux sessions that outlive the app, with a browser Server Edition and an iOS companion.34567
nodeterm.dev| Splash | nodeterm | |
|---|---|---|
| The basics | ||
| What it is | Desktop app, plus a headless server you open in a browser18 | Electron app placing terminals and agents as nodes on a zoomable canvas, plus a browser Server Edition and an iOS companion3467 |
| Release status | v0.2.1, early development19 | v0.4.3 (9 October 2026), labelled early access; v0.4.0 through v0.4.3 came out within ten days10311 |
| License | Open source (MIT)12 | BUSL-1.1, not an open source license: it bars competing hosted or commercial offerings, and each release turns MIT after four years131415 |
| Price | Free16 | Free core app; Pro is $10/month on desktop (shown in the app), and $9.99/month, $79.99/year or $299 lifetime on iOS141718 |
| Platforms | macOS 14+ (Apple silicon and Intel), Windows 11 x64, Ubuntu 24.04 x6419 | macOS 12+ (Apple silicon and Intel), Linux x64 (AppImage, .deb, .rpm) and Windows x64 in beta; the FAQ still calls Windows unsupported31142015 |
| Agents | ||
| Agents | Ships launch commands for 20 agents, including Claude Code, Codex, Copilot, Gemini, Goose, OpenCode2122 | Claude Code, Codex, Antigravity, Gemini, opencode, Grok and GitHub Copilot built in (the docs list four), plus custom CLI agents23424 |
| How it runs agents | Agent Client Protocol over stdio, natively or through a pinned adapter for the vendor’s CLI212 | Starts each agent’s CLI in a terminal, usually inside tmux; built-in agents report status through hooks it installs, not by output parsing24525 |
| Agent sign-in Who pays for the model | You install and sign in to each agent’s CLI yourself; Splash runs it with that login22 | CLIs you’ve installed and signed in to, on your own plans or API keys; managed accounts keep several Claude and Codex logins152620 |
| Account required | Splash has no accounts; splash-server asks for a token it keeps in its data folder278 | No nodeterm account; desktop Pro is a license key bound to the installation, and Team Access knows teammates by device28142930 |
| 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 attention31 | Yes: Each CLI’s own prompt, answered inside its node; Claude Code also has a permission-mode setting for terminal agent nodes332 |
| Working in parallel | ||
| Isolation per session | Yes: The project folder, or a git worktree on its own branch per session31 | Yes: A git worktree attached to a canvas group frame; every node made inside works in its folder. SSH projects don’t support worktrees3334 |
| Setup scripts and dev servers | No: A worktree is a plain git checkout; Splash runs no setup scripts or dev servers3135 | Yes: Per-project setup and archive scripts for worktrees, with paths like .env linked in; dev-server ports are listed for SSH forwarding3620 |
| Terminal | Yes: A terminal in the session folder31 | Yes: Terminal nodes (xterm over tmux) survive app restarts; after a reboot, scrollback returns and agents relaunch from their saved sessions45 |
| What needs you | Yes: One queue for permission requests, connection failures and finished turns, kept across restarts3137 | Yes: RUNNING and NEEDS YOU badges on nodes, unread markers, and a sidebar Status view that puts sessions needing attention first253820 |
| Notifications | Yes: Notifies when a background session needs permission or finishes a turn; can be turned off3940 | Yes: Opt-in OS notifications that bring the node into view when clicked; on a MacBook, the notch also flags a blocked agent2534 |
| 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 other131 | Yes: Through the canvas-control CLI, agents open nodes, start teams and check each other’s work; context links share transcripts between agents441 |
| Built-in browser | No: No built-in browser; the workbench holds git changes, a file tree, diff and file tabs, and a terminal31 | Yes: Web, video and browser nodes sit on the canvas beside terminals, with page zoom since v0.3.134320 |
| Review and shipping | ||
| Review changes | Yes: Latest response, failed tools and every changed file as a diff, with a box to send feedback31 | Yes: Read-only Monaco diff nodes for staged or unstaged changes; line comments and review feedback to the agent aren’t documented42 |
| Files and diffs | Partly: File tree, git changes and diff tabs; files open read-only, with no editor3143 | Yes: Monaco editor nodes that save with ⌘S, read-only diff nodes, an Explorer file tree and a Source Control panel424445 |
| Create pull requests | No: Shows the PR for a session’s branch and starts worktrees from PR heads; does not create PRs3146 | No: No PR action is documented: Source Control stages, commits and pushes, with agent-drafted commit messages; agents run gh pr create44547 |
| GitHub | Yes: Issues, pull requests and Actions runs across repositories, through the gh CLI3146 | Yes: Signs in through gh; opt-in GitHub Issues on the kanban board sync both ways, and PR cards carry CI and merge status45420 |
| Issue trackers | Partly: GitHub (github.com), through the gh CLI; no Linear or Jira3146 | Partly: GitHub Issues on the kanban board; a card dropped in a dispatch column starts an agent run. No built-in Linear or Jira42048 |
| Where it runs | ||
| Remote access | Yes: splash-server runs on the machine with your code; you use it in a browser over an SSH tunnel. Single user.8 | Yes: SSH projects run terminals and agents on a remote host; the Server Edition serves the canvas to a browser behind one password346 |
| Team collaboration | No: splash-server is a personal, single-user service, not a multi-user deployment8 | Yes: Pro: Team Access shares a Mac’s canvas with teammates at $5 a seat monthly; live links stream one terminal to a browser3020 |
| Mobile app | No: No mobile app; builds cover macOS, Windows, Ubuntu and a headless server19 | Yes: iOS 17+ app paired by QR code, with an encrypted relay; 5 free connections a month, unlimited with Pro. No Android yet71820 |
| Auto-update | No: Download new versions from GitHub Releases; the app does not update itself1949 | Partly: Self-updating on macOS and as a Linux AppImage; the .deb, .rpm and Windows builds are updated by downloading them again114 |
| 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 Splash3137 | Yes: Open recent lists Claude, Codex, Gemini, Grok and Copilot conversations already on disk and resumes one; not opencode or Antigravity5020 |
| Fork a conversation | Partly: Experimental: fork the current conversation when the agent supports it, not from an earlier message3137 | Partly: Claude Code nodes can branch: the session runs /branch and a second node carries on from the split; other agents can’t514 |
| Search transcripts | Yes: Search titles, folders and saved transcript text, archived sessions included31 | Partly: The ⌘K palette searches every terminal’s visible output and finds nodes by title or tag; past transcript search isn’t documented44 |
nodeterm runs each agent’s CLI in a terminal node, usually under tmux, and reads status from hooks it installs; its docs don’t mention the Agent Client Protocol. A ⌘M chat view shows some agents’ sessions as threads. Splash speaks ACP with every agent, natively or via an adapter, and renders each session as a transcript.2452021231
nodeterm places terminals and agents as nodes on a pan-and-zoom canvas, with worktrees bound to group frames. Agents open nodes through canvas-control, read each other’s transcripts over context links, and can delay a launch until a PR’s checks pass. Splash keeps one agent per session, in a folder or worktree, with a Needs attention queue and a review screen.33344120131
nodeterm runs on macOS 12+, Linux x64 and Windows x64 (beta). SSH projects run its terminals on a remote host, and the Server Edition serves the canvas to a browser from a Linux server or Docker image. An iOS app pairs by QR code and connects from other networks through an encrypted relay. Splash runs on macOS, Windows and Ubuntu, or as splash-server over an SSH tunnel.311203467198
With tmux, each nodeterm terminal lives in a session that outlives the app. After a reboot, nodeterm restores scrollback and relaunches agents with their saved session IDs, though running processes end. Under splash-server, agents keep running when the browser or SSH tunnel drops; restarting the backend stops them, and saved transcripts remain for continuing the conversation.58
nodeterm’s source is under BUSL-1.1, which permits production use but not competing hosted or commercial offerings; each release becomes MIT after four years, and the apps carry a separate license in the Terms. The core is free; Pro lifts the relay cap and adds Team Access. Neither product needs an account. Splash is free and MIT-licensed.13145228121627
Facts about nodeterm come from its public website, documentation and repositories as they read on 10 October 2026; we haven't confirmed each one by running nodeterm. 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.