Docs
Getting started
- Download Deck and move it into your Applications folder.
- Open it and sign in with Google. Your browser opens, you continue with your account, and Deck picks up from there.
- Make sure you have at least one agent CLI installed and signed in, such as
claudeorcodex. Deck finds them on yourPATH; Settings › Agents shows which ones it found. - Press ⇧⌘N to start a chat in the folder you're working in, and say what you want.
ssh: links open in it. You can change this any time in Settings › General.Chats
A chat runs one agent in one folder. Everything it does shows up as steps: click one to see its output or diff. When it wants to run a command or edit a file and your access mode says to ask, the request appears above the message box.
- Send: ⏎. With prompt rewriting on, this rewrites first; ⌃Z brings your words back.
- New line: ⇧⏎. Send right now, mid-turn: ⌘⏎. Stop: esc.
- Attach: paste an image, drop files, or type
@to mention a file. - Access: click the chip in the message box: Ask first, Accept edits, or Full access.
- Switch agent: pick another agent in the chat; it's handed the conversation so far.
Tasks
Press ⌘K, describe a job, and choose "Start a task". Deck creates a branch named deck/… and a separate checkout, and starts your default agent there. The sidebar's Tasks section shows each one. Open a task to review its changes, then:
- Preview runs its dev server from its own checkout and opens the page.
- Merge squashes it into the branch you started from. Your main checkout must be on that branch.
- Open PR pushes the branch and opens a pull request (needs the GitHub CLI,
gh). - Discard removes the branch and its checkout (click twice).
Undo
In a git project, each message you send saves your working files. Right-click one of your messages:
- Undo to Here restores the files to that moment and ends the conversation there.
- Edit from Here does the same and puts your message back in the box.
- Put Files Back undoes the last undo.
Your branch, staged changes and ignored files are never touched. The agent starts a fresh session with the conversation up to that point.
Snippets
Open the list with ⌘; and pick one; it goes into the message box or terminal without being sent. Give a snippet a keyword in Settings › Snippets and type ;keyword followed by a space to put it in. These fill themselves in:
| Write | Becomes |
|---|---|
{clipboard} | what you last copied |
{selection} | the text selected in the chat or terminal |
{branch} | the git branch of the folder you're in |
{folder} | the folder you're in |
To share snippets with a project, commit a .deck/snippets.json file:
[
{ "name": "Run the checks", "keyword": "checks",
"body": "Run npm run lint and npm test, and fix anything that fails." }
]
Shortcuts
These are the defaults. Change any of them in Settings › Keyboard.
| ⌘K | Command palette |
| ⌘N | New tab: a terminal, a page or an agent |
| ⌘T / ⇧⌘N | New terminal / new chat |
| ⌘L / ⇧⌘T | Browser address bar / new browser tab |
| ⌘D / ⇧⌘D | Split right / split down |
| ⌘W | Close the pane |
| ⌘1…⌘9 | Go to a tab (⌘9 is the last) |
| ⇧⌘] / ⇧⌘[ | Next / previous tab |
| ⌘; | Insert a snippet |
| ⌘F | Find in the terminal or page |
| ⇧⌘K | Clear the terminal |
| ⌘B / ⌘I | Sidebar / inspector |
| ⇧⌘L | Lock Deck |
| ⌘, | Settings |
The deck command
Every terminal and chat inside Deck can use deck to work the window. Agents use it to open terminals and pages for you. Output is JSON.
# what's open, and a server in a new terminal beside this one deck pane list deck pane split --cmd 'npm run dev' # open a page beside you, read a terminal, message another chat deck open http://localhost:3000 deck pane read --pane 3 deck pane send --pane 5 'run the tests' deck browser eval --pane 4 'document.title' # hand out a task, follow it, and finish it deck task new 'add a dark mode toggle to settings' deck task list deck task wait --task add-a-dark-mode deck task diff --task add-a-dark-mode deck task merge --task add-a-dark-mode # a picture of the window, and settings deck window shot ~/Desktop/deck.png deck settings open --page keyboard
Run deck on its own for the full list. Agents in Deck's chats also get all of this as built-in tools.
Where Deck keeps things
Everything lives in ~/Library/Application Support/deck/ on your Mac:
settings.json: your settings (Settings › General › Show in Finder)snippets.json: your snippetsthreads/: your conversationssession.json: the tabs and splits to restore
Your session token is kept in your Mac's Keychain.
Troubleshooting
Deck says an agent isn't installed
Deck looks for agents on the PATH your login shell sets. Check that the CLI runs in a regular terminal, then restart Deck.
Merge says the main checkout is on another branch
Switch your project back to the branch the task started from, then merge again.
Something else
Email nischaldahal01395@gmail.com with what happened and your Deck version (Settings › General › Updates).