Guide
Claude Code desktop app vs terminal
Harrowtech.ai · last checked 13 October 2026
Anthropic's own answer to "desktop app or terminal?" is short: "use Desktop when you want to manage parallel sessions in one window, arrange panes side by side, or review changes visually. Use the CLI when you need scripting, automation, or prefer a terminal workflow." Both run the same engine, and you can run both on the same project at once.
Harrowtech.ai is independent of Anthropic. Everything below is from Anthropic's desktop documentation and download page, read on 13 October 2026. The terminal commands named here were checked against claude --help on Claude Code 2.1.296.
Which to pick, in practice
| Pick the app if | You would rather not use a terminal at all; you want to read Claude's changes as a diff and comment on lines; you want your running site or app open in a pane next to the chat; you run several tasks at once and want them in one sidebar; you want Claude to operate other desktop apps (computer use, a research preview on Pro and Max, macOS and Windows only). |
|---|---|
| Pick the terminal if | You script Claude or run it in CI (-p, --output-format); you sign in with a Console API key or a cloud provider such as Amazon Bedrock directly; you need dontAsk mode or agent teams; you are on a Linux that is not Debian-based, such as Fedora or Arch. |
| Use both if | You start work in one and want to finish it in the other. Sessions move across in either direction, covered below. |
New to Claude Code itself? What is Claude Code? explains the tool and all the places it runs. The terminal install commands are in How to install Claude Code. This page is about the app's Code tab only.
Getting the app
- Plan. The Code tab needs a Pro, Max, Team or Enterprise subscription. If clicking Code asks you to upgrade, your plan does not include it. The Linux page adds that the app does not accept a Claude Console API key; for API-key sign-in, use the terminal.
- macOS and Windows. claude.com/download has a universal macOS build, Windows installers for x64 and arm64, a Microsoft Store link and enterprise deployment links.
- Linux (beta). Ubuntu 22.04 or later or Debian 12 or later, on x86_64 or arm64, installed through Anthropic's apt repository (
sudo apt install claude-desktoponce the repository is added). It does not update itself; updates arrive withsudo apt update && sudo apt upgrade. Steps: Claude Desktop on Linux (beta). - No separate install. The app carries its own copy of Claude Code, so Node.js and the command line tool are not needed for the Code tab. That copy has its own version number and updates with the app, not with
claude update. Type/statusin a local session to see which version it runs.
The four choices before your first message
| Environment | Local runs on your computer. Cloud runs on Anthropic-managed machines and keeps going after you close the app. SSH runs on a Linux or macOS machine you connect to; the app installs Claude Code there the first time. WSL (Windows) runs inside a WSL 2 distribution. |
|---|---|
| Project folder | The folder or repository Claude works in. Cloud sessions can take several repositories. |
| Model | From the dropdown by the send button. You can change it mid-session. |
| Permission mode | How much Claude may do without asking. See the next section. |
Permissions in the app
The mode selector sits next to the send button. Shift+Tab does not cycle modes in the app as it does in the terminal; the shortcut is Cmd+Shift+M on macOS or Ctrl+Shift+M on Windows.
- Manual asks before edits and commands, and shows a diff with Accept and Reject for each change.
- Accept edits applies file edits and simple file commands such as
mkdirandmv, and still asks before other commands. - Plan explores and proposes without editing your source code. Anthropic's tip is to start complex tasks here, then switch to Accept edits or Manual to carry out the approved plan.
- Auto runs without routine prompts while a background classifier checks actions such as shell commands. It appears only where auto mode is available. How the classifier decides is in Claude Code auto mode and permission modes.
- Bypass permissions is hidden until enabled: a Settings toggle on Pro and Max, organisation policy on Team and Enterprise. Anthropic says to use it only in sandboxed containers or virtual machines.
Three details that catch people out. A mode picked in the selector is remembered per folder and wins over permissions.defaultMode in your settings file, except Plan, which lasts for the session only. Cloud sessions offer Accept edits, Plan and Auto, never Bypass. And the first time Claude acts on an outside website in the Browser pane, the app asks you to approve that site (Allow once, Always allow or Deny); each site and subdomain needs its own approval.
What the Code tab adds
| Diff review | A +12 -1 style counter opens a file-by-file diff. Click any line to leave a comment, then send them all with Cmd+Enter (Ctrl+Enter on Windows); Claude reads them and revises. In local, SSH and WSL sessions, /code-review returns its findings as a card you can step through in the diff. |
|---|---|
| App preview | Claude can start your dev server and open it in a Browser pane, take screenshots, click and fill forms to check its own work. This auto-verify step is on by default. The server settings live in .claude/launch.json, which you can edit (for example to run yarn dev or change the port). |
| Terminal and files | A built-in terminal (Ctrl+`) opens in the session's folder, and a file pane takes spot edits. Both work in local and SSH sessions. |
| Side chat | Cmd+; (Ctrl+;) or /btw asks a question using the session's context without adding to it. Side chats are not saved once the app closes. |
| Pull requests | After a PR is opened, a CI bar shows check results. Claude can try to fix failing checks and, if your repository allows auto-merge, squash-merge once checks pass. This needs the GitHub CLI (gh) installed and signed in. |
| Connectors and plugins | The + button adds connectors such as GitHub, Slack, Linear and Google Calendar, and opens a plugin browser. Anthropic describes connectors as MCP servers with a graphical setup. |
| Usage | A ring next to the model picker shows context used in this session and plan usage across all your Claude Code surfaces. |
Parallel sessions and worktrees
Each session has its own chat history and project folder. Cmd+N (Ctrl+N) starts another, and Ctrl+Tab moves between them. Hold Cmd or Ctrl and click a second session to see two side by side.
For a Git repository, tick the worktree option by the branch name and the session gets its own isolated copy of the project, so two sessions cannot overwrite each other's edits. Points from Anthropic's page:
- Worktrees go in
<project-root>/.claude/worktrees/unless you set Worktree location in Settings > Claude Code. A Branch prefix there is added to every worktree branch name. - Ignored files such as
.envare not copied unless you list them in a.worktreeincludefile at the project root. - Archiving the session removes its worktree. Auto-archive after PR merge or close does this for you once a session has finished.
- Worktrees need Git installed;
git --versionin a terminal tells you. - Claude can report on and message your other app sessions ("what did the API session conclude?"). It sees only sessions the app runs itself (by default the 20 most recently active), not ones started in a terminal.
The terminal's equivalent is the -w / --worktree flag. A desktop session can also be moved to the cloud from the session menu (Open in > Cloud) if a task runs longer than planned.
Moving a session between terminal and app
- Terminal to app, from inside a session:
/desktopsaves the session, opens it in the app and exits the terminal. - Terminal to app, from the shell:
claude --desktopopens the app on the current folder. Add--continuefor the latest conversation in that folder, or--resume <session-id>using the ID that/statusshows. A session name does not work in place of the ID. Anthropic says this flag needs Claude Code 2.1.285 or later. - Who can use those two: macOS and x64 Windows, signed in with a Claude subscription. Not with an API key, Amazon Bedrock, Google Cloud's Agent Platform or Microsoft Foundry.
- From inside the app: close the session in the terminal, then type
/resumein a local session. The app lists the terminal sessions from that computer. It continues the same session, not a copy, soclaude --resumestill finds it later.
Both read the same setup: CLAUDE.md and CLAUDE.local.md, MCP servers in ~/.claude.json or .mcp.json, hooks, skills, and ~/.claude/settings.json. One difference: servers in the chat app's claude_desktop_config.json load in the Code tab, but the terminal ignores that file. claude mcp add-from-claude-desktop copies them across on macOS and WSL. For the files themselves, see CLAUDE.md and projects and MCP servers.
What the app does not do
- No scripting. There is no
--printor--output-format; the app is interactive only. Use the terminal, covered in CLI and headless mode. - No per-session tool lists.
--allowedToolsand--disallowedToolshave no app equivalent, though permission rules in settings files still apply. - Some commands behave differently. Commands that open a panel in the terminal, such as
/permissions, reply that they are not available./configopens Settings and ignores anything typed after it. - No agent teams and no
dontAskmode; both are terminal-only. - No inline code completion. It works through prompts, not autocomplete.
- Limits by session type.
@file mentions do not work in cloud or WSL sessions; plugins are not available in WSL, and the plugin browser is not available in cloud sessions. Computer use is not yet available on Linux. - Other model providers need a separate setup that Anthropic calls Claude Desktop on 3P; out of the box the app uses Anthropic's API.
Settings worth knowing
- Environment variables. On macOS, launched from the Dock or Finder, the app reads only
PATHand a fixed set of Claude Code variables from your shell profile. On Windows it does not read PowerShell profiles. For anything else, use the local environment editor (hover over Local in the environment menu and click the gear); values there are stored encrypted and reach both Claude and your dev servers. - Prompt suggestions. The grey suggested next prompt is made by a small background request that counts towards your usage. Turn it off under Settings > Claude Code > Sessions.
- Browser. The Browser pane uses a clean profile with none of your logins. To let Claude act as you on sites where you are signed in, Anthropic points to the Claude in Chrome extension instead. The pane can be switched off with Browser tools in Settings.
- Remote Control. A local session can appear on your phone and at claude.ai/code once Remote Control connects it. Turn off Connect new sessions to Remote Control if you do not want that.
When something goes wrong
- 403 in the Code tab: sign out and back in first. If the terminal works and the app does not, quit the app fully and reopen it.
- Blank screen: restart, then check for updates (on Linux through apt). On a managed network, the firewall must allow Anthropic's hosts listed on the desktop page.
- "Failed to load session": the folder may have moved, the repository may need Git LFS, or file permissions may block it.
- Claude cannot find
npmornode: check they work in your normal terminal and your shell profile setsPATH, then restart the app.
Sign-in and API key problems in the terminal are covered in Claude Code API key and login.
Sources
- Anthropic: Download Claude, read 13 October 2026
- Anthropic: Get started with the desktop app, read 13 October 2026
- Anthropic: Desktop application (Code tab reference), read 13 October 2026
- Anthropic: Claude Desktop on Linux (beta), read 13 October 2026
claude --helpon Claude Code 2.1.296, run 13 October 2026, for the--desktop,--worktreeand--resumeflags
Related: All Harrowtech.ai guides · How to install Claude Code · Claude Code commands and shortcuts