Panels

Terminals

Deska terminals are full shells with a few extra powers: a smart action bar that spots URLs, files and errors, and the ability to resume agent conversations after a restart.

The basics

Each terminal panel is a real shell backed by a native pseudo-terminal, so everything you expect works: pipes, redirects, background jobs, environment variables, your aliases and prompt. Add as many terminals as you like; each lives in its own panel.

Scrollback is saved with your workspace, so closing and reopening a project keeps your terminal history intact. Search the scrollback with Cmd/CtrlF.

Terminals follow the app theme by default, and Settings → Workflows → Terminal is where you change the default: pick a color preset or import your own, alongside the font, the scrollback size and the shell Deska launches. A single terminal can override the default theme from its tab’s right-click menu. On Windows the same group picks between PowerShell and cmd.

The smart action bar

As commands run, Deska watches the output for things worth acting on and surfaces a single suggestion in a slim bar at the bottom of the terminal. Press AltEnter to accept it without reaching for the mouse.

  • Open links in the right place (more below).
  • Jump to files: a path with a line number like src/app.ts:42 from a compiler error opens that file at that line.
  • Insert the suggested next command when a tool hints at one. The command is placed at your prompt without running it, deliberately leaving the Enter to you.
  • Fix common errors with a one-click correction, or a hand-off to Ask Deska for trickier ones.
TipAI-filtered hints (Settings → Workflows → Terminal) add a second opinion before a hint appears: Deska asks the model whether the detected suggestion is actually worth showing. The filter needs a paid plan; on the free plan hints are shown unfiltered. If the model is unavailable it also falls back to the unfiltered hints, so nothing is lost when you are offline.

Error help

Deska recognizes a handful of common failures and offers a targeted fix:

  • Command typos (like gti for git) suggest the corrected command.
  • Missing modules suggest the right install command based on the lockfile in your project (npm, yarn or pnpm, plus bun when a bun.lockb lockfile is present).
  • Port already in use offers to free the port in one click.
  • Anything it cannot fix directly can be handed to Dex.
NoteInside full-screen terminal apps (vim, htop, an agent’s own interface) Deska stops looking for files and commands to avoid false positives from the redrawing UI, but it still catches sign-in links so agent logins keep working.

Resuming agent conversations

When you run a coding-agent CLI in a terminal, Deska quietly remembers which conversation was running. Reopen the workspace and the agent picks up the same thread, even if you had several running in the same folder.

This works out of the box for Claude Code (claude), Cursor (cursor), Gemini CLI (gemini), Codex (codex), opencode (opencode) and PI Agent (pi), a third-party CLI. The integration is injected automatically for zsh; other shells keep working exactly as before. You can turn resuming off in Settings → General → On launch → Restore agent sessions.

The server chip

A terminal panel has one piece of chrome, its header, and the header carries a live chip whenever there is something real to report. Deska watches what runs in the shell and shows the dev stack it detects (Next.js, Vite, and the rest) alongside the primary port that started listening.

Click the port and the page opens in a Browser panel on the canvas rather than in your system browser, because that is where the element picker, the device viewports and the agent browser tools live. The chip disappears again when there is nothing to show, so an idle terminal stays quiet.

When your phone holds a terminal

A terminal can also be opened from your phone through remote access. While the phone holds it, the session is sized to fit the phone’s screen, and the desktop panel shows a Sized for your phone strip with a Take it back button. Press it and the terminal returns to the desktop’s dimensions.

💡 Ideas+🐛 BugsSuggest a feature or report a bug