Claude Code desktop app: the official app, desktop vs CLI, and a free app that runs your coding agents
The Claude Code desktop app: Anthropic's Code tab, what it adds over the CLI, the web and IDE versions, and Caprock, a free app that records every agent.
Yes, Claude Code has a desktop app: it is the Code tab of Claude Desktop, for macOS and Windows, with a Linux beta. It needs a paid plan and bundles Claude Code, so you do not install the CLI first. Beyond it there are four other graphical ways in: claude.ai/code in the browser, the VS Code and JetBrains extensions, open-source GUIs that wrap the CLI, and desktop apps such as Caprock, a free app that records every agent on the machine and runs them in tabs.
The Claude Code desktop app
Download Claude Desktop from claude.com/download, sign in, and click the Code tab. macOS gets a universal build for Intel and Apple Silicon, Windows an x64 and an ARM64 installer, Linux a beta for Ubuntu and Debian, through apt or a .deb. The free plan does not include it: Anthropic's desktop docs ask for a paid Pro, Max, Team or Enterprise subscription.
What the app adds over a terminal:
- Parallel sessions with + New (⌘N), each optionally in its own git worktree under
.claude/worktrees/. - A diff view with line comments, and
/code-reviewfor a review before you commit. - Panes for the chat, diff, a browser preview of your app, a terminal, files, the plan, tasks and subagents.
- Where it runs: Local, Cloud, over SSH on a Linux, macOS or Windows machine, or WSL.
- Pull requests: CI status with auto-fix and auto-merge, through
gh.
It reads the same CLAUDE.md, MCP servers, hooks, skills and ~/.claude/settings.json as the CLI. The session lists are separate: /desktop moves a CLI session into the app.
Desktop app vs CLI
| Desktop app | CLI | |
|---|---|---|
| Plans | a paid plan | a paid plan or an API key |
| Parallel sessions | + New | claude --bg, or a terminal each |
| Visual diff and review | yes | no |
Scripting, -p, CI | no | yes |
| Agent teams | no | yes, experimental |
| Amazon Bedrock, Google Cloud, Foundry | separate setup | yes |
Other ways to use Claude Code in a window
- claude.ai/code works on Pro, Max and Team plans and Enterprise premium seats. It needs a GitHub repository to clone and to open pull requests, and keeps running when you close the laptop.
claude --teleportpulls a session back into your terminal. - The VS Code extension installs in VS Code 1.94 or later and in Cursor, with plan review, @-mentions with line ranges and several tabs.
- Agent view (
claude agents) is a screen in the terminal listing your background sessions: working, needs input, ready for review. - Open-source GUIs such as opcode, CloudCLI and Nimbalyst wrap the CLI in a desktop or web interface: Claude Code GUI compares them.
What none of the official apps show
Each official surface shows its own sessions. The desktop app lists the ones started in the app, agent view lists background sessions, and a session in another terminal window is in neither. /usage prices the session you are in, but none adds up list-price cost across sessions, projects and your history, and none shows Codex or OpenCode next to Claude Code.
Caprock: a free app for every agent you run
Anthropic's app is a window for one agent, free with a plan. Caprock is a free, open-source desktop app for macOS, Windows and Linux whose difference is the record across agents: every Claude Code, Codex and OpenCode session on the machine, the ones you start in your own terminal included, with who is waiting on you, how close each subscription is to its limit, and each pull request's CI state and cost. The tabs are how you live with that record: you run Claude Code, Codex, OpenCode, Gemini CLI, Grok Build or Hermes Agent in it, each session in a real terminal tab of its project. Download it from the install page, or on a Mac:
- 1
Install the desktop app on macOS
- Projects and worktrees. The sidebar lists the repositories your sessions ran in, each with its branch, changed files and today's cost, and opens to its worktrees and the sessions and shells in each. ⌘O adds a folder, makes a new one or clones a repository.
- Tabs and split panes. New agent (⇧⌘N) starts Claude Code, Codex, OpenCode, Gemini CLI, Grok Build or Hermes Agent — whichever is installed — in a tab. ⌘E opens a shell beside it, ⇧⌘E below it, up to four panes a tab. Tabs come back when you reopen the app. Closing a tab ends an idle agent, its conversation saved, and asks about one still working; quitting the app stops nothing.
- A task becomes a worktree. In the command palette (⌘K), type a task that matches nothing and Enter opens New agent with it as the first message, in a new worktree named after it.
- Project instructions — a system prompt per project. Write it once, as you add the project or from the New agent sheet: every Claude Code session started in it gets them appended to its system prompt (
--append-system-prompt), and every Codex session as its developer instructions, without editingCLAUDE.mdorAGENTS.md. - What is waiting on you. Sessions stopped on a permission prompt or waiting for your answer come first in the sidebar, ⌘J jumps to the next one, and the Dock badge counts them. On macOS and Linux the notification for a permission prompt in a Claude Code session Caprock started has Deny, and Approve when it shows the whole request.
- Changes and pull requests. Review a worktree's diff, stage files or hunks, commit and push from the app; connect GitHub to open a pull request and follow its checks and reviews.
- From pull request to release. Pipeline follows each pull request through CI, review, merge and release, with what the agents spent on it at API list price, and plans the next version from your changelog entries. A red check has Fix CI with agent. It reads GitHub, so it needs the GitHub connection.
- Cost and limits. The record under the window prices every session per repository at list price, an estimate as
/usageis, shows the Claude and Codex plan windows, and flags a session repeating the same tool call. - Your phone. Pair it with a QR code; it opens Caprock in its browser from anywhere, through an end-to-end encrypted relay, and shows each session as a chat. Unless you untick It can control sessions when you connect it, you can answer prompts, start work in a clone, a new project or a worktree, and commit and push.
- Updates. When a new release is out, Update and restart downloads it, checks it against Caprock's update key, installs it and restarts the app. Your sessions keep running, and the tabs and splits come back as they were.
It types only into sessions it started: one running in your own terminal is watched, never typed into. It listens only on your own machine, needs no account, and sends nothing out by default; a phone you pair reaches it through the relay, which the computer dials out to.
Which GUI to use
- The desktop app — you want Anthropic's own interface, parallel sessions and a diff view, on a paid plan.
- claude.ai/code — the work should run while your laptop is closed, on a GitHub repository.
- The VS Code extension — you live in the editor.
- opcode, CloudCLI or Nimbalyst — you want an open-source GUI; see Claude Code GUI and check each one's release state first.
- Caprock — you run several agents across projects and want one record of them: who is waiting on you, who is stuck, how close each subscription is to its limit, what each pull request cost. Free, and it records the
claudeyou start anywhere else. Install Caprock, or see how it compares with other agent apps.
Questions people ask
- Is there a Claude Code desktop app?
- Yes. It is the Code tab of Claude Desktop, for macOS and Windows with a Linux beta, and it needs a Pro, Max, Team or Enterprise plan.
- Is the Claude Code desktop app free?
- The download is free, but Claude Code in it needs a paid plan: Pro, Max, Team or Enterprise. The free Claude plan does not include Claude Code.
- Does the desktop app share settings with the Claude Code CLI?
- Yes. It reads the same CLAUDE.md, MCP servers, hooks, skills and ~/.claude/settings.json. The session lists are separate; /desktop moves a CLI session into the app.
- Can I use Claude Code in a web browser?
- Yes. claude.ai/code runs sessions in Anthropic's cloud on a GitHub repository, on Pro, Max and Team plans and Enterprise premium seats. Without the app, Caprock can also run in the background and show the same screens in a browser on your own machine.
- Is there a Claude Code desktop app for Linux?
- Anthropic's desktop app has a Linux beta as a .deb for Ubuntu and Debian. Caprock's app runs on Linux as an AppImage, a .deb or an .rpm, for x64, and starts the Claude Code CLI you have installed.
Sources
- Claude Code docs — Desktop application, read 20 October 2026
- Claude Code docs — Get started with the desktop app, read 20 October 2026
- Claude Code docs — Claude Code on the web, read 20 October 2026
- Claude Code docs — VS Code extension, read 20 October 2026
- Claude Code docs — JetBrains IDEs, read 20 October 2026
- Claude Code docs — Agent view, read 20 October 2026
- Claude download page
- opcode on GitHub, read 20 October 2026
- CloudCLI (claudecodeui) on GitHub, read 20 October 2026
- Nimbalyst on GitHub, read 20 October 2026
- Caprock source — New agent: Claude Code, Codex, OpenCode, Gemini CLI, Grok Build, Hermes Agent (internal/agents)
- Caprock docs — using the desktop app: projects, tabs, split panes, palette, project instructions, badge, updates (docs/app.md)
- Caprock changelog — 0.80.0 self-update, 0.81.0 project instructions and the Dock badge, 0.112.0 Fix CI with agent, 0.116.0–0.125.0 Pipeline and the release plan
- Caprock source — control only for sessions it started (internal/agents)
- Caprock source — what a paired phone may do (internal/api/lanauth.go)
- Caprock changelog — 0.117.0, a phone pairs from anywhere through the encrypted relay; 0.122.0 and 0.129.0, closing a tab ends an idle agent
Try it
The record of every coding agent you run, the sessions it did not start included. Free, open source; nothing leaves your machine.
Notarized by Apple. One file for Apple silicon and Intel, macOS 13 or later.
Or run it yourself:
Paste in Terminal: it installs Caprock and opens it.Or with Homebrew: brew install --cask dspv/tap/caprock-app