Skip to content

snowpea desktop — user guide ​

Agent (agent.snowpea.ai) · Registry (registry.snowpea.ai)

snowpea desktop is a desktop window onto a running snowpea core. The core does all the work: it owns your sessions, your memory, your scheduled jobs and your credentials. The IDE is one of three clients that talk to it, alongside the snowpea terminal UI and the headless CLI.

That matters more than it sounds. Every client that shares a SNOWPEA_HOME shares one daemon, and therefore one set of sessions. A thread you start here is visible in the TUI, and a session you started this morning in a terminal is in the sidebar when you open the app.

The screens ​

ScreenRouteWhat it is for
Threads/Chat with the agent: streaming answers, approvals, slash commands
Diff review/thread/:id/diffApprove or reject what the agent changed, file by file
Agents/agentsAgent definitions, running subagents, named agents and their channels
Worktrees/worktreesParallel team runs: the task board and the worktrees behind it
Terminal/terminalA real shell per project, inside the app
Files/filesRead-only file tree and viewer for the project
Skills/skillsSearch and install skills from the marketplaces
Schedule/scheduleRecurring and one-shot jobs, and their live event feed
Gateway/gatewayChat-platform bindings and the unattended approval queue
Memory/memoryWrite and search the agent's long-term memory
Settings/settingsProviders, project defaults, the shell allowlist, appearance
Setup wizard/setupFirst-run configuration; reachable any time from Settings

A few more pages cover things that are not a screen of their own: Attachments and Voice, which live inside the thread screen; Projects, the sidebar that chooses a thread's working directory; Viewers, the file viewer shared by Files, diff review and chat; Signing in to a provider and Updating, which happen from Settings; Themes for the look of the app; and Packaging for building and shipping it.

The chrome ​

Three things are always on screen.

  • The rail on the left lists the screens above. Ctrl/⌘ 1 … 9 jump to the nth entry, and Ctrl/⌘ B collapses the rail to icons.
  • The status bar at the bottom reports the core: connected, the protocol version both sides agreed on, the active theme, and the token count across every open thread. An lsp 2 segment appears when language servers are running, and stays on screen in the warning colour when one is broken — Settings → Tools has the detail. When it does not say connected, nothing else on this page will work, and the Settings page explains why.
  • The command palette opens with Ctrl/⌘ K anywhere, or by typing / in an empty composer. It runs the core's slash commands, so what it offers depends on which skills are installed.

Keyboard ​

Press ? for the full list, which is generated from the same table the app uses, so it cannot drift.

KeysAction
Ctrl/⌘ KOpen the command palette
?Show the shortcut list
EscClose the overlay or dialog on top
Ctrl/⌘ BCollapse or expand the sidebar
Ctrl/⌘ ,Open Settings
Ctrl/⌘ 1 … 9Jump to the nth screen
Ctrl/⌘ EnterSend the prompt
Ctrl/⌘ VPaste — attaches a clipboard image, otherwise pastes text
Ctrl/⌘ .Interrupt the running turn
a / rApprove / reject the focused file in a diff review

If the app cannot find a core ​

On a machine with no core installed, the app does not fail with a spawn error: it shows a screen with the install command for your platform, a Retry button and a Choose binary… picker. Install the core, press Retry, and the app continues where it left off. See Packaging for where the core comes from in a packaged build.

MIT licensed. The manual is generated from the product repositories — see the banner on each page.