BlueDeck Docs
Everything you need to run and command a swarm of coding agents from a single deck.
Introduction
BlueDeck is a multi-terminal, agent-native development tool. It runs up to 16 real terminals (PTYs) per workspace in a grid inside one window, and lets you launch and command coding agents — Claude Code, Codex, Gemini CLI, Aider — in each pane.
It's built on Rust + Tauri 2, so it uses the OS WebView for roughly 1/10 the memory of an Electron app and ships as a few-MB native binary. Terminals use the same xterm.js WebGL renderer as VS Code, backed by real PTYs — exactly like your own shell.
Instead of juggling terminal windows and tabs, you get one deck where every agent runs side by side and you orchestrate them from a single place.
Installation
BlueDeck runs on macOS (Apple Silicon) and Windows (x64). The current release is v0.1.14.
- macOS — open the
.dmgand drag BlueDeck to Applications. - Windows — run the
.exeinstaller (an.msiis also available).
Quick Start
- Add a workspace. Point BlueDeck at a repo or folder — it becomes a workspace in the left sidebar with its own default directory.
- Split the grid. Open panes until you have as many terminals as you need (up to 16). The grid lays them out automatically.
- Launch agents. In each pane's header, pick an agent (Claude Code, Codex, Gemini, Aider) from the dropdown to start it in that terminal.
- Command them. Type in the prompt bar to send a prompt to the focused pane, or use Broadcast to send one prompt to every pane at once.
- Review & merge. Open the diff panel (±) to see each agent's changes and squash-merge them back with one click.
Workspaces
A workspace groups a set of terminals with a default working directory. Add and switch workspaces from the left sidebar.
- Switching away keeps the other workspaces' terminals and agents running in the background.
- Double-click a workspace to rename it.
- Badges show each workspace's terminal count and how many agents are running, with red/amber cues when an agent needs attention.
The terminal grid
Each workspace holds up to 16 PTY sessions in an automatic grid layout, with per-pane focus and close. These are real terminals, not emulated: one PTY and reader thread per pane, streamed to the UI so it stays smooth under heavy output.
- Shells run as interactive login shells (
-il) so your fullPATH(nvm, Homebrew, agent CLIs) is loaded. - The 📁 button switches just that pane to another directory.
- Launching an agent writes a command into the PTY, so the shell session survives when the agent exits.
Agents
BlueDeck auto-detects the coding-agent CLIs you have installed: claude, codex, gemini and aider. Any pane can launch any detected agent from its header dropdown.
Because each pane is a real shell, you can also run agents (or anything else) by hand — the dropdown is just a convenience.
Agent dispatch & auto-approve
Pick an agent from a pane's header dropdown to launch it in that terminal.
The ⚡ auto-approve toggle launches that pane's agent with --dangerously-skip-permissions — no approval prompts. It's per-pane and persisted, so a trusted repo can run full-speed while another pane keeps manual approvals. It applies from the pane's next launch.
Prompt bar & broadcast
The prompt bar at the bottom sends a prompt to the focused pane's agent — type once, hit enter, no need to click into the terminal.
Broadcast mode sends a single prompt to every terminal in the current workspace at once, so you can command an entire agent swarm in one keystroke.
Command palette
Press ⌘K (Ctrl+Alt+K on Windows) to open the command palette. Type to filter, then hit Enter:
- Jump to any terminal in any workspace — entries show each pane's shortcut, agent and waiting status.
- Switch workspaces, open the diff review, create a new terminal or workspace, toggle the sidebar, open settings, or report a bug.
Escape closes the palette and puts focus right back in the terminal you were in.
Agent status awareness
BlueDeck watches each pane's PTY output and screen patterns to track it as one of:
- working — the agent is actively doing something
- needs-input — it's waiting on you
- idle — nothing running
Status shows as a colored dot + label per pane and as red/amber badges per workspace in the sidebar. When the app is in the background, macOS notifications ping you the moment an agent needs a hand.
When agents are stuck waiting, a red “N waiting” pill appears in the topbar. Press ⌘J (Ctrl+Alt+J on Windows) — or click the pill, or a workspace's red badge — to jump straight to the next waiting terminal, switching workspaces if needed.
Notifications are configurable in Settings — needs-input + turn done (default), needs-input only, or off. Clicking a needs-input notification brings the app forward and jumps straight to that terminal.
Git worktree isolation
The ⎇ button gives a terminal its own git worktree — ~/.bluedeck/worktrees/<repo>/agent-N on branch bluedeck/agent-N — so parallel agents on the same repo never touch each other's files.
- Closing a pane with a clean worktree removes it automatically.
- A worktree with uncommitted changes is kept (with a notification), and the branch always survives.
Diff review & merge
The ± button opens a review panel for a pane: a changed-file list with add/delete counts and a colored unified diff, measured against the worktree's base (agent commits included).
- One click squash-merges everything back into the repo — conflicts roll back safely.
- Or discard it all after a confirmation.
- After a successful merge BlueDeck offers a one-click clean-up: the worktree is removed, its
bluedeck/*branch is deleted, and the terminal returns to the workspace directory.
Agent Hub (MCP)
BlueDeck embeds an MCP server at http://127.0.0.1:41720/mcp and registers it with Claude Code automatically on launch (user scope, idempotent). The 🔗 popover in the topbar has a copy-ready command for other MCP clients.
Agents in every pane can then collaborate autonomously:
list_agents— see every pane and its live statussend_to_agent— inject a prompt into another pane, addressed by the name in its header (T1, T2, or a custom name). So “when you're done, tell T2” just works.read_agent_output— read another pane's recent output
Session restore
Your workspace layout — names, directories, panes and running agents — is saved automatically to session.json. Reopening BlueDeck restores the full layout and relaunches the agents.
Claude Code panes resume their previous conversation via claude --continue (a fresh start if there's nothing to continue). Only the first restored pane per (agent, directory) resumes; parallel panes in the same directory start fresh so they don't all grab the same conversation.
Keyboard shortcuts
Press ⌘/ (Ctrl+Alt+/ on Windows) inside the app to see this list any time.
| Action | macOS | Windows |
|---|---|---|
| Focus terminal 1–9 | ⌘1–⌘9 | Ctrl+Alt+1–9 |
| Jump to the next terminal waiting for input | ⌘J | Ctrl+Alt+J |
| Command palette | ⌘K | Ctrl+Alt+K |
| Toggle sidebar | ⌘B | Ctrl+B |
| Shortcut cheat sheet | ⌘/ | Ctrl+Alt+/ |
| Rename a terminal / workspace | Double-click its name | |
Licensing & Lite mode
Every install starts with a 14-day full trial (all features, no credit card). When the trial ends, BlueDeck drops to Lite mode:
- Lite (free): the core terminal — 1 workspace × 2 terminals, agent launch, IME, prompt bar and layout restore.
- Pro (license): the full multi-agent deck — status awareness, worktree isolation, diff review, Agent Hub, broadcast, auto-approve and conversation resume.
Activate a device in Settings → License by entering your key. Activation is stored and the app then runs offline indefinitely; it revalidates online in the background and frees the seat when you “Deactivate this device”. Paid features are enforced in the Rust core, not just the UI.
Updates
BlueDeck checks for updates on launch. When a new version is available, an “⬆ Update” pill appears in the topbar; one click downloads and installs the signed update, then “Restart to update” relaunches the app.
Updates are verified against the app's embedded public key, so only releases signed with BlueDeck's private key are ever installed.
Reporting bugs
Found a problem? File it without leaving the app: open Settings → Support → Report a bug, or run it from the command palette (⌘K).
- Write a title and description; optionally attach diagnostics (version, OS, license tier, workspace/terminal counts) — previewed exactly as it will be sent. Terminal contents are never included.
- The first submit connects your GitHub account with a one-time device code; after that it's one click. Reports are filed as GitHub issues under your account on
cslim0527/blue-deck-releases, so we can follow up with you on the thread. - Prefer not to connect? “Open in browser” pre-fills the issue on github.com instead.
FAQ
Is BlueDeck free right now?
Yes — BlueDeck is in public beta and every feature is free through Aug 31, 2026, no key needed. When the beta ends, a fresh 14-day trial starts for everyone and Pro pricing goes live.
Which agents are supported?
Claude Code, Codex, Gemini CLI and Aider are auto-detected. Any other CLI can be run by hand in a pane.
Is my code sent anywhere?
No. Terminals run locally on your machine, and the Agent Hub MCP server binds to 127.0.0.1 (localhost) only. Agents talk to their own providers exactly as they would in a normal terminal.
Does it work offline?
Yes. Once a license is activated it's stored locally and the app runs offline; it only revalidates online in the background when it can.
Which platforms are supported?
macOS on Apple Silicon and Windows on x64. Both auto-update.