Repository navigation
Spaces 1.0.0
The first public open-source release, under the Apache License 2.0.
Workspaces and agents
- Named, coloured, persistent spaces of terminal panes. Panes run on the
server and keep running when no client is attached; panes stopped by a
restart or reboot start again when you open their space, and Claude Code
panes resume their conversation. - Agents per pane: Claude Code, Codex CLI, Gemini CLI, Aider, ForgeCode, Pi,
a plain shell, or any command. Starting an agent offers to resume one of
the folder's past sessions where the agent supports it. - Agent-state detection (working, blocked, idle, done) for Claude Code,
Codex CLI, Gemini CLI and Aider, with notifications when an agent blocks
or finishes. Detection rules are declarative data, can be overridden
locally, and update daily (SPACES_NO_DETECTION_UPDATE=1turns that off). - A message bus between the panes of a space:
spaces-msginside any
pane, and an MCP server (spaces-bus) that Spaces registers for Claude
Code and Codex when collaboration is on. - Git branch, ahead/behind and dirty state for each space.
Terminal client
- A full-screen terminal client, prebuilt for Linux (x64, arm64), macOS
(x64, arm64) and Windows (x64). Barespacesopens it, starting the
server in the background first if needed. - Sidebar of spaces and agents, a tab per pane, a split view, a menu on
ctrl+k, andctrl+spacechord keys for detach, split, files, sidebar,
sort and mouse release. Mouse support throughout, including resizing the
sidebar and a right-click menu on tabs. - A Files tab per space: browse with live, syntax-highlighted previews;
download and upload files or whole folders (including by dragging files
onto the tab); open images and PDFs locally; create, rename, move and
delete; and edit text files with conflict detection. spaces --remote you@host: the terminal client for Spaces on another
machine, over SSH, starting Spaces there if needed. Nothing is exposed
beyond your SSH login. It offers to install Spaces there, or to update an
older install, saying first how many running agents an update would stop;
--yesskips the questions.spaces statusandspaces restart(through the service when one is
installed).- Live sync with the web app: changes on either side appear on the other
within about a second.
Web app
- A browser terminal grid for the same spaces and panes (
spaces open). - A session browser with local full-text search across Claude Code, Codex,
Gemini CLI and Aider history. - A dashboard with session counts, token usage by model, an activity heatmap
and cost estimates. - Per-space todos, a file viewer, a project wizard (with
ANTHROPIC_API_KEY), voice input (withGROQ_API_KEYor
OPENAI_API_KEY), a mobile layout and an experimental VR room.
Security
- Desktop mode answers only its owner: loopback-only, every request
authenticated with tokens derived from an owner-only secret, Host checks
against DNS rebinding, one-time browser sign-in links (spaces open),
no credentials in URLs, andspaces signoutto revoke every session. - File browsing confined to your dev directories and agent transcripts,
with credential folders always refused.
Operations
spaces start,stop,open,signout,upgrade,uninstalland
guide;spaces serviceto run Spaces at login on Linux, macOS and
Windows.- A documented, versioned session-control protocol (
/proto) with a
generated JSON Schema, which the terminal client is built on.
Experimental (off by default, not supported)
- Multiuser mode and machine-to-machine federation, behind
--experimental. Neither is safe for untrusted users or networks; see
SECURITY.md.
npm install -g @jlongo78/agent-spacesThen run spaces. See the README.