Splay Workspaces

Keep parallel coding tasks organized with isolated Git worktrees and persistent terminals.

Source repo
splay-sh/splay
Stars
★ 116
Last updated
23d ago
License
MIT
Primary language
Rust

At a glance

How it runs
Desktop appCLI
Works with
Universal · cross-platformCodex · Claude Code
Cost
Free, no paid service needed
Setup effort
Low · running in minutes
You'll need
Linux x86-64glibc 2.39 or newerGTK 4GitZig 0.15.2 (source builds)Shell / CLINetwork accessLocal filesystem
Typical use
Linux developers running coding agents on separate features or bug fixes can give each task its own worktree.
Not a fit if
  • Users who need to run on macOS or Windows
  • Teams that need a built-in editor, browser, or review workflow

What does this agent do, and when should you use it?

Splay is a Linux workspace manager for parallel coding, with a GTK 4 desktop app and the splayctl command-line tool. After registering Git repositories, you can create a separate Git worktree for each feature or fix so parallel tasks do not share a checkout or branch. Each workspace hosts persistent terminal sessions for Claude Code, Codex, OpenCode, a shell, or another command-line program. Sessions use libghostty-vt and can be detached and reattached through the GUI or CLI. Splay suits Linux developers who want one place to manage repositories, workspaces, and sessions; it does not bundle an editor, browser, or review workflow.

Use the Splay desktop app or splayctl to manage Git repositories; create isolated worktrees for tasks, or clone a workspace into a new worktree and branch; start persistent terminal sessions inside workspaces and run shell commands or coding-agent CLIs; detach from and reattach to sessions; and remove workspaces after work is merged. Splay manages Git workspaces and terminal sessions rather than editing code or handling reviews.

  1. Linux developers running coding agents on separate features or bug fixes can give each task its own worktree.
  2. Developers managing several GitHub repositories can organize their repositories, workspaces, and sessions in one desktop app.
  3. A contributor branching off an existing workspace can create a new worktree and branch with the workspace cloning feature.
  4. Developers who need to leave a running agent and return later can detach from a persistent session and reattach.
  5. Engineers who already have a preferred terminal toolchain can run a shell or any command-line tool in an isolated workspace.

How do you install or deploy this agent?

Install the latest release with the installation script. Splay targets Linux x86-64 and requires glibc 2.39 or newer and GTK 4. The script puts splay and splayctl in ~/.local/bin and adds Splay to the app launcher.

curl -fsSL https://splay.sh/install.sh | sh

Building from source also requires GTK 4 development headers and Zig 0.15.2. On Ubuntu/Debian, install the system packages below, then install Zig and make sure zig is on PATH:

sudo apt install gcc g++ libcairo2-dev libglib2.0-dev libgtk-4-dev libpango1.0-dev pkg-config
cargo install --path .

How do you use this agent?

Start the GTK desktop app:

splay

View the command-line tool's help:

splayctl --help

Register a Git repository in Splay, create a workspace for a feature or bug fix, then start a terminal session in it and run a coding agent or another shell command. Sessions can be detached and reattached from the GUI or CLI.

What are this agent's strengths and limitations?

Pros
  • Each workspace is an isolated Git worktree, so parallel agents do not share a checkout or branch.
  • The project provides both a GTK 4 desktop interface and the splayctl command-line interface.
  • Terminals backed by libghostty-vt support detaching and reattaching, and can run any shell command.
  • Multiple GitHub repositories, workspaces, and sessions can be managed in one place.
Limitations
  • The release targets Linux x86-64 and requires glibc 2.39 or newer and GTK 4.
  • Source builds require GTK 4 development dependencies and Zig 0.15.2.
  • Its scope is Git worktrees and terminal sessions; there is no built-in editor, browser, or review workflow.
  • The README does not specify whether installation or use requires network access, or document the full parameters for each CLI operation.

How does this agent compare with similar options?

Splay sits alongside Superset, cmux, Conductor, and Orca. The README describes Splay as focused on Git worktree management and terminal sessions; Superset adds a diff viewer and editor, cmux a browser, Conductor a review workflow, and Orca an editor and browser. The README lists Splay for Linux, built with GTK 4, under the MIT license.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Splay Workspaces This agent 44 · Major gaps Desktop appFree ★ 116 23d ago Rust Codex · Claude Code
Ateam Agent Workbench 70 · Some gaps Desktop appFree + model costs ★ 15 today TypeScript Codex · Claude Code
Yardsort 70 · Some gaps Desktop appFree ★ 13 today Rust Codex · Claude Code
dmux 69 · Some gaps CLIFree + model costs ★ 1.8k 2mo ago HTML Codex · Claude Code · OpenAI API

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
44/ 100 5-point scale 2.2 / 5
Trust 8/29
Reliability 5/14
Adaptability 10/18
Convention 10/18
Effectiveness 7/13
Verifiability 4/8
Why each dimension lost points
Trust8 / 29 · 1.4/5

The README says workspaces use isolated git worktrees and can be removed when finished, giving limited evidence of isolation and cleanup (least_privilege=1, rollback=1). However, Splay runs arbitrary shell commands inside workspaces, and the supplied files show no permission limits or command confirmation mechanism (least_privilege=1, user_confirmation=1). The install command pipes curl into sh, while data flows and sensitive-data handling are not explained (data_flow_transparency=1, sensitive_data_handling=0, external_effects=1). Cargo.toml lists dependencies, but the supplied material shows no dependency security policy or clear source attribution, so these scores remain thin (dependency_security=1, source_attribution=1).

Reliability5 / 14 · 1.8/5

The README, Cargo.toml, and workflow are broadly consistent about Linux, GTK 4, Rust dependencies, and the Zig version requirement (self_consistency=2). The PR workflow specifies build and test steps, but the supplied evidence gives no availability guarantees or failure-message handling; this static review does not assess execution results (dependency_availability=1, failure_messages=0).

Adaptability10 / 18 · 2.8/5

The README identifies parallel coding-agent work as its audience and describes GUI, CLI, multi-repository, and general shell-session use cases (audience_and_scenarios=2). It defines worktrees and terminal sessions as the core scope and notes that it omits features such as an editor, but does not detail the boundaries of “any shell tool” or when the product should be used (capability_boundaries=2, trigger_precision=1). Linux x86-64, glibc, GTK, and build requirements are stated (environment_fit=2).

Convention10 / 18 · 2.8/5

The README organizes features, installation, getting started, motivation, FAQ, building, and a manual link; it includes a CLI example and Swarm migration guidance (information_architecture=2, install_notes=2, examples_and_faq=2). The Splay/Swarm rename and version 0.2.0 are visible, but the supplied material has no changelog (naming_stability=2, versioning_changelog=1). Linux and system requirements are documented, while other limitations and maintenance responsibility are not adequately covered (known_limitations=1, maintenance_responsibility=1). The full MIT license is supplied, justifying full marks (license=3).

Effectiveness7 / 13 · 2.7/5

Splay centralizes repositories, worktrees, and persistent terminal sessions, with both GUI and CLI access, which has clear value for parallel-agent work (output_usability=2, marginal_value=2). The source does not quantify operating costs, resource use, or benefits, and the Linux/GTK requirement adds setup constraints, so cost-benefit evidence is thin (cost_benefit=1).

Verifiability4 / 8 · 2.5/5

README claims about installation, platform, and features can be checked against some dependency and build settings in Cargo.toml and the workflow, but most product behavior is described only in the README (claim_traceability=2, cross_source_corroboration=1). The README presents feature and requirement claims without clearly marking inference; the evidence supports only a thin score (fact_inference_separation=1).

Risks and how to mitigate them
  • Not found in source: sensitive-data handlingUse dedicated, low-privilege, revocable API keys — never production credentials — and keep secrets out of logs.
  • The install method downloads and executes a remote script; review its contents before running it.
  • The tool runs arbitrary terminal commands in workspaces; the supplied material does not describe additional command confirmation or sensitive-data protections.
Evidence confidence: Low Reviewed Nov 04, 2026 Reviewed revision 5bc05d4fb01f
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v0.2.0 0.2.0 - 2026-10-12
    Release notes excerpt
    Release Notes Swarm is now Splay. The binaries are splay and splayctl, and existing state moves over automatically on first start. Added - Collapse or expand all repositories with one sidebar toggle. ([#71](https://github.com/splay-sh/splay/pull/71)) - Name the workspace in the empty terminal placeholder. ([#71](https://github.com/splay-sh/splay/pull/71)) Changed - Rename the project from Swarm to Splay. The binaries are now splay and splayctl, and the GTK application ID is com.penberg.splay.ui. …
    View on GitHub ↗
  2. v0.1.6
    Release notes excerpt
    Install swarm 0.1.6 Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/penberg/swarm/releases/download/v0.1.6/swarm-installer.sh | sh ``` Download swarm 0.1.6 | File | Platform | Checksum | |--------|----------|----------| | [swarm-x86_64-unknown-linux-gnu.tar.xz](https://github.com/penberg/swarm/releases/download/v0.1.6/swarm-x86_64-unknown-linux-gnu.tar.xz) | x64 Linux | [checksum](https://github.com/penberg/swarm/releases/download/v0.1.6/swarm-x86_64-unknown-linux-gnu.tar.xz.sha256) |
    View on GitHub ↗
  3. v0.1.5 0.1.5 - 2026-04-22
    Release notes excerpt
    Release Notes Added - Agent CI Docker image manifest. ([#62](https://github.com/penberg/swarm/pull/62)) Changed - Refactor session toolchain setup. ([#60](https://github.com/penberg/swarm/pull/60)) Fixed - Prevent UI terminal hangs under heavy logging. ([#63](https://github.com/penberg/swarm/pull/63)) - Recover terminal after socket disconnect. ([#64](https://github.com/penberg/swarm/pull/64)) Install swarm 0.1.5 Install prebuilt binaries via shell script ```sh …
    View on GitHub ↗

FAQ

Does Splay include a code editor or review interface?
No. It manages Git worktrees and terminal sessions; you use the tools you already run in a terminal.
Which coding agents can I run in a session?
The README names Claude Code, Codex, and OpenCode, and says any CLI tool that runs in a shell can run in a session.
Which operating systems does Splay support?
The release installation targets Linux x86-64 and requires glibc 2.39 or newer and GTK 4. The README does not list macOS or Windows support.
What happens to existing Swarm workspaces after upgrading?
On its first start, Splay moves ~/.local/share/swarm to ~/.local/share/splay, updates stored paths, and repairs Git worktrees. Stop sessions still running under Swarm first.
Does using Splay require a paid agent service or account?
The repository is MIT licensed, and the README does not require a paid service or account. Whether a third-party agent you run charges a fee depends on that tool.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents