Reference

Settings & customization

Open Settings with Cmd/Ctrl+comma. It is a centred preferences window with quick access and grouped pages down the left rail, and a search box at the top finds any setting by name.

How Settings is organised

Press Cmd/Ctrl, to open Settings. It opens as a centred window over the dimmed canvas rather than taking over the whole app. Press Esc, use the close control, or click outside the window to leave it, and it reopens on the last page you visited.

The left rail starts with quick access, a run of the pages you reach for most with no heading over it: Dex, Coding agents, Deska Cloud, Remote access, Appearance, Keybindings and Notifications. Below it, the remaining pages sit in named groups:

  • Canvas and panels holds Canvas and Panels and layout.
  • Tools holds Terminal, Editor, Browser, Notes and Git and worktrees.
  • General, Updates, Help, Privacy and Diagnostics close the rail.

Your account is the identity card pinned at the bottom of the rail, with your avatar, name and plan. Click it to open the Account page.

Each page renders its settings as grouped cards, with the label on the left and the control on the right. The search box at the top searches labels, descriptions and keywords across every page, so you can type scrollback or beta instead of hunting for the right page. Old links keep working: a page that moved forwards to its new home.

Dex

The assistant that answers you, and what it is allowed to reach. Two groups: Who answers and Voice.

Who answers is a ranked list of fallbacks that decides who answers Dex. Each rung is one of two things: a coding agent on this computer (Claude Code, Codex or opencode), optionally pinned to a model, so the same agent can appear twice with two different models, or another of your computers, which answers with its own signed-in agent, and you can prefer which agent and model it uses over there.

  • Top to bottom: Dex tries the list at the start of each turn and answers with the first rung available. If a rung fails before any of the answer streamed, Dex quietly moves on to the next, and the reply says who answered (“answered by opencode · Purple Duck”) whenever it was not the first rung.
  • Sleeping computers: a sleeping Deska Cloud computer is woken when the chain lands on it. The turn shows a Waking… line with the computer’s name, gives up after about 45 seconds, then moves on and says so. A personal computer that is off counts as offline; it cannot be woken remotely.
  • Ask first: turn it on for a rung and Dex pauses with a card (“X is not available. Answer with Y?”) before spending anything on that rung. Continue answers there; Cancel stops the turn.
  • When nothing can answer: Dex says exactly which rung failed and why, and points you back to this page.
  • Waking ahead of time: Deska may wake your first cloud fallback in anticipation, at most once an hour, when the rung above it fails. This page says when it did.
  • A free fallback with Deska Cloud: when your account has a Deska Cloud computer, Deska adds one last rung on its own: opencode over there answers with a free model, no account signed in. It only answers when everything above it failed, so Dex works from the first minute of a fresh box. Free models can be slower than a signed-in agent, and free providers may use prompts to improve their models. Remove the rung and it never comes back on its own.
  • Rungs add themselves: sign a coding agent in, on this computer or on a box, and it appends itself to the chain as a fallback, with a notification saying so. Removing an added rung is permanent too; nothing you delete resurrects.
  • Quick access: the Dex bar’s settings popover has a Who answers row naming who answers next; picking another rung there moves it to the top of the chain, and Edit the chain jumps to this page. The quiet label beside the bar’s gear names the answering rung at a glance.
  • In the task composer: the chain only orders the agent list. A task never moves to another computer by itself. On a Deska Cloud desk whose box has no signed-in agent, a new task opens on opencode, the one agent that will actually run there.

Voice: Voice & dictation shortcuts jumps straight to the Keybindings page for Dex, Talk to Dex and dictation, and Voice tips brings the one-time voice tip back after your next dictation.

See Agents & Dex for how the assistant works with the rest of the canvas.

Coding agents

The CLIs behind every supervised thread. The page configures this computer — the machine pill under the title names it — and closes with an Other computers section: one row per machine on your account, each opening that computer’s own agent accounts. The groups above it: Instances, Tools, Keeping CLIs current and Agent autonomy.

  • Instances: named setups for the structured agents (Claude, Codex, opencode). A work instance and a personal one can each carry their own binary, home directory and default model. Each instance also picks a runtime mode: Provider default, Approval required, Auto-accept edits, Auto (AI reviews risky actions) or Full access. A mode the selected model cannot honour is shown disabled with the reason rather than being silently downgraded.
  • Browser preview tools: lets supervised agents open and drive a browser panel to check their own frontend work.
  • CLI update checks: compares the provider CLIs you have installed against the npm registry and shows an update advisory on their instance rows.
  • Restore agent sessions: reopens agent conversations (Claude Code, Codex, Cursor and friends) in restored terminals when a workspace reopens.

The switches that let an agent act without asking live under Agent autonomy at the bottom of this same page, described below. See Coding agents for what each mode actually allows.

Provider keys

Store your own model keys. Deska keeps them in your operating system’s secure storage and never sees the value again. The providers are Anthropic (Claude), OpenAI, Groq, Google Gemini, OpenRouter and Fish Audio (voice). This page is available on every paid plan; on the free plan it stays hidden. Keys are never what makes the assistant work: your coding agent always runs on its own CLI login, and the managed allowance covers voice only. See Agents & Dex and Plans & billing.

Getting started, General, Account, Updates

The app-level housekeeping pages:

  • Getting started: replay the first-launch tour and open these docs. See Quickstart.
  • General: what Deska does when it opens (On launch), and Backup and transfer: export the current workspace as a portable .workspace bundle, or import one on another machine.
  • Account: reached from the identity card pinned at the bottom of the rail. Sign in or out, see the plan you are on, your linked computers and your remaining voice minutes, and jump to billing on Deska Cloud. Dictation and spoken replies share one allowance, so this page shows a single figure. Signed out it simply reads Not signed in and Deska keeps working locally.
  • Updates: the version you are running, a button that walks the whole update flow (Check for updates, then Download v…, then Restart to update), the current release’s highlights, and the release channel (Stable or Beta). Deska checks in the background but never downloads without you. The full flow is in Updates.

Workflows: Git, Terminal, Editor, Browser, Notes

One page per working surface:

  • Git and worktrees: how Deska cuts branches for new tasks and stays in sync with your remotes. Background fetch sets the minutes between silent git fetch runs so the ahead and behind counts stay current. It ships at 0, which means Deska never contacts a remote on its own; anything below 5 is raised to 5.
  • Terminal, Shell: on Windows, pick PowerShell, Command Prompt or Git Bash. A Default shell path overrides that on every platform; leave it blank to auto-detect.
  • Terminal, Text: font family and font size overrides. Leave them at their defaults to follow the app.
  • Terminal, Smart actions: Deska watches output for sign-in links, device codes, file paths, suggested commands and failures, then offers one-click actions. AI-filtered hints asks Dex whether a detected hint is worth showing before it appears.
  • Terminal, Performance: Scrollback buffer sets how many lines each terminal keeps, and Auto-suspend idle background terminals pauses offscreen, silent terminals after two minutes so the operating system can reclaim memory (macOS and Linux only).
  • Terminal, Theme: pick a terminal palette or import your own.
  • Editor: font size, tab width, and format on save.
  • Browser: homepage, search engine, and what happens when a URL appears in terminal output (Off, Automatic or Ask before opening).
  • Notes: Note vault folder chooses where notes are written as markdown files. Leave it blank for the default, or point it at an Obsidian vault to edit them there.

See Terminals and Browser & widgets for what these panels can do.

Appearance

Theme, accent and the ambient touches around the canvas, in three groups: Theme and colours, Effects and Window.

  • Theme: a grid of nine looks. system is the default and follows your operating system. The rest are system light, dark warm, dark cold, light subtle, dracula, cyber wave, pink city and adeberry. Three of them are light: system light, light subtle and pink city.
  • Accent color: a row of swatches for highlights and focus rings. The first option is theme default, which follows whatever accent the active theme ships. The named overrides are cyan, teal, iris, pink, amber and rose, and each stays legible on every theme.
  • Effects: Ambient mode shifts the canvas hue with the time of day, Project tint paints the workspace color into the grid and focus glow, and Focus time pill puts your hours in flow today in the title bar.
  • Native macOS window tabs: macOS only, and it appears only there.

The canvas background and grid moved to the Canvas page, described next.

Canvas

The surface itself: its background, how it moves, and what it remembers. Three groups: Background, Navigation and History.

  • Grid style: the pattern drawn behind your panels, either Dots, Lines or None. Dots is the default.
  • Canvas background: a solid color, a gradient, one of the bundled animated presets, or your own image or GIF.
  • Zoom speed: a multiplier from 0.5x to 3.0x on wheel and trackpad zooming.
  • Auto-focus largest visible panel: activates whichever panel occupies the most visible area as you pan and zoom. Off by default.
  • Rotating snapshots: keeps up to 50 backups per workspace. Show time scrubber adds the floating pill that steps through them.

The canvas itself is covered in Workspaces & the canvas.

Panels and layout, Notifications, Keybindings, Focus and stats

  • Panels and layout: how panels arrange themselves. Tab orientation sets the default layout for panel tab strips, Horizontal or Vertical; any panel can override it from its own header.
  • Notifications: Enable notifications shows an operating system notification when something needs you, and Only when window unfocused keeps them quiet while Deska is the focused window. What to notify about is a switch per kind: an agent needs you, an agent finished, a long command finished, updates installed. Push to your phone forwards the same events to the Deska mobile app, with Only when I’m away and a switch per category. Notifications covers the categories and how tapping one takes you back to the right thread.
  • Keybindings: rebind any action to a chord of your choosing, scoped to where it should apply. See the keyboard shortcuts reference for the full default list, the reserved chords, and how conflicts are swapped automatically.
  • Focus and stats: what Deska tracks about your time in flow, and what it shows back.

Remote access

It sits in quick access at the top of the rail. The switch under This computer lets you reach this computer’s terminals, coding agents and ports from the Deska mobile app. Your own computers need no pairing at all: turn the switch on, sign in on the phone with the same account, and this computer appears in its list. The Push to your phone section mirrors the phone-notification switches.

Share this computer is a separate action for a different case. It mints a one-time code that grants another account access, and the people who accepted are listed underneath with a Revoke button. Full details in Remote access.

Agent autonomy

What a coding agent may do without stopping to ask you. It lives at the bottom of the Coding agents page (it was a separate Permissions page before): one switch per terminal-launched agent CLI that has a skip-permissions mode, so Claude Code gets Skip permissions and Codex gets Full auto. Turning one on means that agent is always launched in that mode and acts without asking for confirmation; supervised threads follow each instance’s Default mode instead. The same switches appear on the agent cards in the Panel Library, and the two surfaces always agree.

Heads upFull access and the per-CLI auto-approve switches remove the confirmation step before an agent writes files or runs commands. Turn them on only in projects where you are comfortable with that.

Privacy and telemetry

What Deska sends anywhere, and what it never sends. Two switches, both on out of the box and both able to be turned off: Send crash reports reports unhandled errors anonymously, and Send anonymous usage data sends app version, operating system and update events with no file paths, project names or personal data. See Privacy & your data for exactly what each one carries.

Diagnostics

A read-only support snapshot, and the first place to look when something is behaving oddly. It shows the Deska version and release channel, the Electron, Chromium, Node and V8 versions, your platform and kernel, the paths a bug report needs (each with a Reveal button), the last cached probe for each coding-agent instance, the size of the agent thread log, and any Deska environment variables set in this process by name only. The Reset section restores every preference to its default; it never touches your project files.

Copy diagnostics copies exactly what is on screen as plain text. It contains no account names, tokens or API keys, which makes it safe to paste into a support thread.

NoteOpening this page never spawns a provider CLI, so an instance that has not been probed yet honestly reads as not probed rather than triggering a probe. Refresh the instance from Coding agents, Instances when you want current numbers.

Troubleshooting & FAQ walks through the failures this page helps you identify.

💡 Ideas+🐛 BugsSuggest a feature or report a bug