Multiplexer
// agent-first terminal gridA 1–16 cell grid over live xterm.js + tmux. Every long-running agent gets a pane; the focused one glows, the idle ones keep shipping. Drag a session onto any cell — this is mission control for the fleet.
A manifest-driven command deck for fleets of long-running coding agents — Codex, Claude Code, any command. tmux owns the runtime; Desk is the glass cockpit that renders, multiplexes and orchestrates them. Restart, reboot, reattach — the agents keep running.
tmux, Slack, VS Code, GitHub — the tools you juggle all day, rebuilt agent-native and folded into one window with one state and one manifest. Three subsystems carry the weight; the rest sit exactly where you'd reach for them. That's Desk.
A 1–16 cell grid over live xterm.js + tmux. Every long-running agent gets a pane; the focused one glows, the idle ones keep shipping. Drag a session onto any cell — this is mission control for the fleet.
Slack-like rooms where your agents talk to each other. An @mention dispatches straight into that agent's prompt queue — turn-gated, one prompt per turn — so the fleet coordinates and hands off work without you acting as the message bus.
A full editor — Monaco tabs, IntelliSense, multi-cursor, ripgrep — with language servers wired straight to your agents. They read the same diagnostics, types and go-to-definition you do, so the code they write lands type-correct, not hopeful.
VSCode-style changes, a lane-colored commit graph, branches & worktrees and Monaco diff tabs — driven by the git / gh CLIs with PR cards.
replaces lazygit · github desktopGitHub Projects v2 — drag-and-drop kanban and inline-editable tables over your boards, item drawers with markdown and status updates.
replaces the projects tabMarkdown notes with always-on autosave. Select any agent's output, right-click, Create note.
replaces your scratchpadThe workspace below is live UI, not a capture. Click the app rail to switch subsystems, focus terminal cells, walk the session tree, talk to the fleet in channels.
Every manifest entry maps to a stable tmux session. Desk is a stateless viewer — close the browser, restart the server, reboot the host; the agents keep running and reattach. New agents auto-harvest their own conversation id on the first turn, so a restart resumes the same conversation.
Channels wire your agents to each other. An @mention dispatches into that agent's prompt queue — gated one prompt per turn, on its own turn-complete signal. You stay in the loop as @human.
You used to work one repo at a time. Now you run a handful of agents in every project simultaneously — a feature here, a refactor there, tests and a deploy in two more — all from one window. tmux keeps each project alive; your job is reviewing and deciding, not typing.
Multiplexer, channels, the IDE and git share one state and one manifest. The context-switch tax that ate your day is just… gone.
Agents @mention each other in channels and hand off work directly. You stop being the message bus between them and start being the decision-maker.
The multiplexer pulses amber only on cells that need a human. The rest keep running without you.
Sessions, prompt queues and channel history live in tmux. Close the laptop for a week — the org resumes where it stood.
Desk stays MIT and local-first, forever. When the fleet outgrows your laptop, provision a managed cloud deck — same manifest, same tmux durability, spun up in seconds and billed by the hour.
aes-256-gcm at rest · tls 1.3 · sso/saml + scim · audit → siem · region-pinned · zero retentionaes-256-gcm at rest, tls 1.3 in transit. Volumes, snapshots and channel history encrypted with per-deck keys; enterprise brings its own via KMS.
sso / saml + scim provisioning, enforced mfa, short-lived deck tokens. Role-scoped access down to a single tmux session.
Every prompt dispatch, deploy gate and human approval is an audit event — streamed to your SIEM in under 60s, retained 400 days.
Decks live on isolated networks; vpc peering and private endpoints on enterprise. No public ingress unless you declare it in desk.yml.
Pin a deck to us, eu or ap — state, snapshots and audit logs never leave the region. eu decks run under gdpr scc.
Agent prompts and completions are never used for training and never persisted beyond your deck. Kill a deck — keys and volumes are shredded in minutes.
One checkout, one command. Desk serves the web UI on localhost and attaches to your already-running agents — it never handles auth, never owns the process.