cd /news/developer-tools/seance-human-first-agent-friendly-ti… · home topics developer-tools article
[ARTICLE · art-67662] src=github.com ↗ pub= topic=developer-tools verified=true sentiment=· neutral

Seance: Human first, agent friendly. Tiling terminal+ workspaces (Rust+GPUI)

Seance, a new multi-pane terminal for Linux that lets humans and AI agents work side by side in shared workspaces, has been released as version 0.9.13 under an MIT license. Built on the GPUI framework, the tool features live multi-pane terminals, agent orchestration, human-in-the-loop controls, and a daemon architecture for persistent sessions.

read5 min views1 publishedJul 21, 2026
Seance: Human first, agent friendly. Tiling terminal+ workspaces (Rust+GPUI)
Image: source

A shared space where humans and agents work together, live.

Seance is a candlelit multi-pane terminal for Linux. Every pane is on the human’s screen. Agents (Claude, Codex, Grok, any CLI) and shells sit beside you — not hidden in a background job. They can see each other, ask you questions, propose commands for your approval, and leave notes on a scratchpad you both flip into. Visibility is the point.

Native app on GPUI. Sessions live in a long-lived daemon; the window is disposable.

License: MIT · Platform: Linux (Wayland / X11) · Status: 0.9.13

Release notes: CHANGELOG.md.

Most agent tooling optimizes for the agent alone. Seance optimizes for engagement in a shared space:

human agent
watches every pane live runs in a real terminal on that screen
flips notes, steers, takes over a shell drives siblings via seance ctl
answers ask toasts; Enter/Esc on ghost commands
prefers propose over silent risk
triages by status badges + stage strip reports planning / working / needs-human
inspects pad drawer without flipping opens file panes so edits appear live

Attribution is first-class: actions are logged as human

/ agent:<pane>

/ cli

. The timeline answers “what happened while I was looking elsewhere?”

Any command is a pane. Default summon is a shell (so you can always take the keyboard). Point --command

at whatever agent CLI you use.

Live multi-pane terminals— real PTYs, selection, scrollback; weighted tile grid with drag sashes (n≥2)** Workspaces**— keep circles of work apart; sidebar drag-reorder** Notes on the back of every pane**— shared markdown ($SEANCE_SCRATCHPAD

)Pad drawer— stage chip / ▤ shows task inject body + pad tail (live-refreshes)** Stage strip**— urgency-sorted roster chips (click focus+pad, double-click zoom)** File panes**— live markdown/text + history/diff when co-editing** Control plane**—seance ctl

so any pane (or external script) can spawn, send, wait, harvestOrchestrator A+--agent

profiles, evidence-boundwait --status done

,send --file

, task envelopes,harvest

, event-driven wait, boot-clearHuman-in-the-loopask

,propose

, seize/release/drivePhone a pane— ☎ /ctl phone

opens a telegram topic and seeds astage card(workspace, roster, ctl how-to). No participant claim — you drive panes with normalseance ctl

on this host. Optional needs-human one-liners post to the topic when linked.Daemon architecture— upgrade binary without killing the circle (concurrent-upgrade gate)** Event bus**— sequenced, attributable events +seance ctl watch

Capabilitiespolicy open|propose_required|locked

  • per-principal grants
./scripts/bootstrap-deps.sh    # pinned gpui checkout — see docs/PLAYBOOK.md
cargo build --release          # first build can take ~10 min
./target/release/seance

ln -sf "$(pwd)/target/release/seance" ~/.local/bin/seance   # optional

Requirements: recent Rust, Vulkan-capable drivers, a monospace font (default CaskaydiaMono Nerd Font Mono — change in src/term_font.rs

).

seance ctl skill                 # agent-facing protocol (⚡ arm / paste)
seance ctl doctor
seance ctl roster
seance ctl new --name w --agent claude --wait-ready
seance ctl send w --file /tmp/task.md
seance ctl wait w --status done --timeout 600 --cat
seance ctl harvest w1 w2 w3 --timeout 900
seance ctl phone w               # telegram topic + stage card (no claim)

Multi-agent live test: ./scripts/agent-collab-test.sh

Thorough smoke: ./scripts/e2e-thorough.sh

Upgrade load test: ./scripts/upgrade-load-test.sh

(upgrades live daemon)

key action
ctrl+shift+n new pane (shell by default)
ctrl+shift+w banish (kill) active pane
ctrl+shift+s flip notes ↔ face
ctrl+shift+p pop pane to its own window
ctrl+shift+k precanned prompt palette
ctrl+shift+j fuzzy jump (pane / workspace)
ctrl+shift+z focus-zoom active pane
ctrl+shift+f last failed shell command
ctrl+pageup / pagedown cycle workspaces
ctrl+shift+pageup / pagedown cycle panes in this workspace
ctrl+shift+v paste
ctrl+click / middle-click open OSC-8 / URL
stage chip click focus + pad drawer
stage chip double-click zoom
arm agent (ctl skill orientation)
phone pane (telegram stage card)
pad drawer
💬 whisper — compose a steer into the pane
sash drag resize 2-pane ratio or multi-pane weights
process role
seance daemon
owns PTYs, grids, state; Unix socket
seance (GUI)
shared space UI; reconnects safely
seance ctl …
JSON-lines client for agents, shells, scripts

Do not pkill -x seance

to reload — that kills every session. Prefer cargo build --release && seance upgrade

, or seance restart-gui

for UI-only.

path
state ~/.local/share/seance/state.json
scratchpads ~/.local/share/seance/scratch/<slug>.md
layout weights ~/.local/share/seance/layout.json
events ~/.local/share/seance/events.jsonl
socket $XDG_RUNTIME_DIR/seance.sock

Injected into every pane: SEANCE_SESSION

, SEANCE_WORKSPACE

, SEANCE_SCRATCHPAD

, SEANCE_SOCKET

. Workspace scoping is automatic inside a pane — agents only see their circle unless you pass --all

.

doc

docs/DAEMON.mddocs/ORCHESTRATION.mddocs/SHELL-INTEGRATION.mddocs/PERF-TERMINAL.mdCLAUDE.mdonthis repoCanonical agent instructions: ** seance ctl skill**.

./scripts/bootstrap-deps.sh
cargo test
cargo build --release && seance upgrade
./scripts/e2e-thorough.sh

Pin discipline: gpui-component

rev-pinned; zed patched to deps/zed

at 1a246efd…

. Bump only as a pair — PLAYBOOK.

  • OSC-133 shell-agnostic markers (bash hooks + cmdlog work today; OSC-8 open shipped) Full continuous session replay(grid recorder + browser player) — filed in vita working doc; not the retired timeline HTML export- GPU glyph atlas (CPU path is multi-pane smooth — explicit non-goal for now)
  • worktree-backed agent rooms, best-of-N

MIT — see LICENSE.

Uses zed’s alacritty fork (Apache-2.0), GPUI, and gpui-component.

── more in #developer-tools 4 stories · sorted by recency
── more on @seance 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/seance-human-first-a…] indexed:0 read:5min 2026-07-21 ·