Day to day
Agents
Deck ships no agent of its own. It recognizes the ones already installed on your machine and uses the account each one already has, the way you would in the terminal.
Which agents
| Agent | Command | Plan mode |
|---|---|---|
| Claude Code | claude | Yes |
| Codex | codex | No |
| Grok | grok | Yes |
Beyond those, anything that runs in a terminal works inside Deck, under the Terminal option. What the three above get on top of that is state integration: the app knows when they are asking permission, when the turn finished and how much context is already spent.
How Deck finds them
On launch, the app asks your login shell for its search path and uses that path to look for the agents. That is why it works even when Deck is opened from the Dock or from the Start menu, where the environment comes up empty.
An agent only counts as installed if it answers the version command. A broken installer or an empty shim does not pass as installed, by design.
An agent missing from the list? It shows the official install command from the vendor itself, and a button that runs it with the log in plain sight. Once it is installed, Deck rereads the path on its own.
Default agent
In Settings, under sessions, you pick which agent comes preselected in a new session and in the ⌘⇧C keyboard shortcut. Only installed ones show up. If your favorite disappears from the machine, the app falls back to the first one it finds instead of blocking session creation.
Switching mid-conversation
You can switch a session to another agent without losing what has been said. Deck shuts down the current agent, converts the history to the target format, with a handoff note, and opens the new one in the same terminal, picking that conversation back up.
The app refuses the switch, with the reason spelled out, when:
- the terminal is running another program;
- the session has no conversation yet, because nothing has been asked;
- the session is connected to another one, since connections between sessions only work for Claude Code;
- the target agent is not installed.
Deck does not translate one agent configuration into another. Model, reasoning and permission rules stay whatever each agent has in its own native configuration, and the new session uses the saved defaults of the target.
Plan mode and permissions
In the new session dialog, Plan mode opens the agent in planning mode, where it proposes and does not edit. The option is unavailable for an agent that has no such mode.
There are also options for skipping the confirmations, and they live in each agent settings, flagged as dangerous:
- Claude Code. Open new sessions skipping per-tool permission. Does not apply to sessions in plan mode.
- Codex. Approval policy and sandbox level, chosen by you, or the option to bypass both at once.
All of them ship off. They exist for throwaway environments, where a wrong command costs nothing. What approval means day to day is in Parallel agents.
The signals Deck receives
To know what happens inside each session without guessing from the terminal text, Deck registers hooks in each agent configuration, on first use. Each one in its own place:
| Agent | Where Deck writes |
|---|---|
| Claude Code | In its configuration file, in your home folder, plus the status line. |
| Codex | In its hooks file, along with the trust confirmation Codex requires. |
| Grok | In a file of its own that belongs to Deck, inside the Grok folder, leaving the rest alone. |
That is where the states, the status line and the system alerts come from. Three precautions the app takes:
- It keeps a copy of the file as it was before, once, next to the original.
- It does not overwrite a third-party status line. If you already had yours, it is preserved, and cost and context stop showing up in the footer.
- It does not touch a file it cannot read. If the configuration is invalid, Deck says so instead of writing over it.
The hooks talk to the app over a local address with a password, created on every run. With Deck closed, events are written to a queue and come in on the next boot, instead of getting lost.
Undoing the integration
In Settings, under diagnostics, the agent hooks block has two buttons: reinstall and remove. Remove takes the Deck entries out of all three agents at once and says exactly which files it is going to touch.
Removal undoes what Deck added, and does not restore the backup copy. That copy stays on disk, next to the original file, in case you want to go back by hand. Without the hooks the app keeps working, but session state becomes something inferred from what the terminal shows.