Claude Desktop is Anthropic's native app for macOS and Windows. It's the umbrella surface: same Claude models as claude.ai, a local MCP client, plus first-class access to Claude Cowork (collaborative sessions) and Claude Code (the coding agent with its full feature set — slash, hooks, skills, subagents, memory).
Desktop is the umbrella surface for Anthropic's consumer + pro products. One app, one sign-in, one plan — and everything below is inside it:
Core conversation surface. Side-panel workspace for code, docs, SVGs, React components. Iterate, download, share.
Scoped workspace with its own knowledge base (up to 200k tokens) and custom instructions. Pro+.
Collaborative sessions — multiple humans + Claude sharing artifacts, files, and tool state in one live room.
Full coding agent — slash commands, hooks, skills, subagents, MCP, permissions, memory, Agent SDK. Not a stripped-down variant.
Connect to Filesystem, GitHub, Slack, Postgres, anything with an MCP server — stdio, HTTP, or OAuth.
Web search, Analysis tool (Python sandbox), image understanding, PDF parsing — no config needed.
claude CLI still exists and is still canonical for repo-local work — Desktop just means you don't have to leave the GUI to use it.
// claude desktop · runtime ┌──────────────────────────────────────────┐ │ Claude Desktop (Electron) │ │ chat · artifacts · projects · cowork · code │ └─────────────┬────────────────────────────┘ │ ┌─────────┴──────────┐ │ │ ┌──────┴──────┐ ┌──────┴──────┐ │ Anthropic │ │ MCP client │ │ API │ │ (local) │ └─────────────┘ └──────┬──────┘ │ claude_desktop_config.json │ ┌─────────────────────┼─────────────────┐ │ │ │ ┌──────┴──────┐ ┌────────┴───────┐ ┌──────┴──────┐ │ Filesystem │ │ GitHub │ │ Postgres │ │ MCP (stdio) │ │ MCP (stdio) │ │ MCP (stdio) │ └─────────────┘ └────────────────┘ └─────────────┘ local processes Desktop spawns · stdout/stdin JSON-RPC
Desktop ships as a signed installer. No CLI, no build step. The install is done in a minute; wiring MCP takes a config edit and a restart.
Get the installer from claude.ai/download. Anthropic serves a .dmg for macOS and a .exe for Windows. There is no official Linux build (as of 2026-04) — Linux users run claude.ai in a browser.
Same credentials as claude.ai. Your plan (Free / Pro / Max / Team / Enterprise) carries over — Projects, larger context, and higher rate limits come from the plan, not the app.
Enable Developer Mode before editing MCP config. It surfaces config paths and gives you access to the MCP log viewer.
| Platform | Path |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| MCP logs (macOS) | ~/Library/Logs/Claude/ |
| MCP logs (Windows) | %APPDATA%\Claude\logs\ |
claude_desktop_config.json require a full app restart, not just a new conversation."C:\\\\Users\\\\you\\\\...".Artifacts split substantial outputs out of the chat stream so you can iterate, download, and share them. Trigger them for anything more than ~15 lines that you'll want to reuse.
Ask for changes in chat — Claude edits the existing artifact in place rather than producing a new one. Version history lives in the panel; you can scrub back. Keep requests focused: "change the button color to terracotta" beats "redo the whole header."
claude.ai/public/artifacts/...) for code, docs, and React components. Anyone with the link can view; changes you make later update the live page.Projects are scoped containers for related conversations. Each one has a knowledge base (up to ~200k tokens of your files) and custom instructions that prepend every chat. Pro and above.
On Team and Enterprise plans, a project can be shared with the workspace. Members see the same knowledge and instructions, but conversations stay private unless explicitly shared. Good for playbooks; bad if you care about who-edited-what audit trails (there aren't any).
Cowork is Anthropic's collaborative mode — surfaced natively in Desktop. Multiple participants, one shared session, live artifacts and tool state everyone can see and edit.
A single shared workspace that multiple humans join alongside Claude. Everyone sees the same conversation, the same artifacts, the same MCP tool results. Turns interleave — a teammate can add a message while Claude is mid-response, and Claude picks it up on the next turn.
| Role | Can do |
|---|---|
| Owner | Everything — kick, delete, change permissions, close session |
| Editor | Send messages, add files, approve tool calls, edit artifacts |
| Viewer | Read-only — see the session, copy out, no writes |
They're orthogonal and compose. A Project is your scoped knowledge base and instructions, with private threads. A Cowork session is a shared live room. Run a Cowork session inside a Project and it inherits the knowledge — common pattern for team playbooks where everyone hits the same reference material.
Desktop exposes Claude Code with every feature the terminal CLI has — slash commands, hooks, skills, subagents, MCP, permissions, memory, Agent SDK. Same ~/.claude, same CLAUDE.md loading, same model picker. Not a lite version.
Built-in (/help, /clear, /model) and custom commands from .claude/commands/.
PreToolUse, PostToolUse, UserPromptSubmit, Stop, SubagentStop — all fire the same as in terminal.
.claude/skills/*/SKILL.md files are auto-discovered and invokable.
general-purpose, Explore, Plan, plus any custom agent types you've defined.
Same claude_desktop_config.json servers are available to Code sessions.
Ask / accept-edits / bypass — prompts surface in the Desktop UI, not a terminal.
CLAUDE.md at repo root, ~/.claude/CLAUDE.md, and project-scoped memory all load as usual.
Build on the same SDK the CLI uses — custom agents, tools, and workflows.
| Thing | Desktop | Terminal |
|---|---|---|
| Diffs | Side-by-side viewer | Inline text diff |
| Permission prompt | Modal dialog | TUI picker |
| File tree | Persistent sidebar | On-demand |
| Hooks output | Log panel | Stdout interleaved |
| Copy / paste | Native | Terminal-dependent |
| Session state | ~/.claude/projects/ | ~/.claude/projects/ |
claude -p "…") — Desktop doesn't do headless well.For everything else, it's a preference call — the agent is the same.
MCP lets Claude Desktop talk to local processes that expose tools, resources, and prompts. The desktop app is the client; you run servers. Edit claude_desktop_config.json, restart, done.
| Transport | How it runs | Use for |
|---|---|---|
| stdio | Desktop spawns a subprocess, talks over stdin/stdout | Local tools (filesystem, git, docker) |
| HTTP | Desktop connects to a running HTTP server | Team services, hosted MCP |
| OAuth 2.1 | HTTP + OAuth flow in the app | SaaS integrations (Linear, Asana, etc.) |
By default, every MCP tool call requires your approval. You'll see "Allow for this chat" / "Allow always" / "Deny." Approvals are per-server, per-tool. For trusted local-only servers (filesystem you own), "Allow always" is fine. For anything that touches production or costs money, keep it on per-chat.
command not found: npx → Desktop uses a minimal PATH. Use the absolute path to node (/opt/homebrew/bin/npx) or wrap in a shell.Desktop ships with a handful of tools Anthropic runs on your behalf. No config, no MCP — toggle them on in settings and Claude uses them when the task calls for it.
Claude runs a search, reads the results, and cites the sources. Good for fresh facts, bad for deep research (it won't paginate through 30 results). Toggle in Settings → Profile → Features.
A JavaScript/Pyodide sandbox where Claude writes and runs code on uploaded files. Parse a CSV, run some stats, generate a chart, return results inline. Isolated from your machine — code cannot read your filesystem or hit the network.
Drop images into chat (JPG, PNG, WebP, GIF, up to 5 per message, up to 30MB each, up to ~8000×8000). Claude reads charts, transcribes handwriting, OCRs screenshots, describes photos. Multimodal is on the core model, not an opt-in tool.
Upload PDFs up to 32MB / 100 pages. Claude reads text and renders pages as images for layout-heavy documents — tables, forms, scanned pages all work. For huge PDFs, extract the relevant pages first; full 300-page docs will crowd out your context.
On supported models (Opus 4.x, Sonnet 4.x), toggle Extended Thinking to let Claude spend more compute before answering. Good for: hard math, multi-step planning, tricky refactors. Bad for: anything quick — it makes responses noticeably slower.
Desktop accepts files directly in the compose box — drag from Finder, paste from clipboard, click the attach button. The file is read into the conversation's context, not stored long-term.
| Type | Formats | Limit |
|---|---|---|
| Documents | PDF, DOCX, TXT, MD, RTF | 32MB / 100 pages (PDF) |
| Spreadsheets | XLSX, CSV | 30MB |
| Images | JPG, PNG, WebP, GIF, non-animated | 30MB, 5/message |
| Code | Any text-based source file | 30MB |
Settings live behind ⌘+, (Ctrl+, on Windows). Most knobs are account-wide; a few are per-device.
Display name, personalization ("traits"), response preferences. Sets a weak system prompt applied globally.
Dark/light/system, font size, UI density. Per-device.
Toggle Web search, Analysis tool, Extended thinking, Artifacts. Off = Claude won't reach for them.
Surface MCP config path, log viewer, allow local MCP servers. Off by default.
OAuth MCP connectors (Linear, Asana, Google Drive, etc.). Auth flow runs in-app.
Plan, billing, data controls, sign out. Links out to claude.ai for the deeper knobs.
Per-conversation dropdown in the compose bar. Default is the most capable model on your plan. Switching mid-chat is allowed — the new model sees the full conversation history.
| Shortcut | Action |
|---|---|
| ⌘ N | New chat |
| ⌘ K | Search conversations |
| ⌘ , | Settings |
| ⌘ B | Toggle sidebar |
| ⌘ / | Show shortcuts |
| ⌘ ⇧ O | Quick capture (global) |
On Free plans, Anthropic may use your chats to train models unless you opt out. Pro, Team, and Enterprise are opt-out by default. Check Settings → Privacy on claude.ai to confirm.
Anthropic ships Claude behind three surfaces that look similar but aren't substitutes. Pick by what you're doing, not by brand loyalty.
| Claude Desktop | Claude Code | Codex CLI | |
|---|---|---|---|
| Surface | Native chat app | Terminal / IDE | Terminal / ChatGPT |
| Vendor | Anthropic | Anthropic | OpenAI |
| Model | Claude (picker) | Claude (picker) | GPT-5 / o-series |
| Edits files | Yes (via Claude Code) | Yes | Yes |
| Runs shell | Yes (via Claude Code) / MCP | Yes | Yes |
| Cowork (collab) | Yes | No | No |
| Artifacts | Yes | No | No |
| Projects | Yes | No (CLAUDE.md) | No (AGENTS.md) |
| MCP | Client | Client | Client |
| Billing | Subscription | Subscription or API | Subscription or API |
claude CLI on the same repo still works; they share ~/.claude.