Twenty sessions. One of them needs you.
deck puts the local terminal sessions you start in it on one Board. Each card shows a status word, not a wall of output. When an agent reports through deck's status integration that it needs input, that card stands out. Open it to read the terminal.
Illustrative Board excerpt with fictional tasks; one session reports “Input requested”.
Keep work running. Know where to look next.
Several pieces of work can run while you do something else. Without one place to look, you switch tabs to find a question, a result worth reading, or a task you meant to revisit.
Real sessions
Each card is a local terminal session running your own CLI. tmux is bundled, and sessions keep running when deck closes.
Reported, not guessed
The matching integrations can report Claude Code and Codex input requests and turn endings when their hooks are supported and trusted. Missing reports do not prove that nothing needs you; output activity alone is not readiness.
You place the cards
Arrange sessions by project and group. Status changes never move a card.
A real 26-second recording
The right session comes back into view.
Several Agent sessions are running. Needs attention brings one input request into view; open the right terminal, respond, read the next result, then go back to the rest of the work.
- Needs attention lists one input request and two unread turn endings.
- Open the session that is waiting and answer it.
- Read the results that ended unread.
- Go back to the Board.
Recorded in deck 0.6.6 (an earlier version) with example tasks and Claude Code status integration enabled. Chinese interface and captions, no audio; waiting time has been cut. Some labels have changed since. Open video ↗
Who does what
Your agent owns the work. deck watches where your attention goes.
Agents already manage their own work and keep getting better at it. What gets scarce is your attention across all of them, so that is the part deck handles. It supplies no model or AI account, and works the same with a plain shell.
| Job | Your agent | You | deck |
|---|---|---|---|
| Plan the task, run tools, ask questions and permissions | |||
| Branches, worktrees and pull requests | |||
| Answer an input request | |||
| Decide whether the work succeeded | |||
| Place cards and groups on the Board | |||
| Keep each session running in local tmux | |||
| Gather reported input requests and unread turn endings across projects | |||
| Notify you while you're away, if you turn it on |
deck runs no headless agents, agent pools or task planning, never touches your repository, and never approves a permission for you.
Three sessions running. Which one needs you?
Follow a review, a bug investigation and a test run across projects. Use manual follow-up and reported signals, then check sessions whose status is unavailable.
Optional coordination
Less attention spent on follow-up.
Start known work from a saved template, schedule prompts, or use a Slack reaction to start a session. Lists send follow-ups you already arranged when their conditions hold, with optional human inspection after each step.
The Agent still decides how the work proceeds.
Read delivery and inspection states →Useful when you need them.
Nothing here is required for ordinary terminal use. Each integration has its own setup and limits.
In the app
- Split panesView several terminals side by side.
- Voice inputSpeak into the selected terminal with on-device recognition. deck never presses Enter for you.
- Templates and clock triggersStart repeated work the same way every time.
- Card scratchpadsKeep notes with the session they belong to.
- Local translationTranslate English terminal text into Simplified Chinese on your Mac. Off by default; the language pack downloads once, after you confirm.
Other tools
- SlackA channel rule collects matching messages; its saved template decides what gets queued.
- Phone ConnectorOn a private network, an authorized iOS companion can work with eligible agent cards and saved task presets.
- MCP clientsAuthorize one project and root at a time. Commands still need approval on the Mac.
- ChatGPTHosted ChatGPT can connect through the optional Secure Tunnel.
Local application
Your work stays on your Mac.
deck has no cloud service, account or server hosting your tasks. Your CLI may contact its own model provider. Slack, the Phone Connector and the Secure Tunnel use their named services or your private network. Local translation downloads its language pack from Mozilla after you confirm; update checks go to GitHub.
~/.deck, tokens in Keychain.For when checking every session has become work of its own.
deck is for people with enough parallel terminal work that patrolling it costs real attention. If that sounds familiar, give it a try.
Common questions
Do I need to keep deck running?
The app must be running for lists to deliver and automations to start. Sessions in private tmux survive quitting the app; a machine or service restart ends their processes. Leave, close and recover →
Does quiet mean the agent is ready?
No. Without a valid agent report, amber means the session has been quiet. Quiet is not ready. Enable the matching Claude Code or Codex status integration for explicit reports. For a new Codex session, codex --no-daemon is an optional hook compatibility path; review and trust the hooks in /hooks. Deck rejects shared-service events it cannot reliably attribute to the terminal. A turn ending still does not prove task success. Read each signal →
Will opening a result let the next prompt run?
Opening marks a reported turn ending as viewed. A list with human inspection enabled waits for your explicit confirmation, and then still checks its time and target conditions. Arrange follow-up input →
Are agent CLIs included?
tmux is included. Install and configure your own agent CLI, or use any interactive command that works in a macOS terminal. Agent accounts and model access are managed by those tools. Start your first task →