Reference

Data & storage

Everything Deska keeps about you sits in one folder on your machine. Here is where that folder is, what is inside it, and what is safe to copy or delete.

Where Deska keeps its data

Deska stores its own state in a single application-data folder, one per operating system:

  • macOS: ~/Library/Application Support/Deska/
  • Windows: %APPDATA%\Deska\
  • Linux: ~/.config/Deska/

You never have to find it by hand. Settings and then Diagnostics lists six paths: the application data folder, the settings file, the keybindings file, the main log, the agent thread log and the agent worktrees, each with a Reveal button that opens it in your file manager.

What is inside

The files you are most likely to care about:

  • config.json: every preference from Settings, plus your list of workspaces, your recent projects and any saved layouts.
  • keybindings.json: only the shortcuts you changed. Anything you never touched keeps following Deska’s defaults, so defaults can keep improving across updates. See Keyboard shortcuts.
  • license.json: your cached sign-in, which is what lets Deska know your plan while offline.
  • deska-notes/: the note vault, one markdown file per note. You can point it somewhere else, including at an Obsidian vault, from Settings under Workflows and Notes.
  • deska-workspaces/: the layout and session state of workspaces that are not backed by a project folder.
  • deska-snapshots/: rotating layout backups, up to fifty per workspace, behind the time scrubber.
  • orchestration.sqlite: the transcript of every supervised agent thread, which is what makes the threads board history survive a restart. See Agent threads.
  • worktrees/: the git worktrees Deska creates so agent threads can work without disturbing your checkout.

Alongside those sit smaller pieces of housekeeping: browser panel cookies and storage, terminal logs, downloaded canvas backgrounds, and this install’s device identity. None of it contains your source code.

Your project files stay where they are

Deska never copies your repositories into its own folder. It opens files in place, and what it keeps is layout and state: which panels are open, where they sit on the canvas, which terminals were running and in which directory.

For a workspace backed by a project folder, that state is written into a .deska directory inside the project itself, as workspace.json and session.json. Keeping it next to the code is deliberate: the layout travels with the project. Add .deska to your .gitignore if you would rather not commit it.

Backing up and syncing

The whole application-data folder is plain files, so copying it is a valid backup. Close Deska first so nothing is being written while you copy.

  • Worth keeping: config.json, keybindings.json, deska-notes/ and deska-workspaces/. Those are the pieces you would actually miss.
  • Safe to delete: deska-snapshots/, terminal logs, downloaded backgrounds and browser panel storage. Deska recreates them, and deleting them costs you history rather than work.
  • Not worth syncing: worktrees/ and the browser partitions are tied to this machine and this checkout.
Heads upDo not put license.json in a shared folder or a public backup. It holds the credential that keeps this install signed in. If you think it has been exposed, revoke the device from your account devices list and sign in again.

What Reset all settings does

Settings, then Diagnostics, then Reset holds Reset all settings, which restores every preference to its default in one go. It rewrites config.json and nothing else.

It does not touch your project files, your notes, your snapshots, your agent thread history or your keybindings. Keybindings have their own reset, per shortcut or all at once, under Settings and Keybindings.

NoteBecause your workspace list and saved layouts also live in config.json, a full reset clears those lists too. The workspaces themselves are still on disk, so opening a project folder again brings its layout back.

What Deska is allowed to read

Deska reads and writes only inside folders you opened as a workspace. Everything else on your disk is refused, including a symbolic link inside a workspace that points outside it.

There is one deliberate exception. When you save an untitled editor to a location outside every workspace, the file you picked in that native dialog is remembered, so the next Save works without asking again. Only files chosen this way are remembered, and only main-process code can add one; nothing inside a panel or an agent can grant itself access to a path.

When a workspace is restored, its folder is checked again. A folder that has been moved, deleted or replaced is dropped rather than reopened, so an old session file can never hand back access to something you no longer trust. What leaves your machine, and when, is covered in Privacy & your data.

💡 Ideas+🐛 BugsSuggest a feature or report a bug