The gist
There are three ways to work with Claude Code: in the terminal (a window where you type text commands), in VS Code (a popular code editor from Microsoft) and in the Claude desktop app, a program you install on your computer like any other app. This lesson is about the desktop app. It's a tool for everyday work: three tabs, parallel sessions, a built-in terminal, a task scheduler, and switching models with a single click.
For non-programmers, this is usually the easiest way into Claude Code: you install an app, click around, and type your requests in plain English. You don't have to open a terminal to get started.
Key concepts
- Claude Code Desktop: what the docs call Claude Code inside the Claude desktop app (macOS and Windows, with a Linux beta). The app has three tabs: Chat, Cowork, Code
- The Code tab: the main one; hands-on work with code and files on your computer
- The Chat tab: a regular conversation with Claude (no access to your files), the same as claude.ai in your browser
- The Cowork tab: Dispatch (an ongoing conversation with Claude that you can send tasks to, including from your phone) and longer agent work (an agent is a program that carries out tasks on its own): research, documents, spreadsheets
- Permission modes: how much freedom you give the agent (from "ask me about everything" to "go ahead on your own")
- Models: Haiku (fast), Sonnet (faster and cheaper than Opus), Opus (the default), Fable (the longest and hardest tasks); you can switch between them in the middle of a session. Current names and versions: What's current
- Parallel sessions: several conversations with the agent running at the same time, each with its own task
- Scheduled tasks: a scheduler; the agent starts on its own, on a schedule
Theory
Installing the desktop app
System requirements:
- macOS 13.0+ (Ventura or later), Intel or Apple Silicon
- Windows 10 1809+ or Windows Server 2019+
- Linux: the app is in beta (Ubuntu and Debian, installed through apt or a .deb package); the terminal version (the CLI, or command-line interface) runs on Linux with no restrictions
- 4 GB of RAM, an internet connection, and Git (a version control system that keeps track of changes to code): you only need it for isolated sessions (the worktree option, explained below). Most Macs already have it
Option 1: download it directly
| Platform | Link |
|---|---|
| macOS Universal (Intel + Apple Silicon) | claude.ai/api/desktop/darwin/universal/dmg/latest/redirect |
| Windows x64 | claude.ai/api/desktop/win32/x64/setup/latest/redirect |
| Windows ARM64 | claude.ai/api/desktop/win32/arm64/setup/latest/redirect |
Option 2: Linux (beta): install it through apt or a .deb package for Ubuntu and Debian. Instructions: Claude Desktop on Linux.
The
brew install --cask claude-codecommand installs the terminal version of Claude Code, not this app. The terminal version is covered in the lesson CLI launch modes.
After downloading: open the DMG (macOS) or Setup.exe (Windows) → install it like any other app → launch it → sign in to your Anthropic account (the same one you use on claude.ai) → open the Code tab at the top of the window.
You need a paid plan: Pro, Max, Team or Enterprise. Claude's free plan doesn't include Claude Code: if you click the Code tab on a free plan, the app asks you to upgrade. Current plan prices: What's current.
Three tabs: Chat, Cowork, Code
| Tab | What it does | What it's for |
|---|---|---|
| Chat | A conversation with Claude with no access to your files | Questions, analysis, explanations, no code |
| Cowork | Dispatch and longer agent work | Research, documents, spreadsheets; tasks sent from your phone (Dispatch requires a Pro or Max plan) |
| Code | Works with the local files on your computer | Programming, automation, projects |
The main tab for this course is Code. This is where the agent reads your files, writes code and runs commands.
Since September 16, 2026, Anthropic has been merging Chat and Cowork into one. The update is rolling out gradually, to Pro and Max plans first. If you see one tab where this lesson shows those two, that's fine: the Code tab works the same way.
The Code tab interface
The sidebar:
- A list of all your sessions; each session is a separate conversation with the agent
- The
+ New sessionbutton (Cmd+N / Ctrl+N): a fresh, clean conversation - The Scheduled section: sessions from scheduled tasks
- A Dispatch badge on a session: Dispatch started it, for example from a task you sent from your phone
- The Routines button: create and manage schedules
- The Customize button: manage connectors (links to outside services such as Google Calendar or Slack), skills and plugins in one place
The input box (at the bottom):
- The text of your request
- The
+button: attach a file, an image or a PDF - The Environment dropdown: Local / Cloud / SSH (on Windows, also WSL)
- The Model dropdown: choose the model (Haiku / Sonnet / Opus / Fable)
- The permission mode selector, next to the send button
- The send / stop button (Esc)
Panels (you can open and hide them):
| Panel | What it shows | Keyboard shortcut |
|---|---|---|
| Chat | Your conversation with Claude | — |
| Diff | Changes to the code (+/-) | Cmd+Shift+D |
| Browser | A built-in browser: your running app and any website | Cmd+Shift+B |
| Terminal | The built-in terminal | Ctrl+` |
| Tasks | Background tasks and subagents | — |
| Plan | Claude's plan of action | — |
Transcript views:
A "tool call" below is a single action Claude takes, such as reading a file or running a command.
- Normal: tool calls are collapsed into short summaries
- Verbose: you see every step and every tool call
- Thinking: tool calls are collapsed, but you can see Claude's reasoning
- To switch:
Ctrl+O
Choosing a model
To switch models: the dropdown next to the send button. It works during a session; you don't have to start over.
Models as of October 2026 (current list: What's current):
| Model | Alias | What it's for | Speed / cost |
|---|---|---|---|
| Haiku 4.5 | haiku |
Simple, quick tasks | Fastest / cheapest |
| Sonnet 5.5 | sonnet |
Everyday work | Faster and cheaper than Opus |
| Opus 5.5 | opus |
Complex reasoning, architecture decisions | The default model |
| Fable 5.1 | fable |
The longest and hardest tasks | Powerful / on subscriptions it may draw from usage credits |
| OpusPlan | opusplan |
Opus plans, Sonnet carries out the plan | Hybrid |
Fable 5.1, Opus 5.5 and Sonnet 5.5 have a context window of 1 million tokens (context is everything in the conversation that the AI can see at once; tokens are the small chunks of text AI reads and writes), so they don't need a separate version with [1m].
Default model (the one that's set unless you change it): on every subscription (Pro, Max, Team, Enterprise) and in the API, the default is Opus 5.5. The Pro plan used to default to Sonnet; that's no longer the case.
Effort levels:
You can choose how hard Claude thinks: low, medium, high, xhigh, max. The set of levels depends on the model, so check what the menu offers for the one you've picked.
- Menu:
Cmd+Shift+E - Or type
ultrathinkin your prompt (a prompt is the text request you give the AI), and Claude will think more deeply about that request
Extended thinking:
- Opus 5.5, Sonnet 5.5 and Fable always have extended thinking on; there's no separate button for it
- You can see Claude's reasoning in Thinking or Verbose view (switch with
Ctrl+O)
Permission modes
To choose: the dropdown next to the send button. Keyboard shortcut: Cmd+Shift+M.
| Mode | What it does | When to use it |
|---|---|---|
Manual (the setting value is default; it used to be called Ask permissions) |
Asks before every file and every command | Learning, unfamiliar tasks |
| Accept edits (formerly Auto accept edits) | Edits files on its own, asks before running commands | You're confident about the task and want speed |
| Plan (formerly Plan Mode) | Only analyzes, changes nothing | To see what Claude plans to do |
| Auto | Works without the usual questions, while a separate checker model compares each action against what you asked for | Experienced users, trusted tasks |
| Bypass permissions | Almost no questions | Only in isolated containers (a sealed-off test environment with nothing important in it) |
Auto appears in the list when you've picked a model that supports it (Opus 4.6 or later, Sonnet 4.6 or later, or Fable); in an organization, an admin can turn it off. Bypass permissions appears only after it has been turned on in settings. Check the list in your version of the app for the exact set of modes.
💡 If you're just starting: look at which mode is selected and switch to Manual. It asks a lot of questions, and that's the point: you see what the agent is about to do with your files before it does it. The app remembers the mode you pick for each folder. Move to Accept edits once you're confident about the task.
Parallel sessions
Each session has its own conversation history. But two sessions opened in the same folder edit the same files. To keep them apart, the app can give a session its own copy of the project: when you start the session, turn on the worktree option next to the branch name. It works only in a folder that Git keeps track of (a repository), and it needs Git installed.
Managing sessions:
| Action | Mac | Windows |
|---|---|---|
| New session | Cmd+N |
Ctrl+N |
| Close session | Cmd+W |
Ctrl+W |
| Next session | Ctrl+Tab |
Ctrl+Tab |
| Previous session | Ctrl+Shift+Tab |
Ctrl+Shift+Tab |
| Open side by side | Cmd+click on a session |
Ctrl+click on a session |
Side chat: a side question that doesn't interrupt the main conversation:
Cmd+;(macOS) /Ctrl+;(Windows)- Or type
/btwin your prompt
Environments
| Environment | Where the agent works | Advantages |
|---|---|---|
| Local | On your computer | Direct access to your files |
| Cloud | In Anthropic's cloud (a cloud session) | Keeps working with the app closed, several repositories |
| SSH | On a remote machine | Working with a production server (the live server your real users rely on), a VPS, a Dev Container |
A beginner only needs Local. The rest comes in handy later.
Setting up an SSH connection:
- Environment dropdown →
+ Add SSH connection - Fill in: Name, SSH Host (
user@hostname), SSH Port (22 by default), Identity File - Claude Code installs itself on the remote machine the first time you connect
Scheduled tasks
To create one: the Code tab → Routines in the sidebar → New routine → Local.
Fields:
- Name: a name (for example,
morning-report) - Instructions: what Claude should do (ordinary text, in plain English). This is also where you choose the working folder; you can't save the task without one
- Schedule: when it runs
Schedule options:
| Type | Example |
|---|---|
| Manual | Run by hand only |
| Hourly | Every hour |
| Daily | Every day at 9:00 AM |
| Weekdays | Weekdays at 8:30 AM |
| Weekly | Mondays at 10:00 AM |
Minimum interval: 1 minute. For an interval that isn't on the list, ask Claude in any session to set it.
Local vs. cloud:
- Local: run while the app is open, with access to your files
- Cloud (routines): run even when your computer is off, can be triggered through the API (an API is a way for programs to talk to each other) or a GitHub event; minimum interval of 1 hour
Tip: local tasks only run while the app is running and your computer isn't asleep. Turn on Keep computer awake (Settings → This computer → System) if you use overnight tasks. Closing a laptop's lid still puts it to sleep.
Computer use
- Requires a Pro or Max plan (not available on Team and Enterprise); the feature is a research preview (an early version that's still being tested)
- To turn it on:
Settings → This computer → System, the Computer use section - macOS: it needs the Accessibility and Screen Recording permissions
⚠️ This lets the agent act inside your apps, so try it on something harmless first, and keep sensitive windows (banking, email) closed while you experiment.
Three levels of access to apps:
| Level | Apps |
|---|---|
| View only | Browsers, trading platforms |
| Click only | Terminals, IDEs (integrated development environments, the programs developers write code in) |
| Full control | Everything else |
Key desktop keyboard shortcuts (full list)
Cmd+/shows every keyboard shortcut right inside the app. On Windows, press Ctrl where you see Cmd
| Shortcut (Mac) | What it does |
|---|---|
Cmd+N |
New session |
Cmd+W |
Close session |
Esc |
Stop Claude's reply |
Cmd+Shift+D |
Diff panel (see the changes) |
Cmd+Shift+B |
Browser (with your app and websites) |
Ctrl+` |
Built-in terminal |
Cmd+; |
Side chat (ask something without interrupting the main thread) |
Ctrl+O |
Transcript view (Normal / Thinking / Verbose) |
Cmd+Shift+M |
Permission modes menu |
Cmd+Shift+I |
Model menu |
Cmd+Shift+E |
Effort menu (how hard Claude thinks) |
Cmd+/ |
Show all keyboard shortcuts |
Desktop vs. VS Code extension vs. CLI: a comparison
| Feature | CLI | Desktop | VS Code |
|---|---|---|---|
| Parallel sessions | Separate terminals | ✅ Built-in sidebar | ✅ Tabs and windows |
| Built-in terminal | It runs in a terminal itself | ✅ | ✅ (VS Code's terminal) |
| Visual diff | ❌ | ✅ | ✅ |
| Attaching files/photos | ❌ | ✅ | ✅ |
| Scheduled tasks screen | ❌ (schedules are set up another way, for example with cron, a system tool that runs tasks on a schedule) | ✅ | — |
| Computer use | macOS only, Pro and Max plans | ✅ macOS and Windows, Pro and Max plans | — |
| SSH connection from inside the app | Not needed: you install it right on the server | ✅ | — |
| Cloud sessions | ✅ (claude --cloud) |
✅ | Only to pick up one you already started |
| Agent teams (experimental, off by default) | ✅ | ❌ | — |
| Automation/scripts | ✅ (--print) |
❌ | ❌ |
| Linux | ✅ | beta | ✅ |
"—" means the extension's documentation doesn't describe this feature.
Bottom line: Desktop is the best choice for everyday hands-on work. The CLI is for automation and scripts. VS Code is for when you want everything in one editor.
Common mistakes
❌ Mistake: You opened the desktop app and got stuck in the Chat tab, thinking Chat is Claude Code.
✅ Instead: Chat is just a conversation, with no access to your files. To work with code, you need the Code tab.
❌ Mistake: Turning on Fable for every task "to make it better."
✅ Instead: For most everyday tasks the default model is plenty, and Sonnet is faster and cheaper. Fable is for truly long and complex tasks, and on subscriptions it may draw from usage credits. Haiku is for quick, simple requests. Don't burn tokens (the small units of text AI works in) for nothing.
❌ Mistake: Working in Bypass permissions mode on real projects with important data.
✅ Instead: Bypass permissions is only for isolated test environments. On real projects, use Manual, Accept edits or Auto.
❌ Mistake: Starting two sessions in the same folder and wondering why they get in each other's way.
✅ Instead: Sessions in the same folder edit the same files. Give them different folders, or turn on the worktree option so each one gets its own copy of the project.
❌ Mistake: Turning on the worktree option without Git installed.
✅ Instead: A separate copy of the project needs Git. On Windows, install Git for Windows and start the session again.
Practice
Exercise: your first day in the desktop app
The steps use Mac shortcuts; on Windows, press Ctrl where you see Cmd.
Step 1: Install it (10 min)
- Download the desktop app using the link for your operating system (above)
- Install it like any other app
- Launch it → sign in to your Anthropic account
Step 2: Explore the interface (5 min)
- Open the Code tab at the top of the window
- Press
Cmd+/and look over the list of keyboard shortcuts - Open the model dropdown and see what's available
- Open the permission modes list, read about each mode, and choose Manual
Step 3: Your first session (10 min)
- Press
Cmd+Nfor a new session - Leave Environment on Local, click Select folder and pick a folder (for your first try, create an empty test folder)
- Type:
What do you see in this folder? Describe its structure. - Watch how the agent explores the files
💡 For your very first try, use a test folder rather than one with important documents, and check that the mode is set to Manual so Claude asks before it changes anything.
Step 4: Parallel sessions (5 min)
- Press
Cmd+Nagain to create a second session - Ask one thing in the first session and something else in the second
- Switch between them with
Ctrl+Tab - Make sure each one keeps its own conversation
Step 5: Create your first scheduled task (10 min)
- Click Routines in the sidebar → New routine → Local
- Name:
morning-check - Instructions:
Check all the .md files in this folder and tell me what's new.Choose the same test folder - Schedule: Manual (runs by hand only, for now)
- Save the task, click Run now and watch how it works
You're done when the app is installed, the agent has answered your question about the test folder, and the morning-check task has run and shown a result.
Tools and resources
- Claude Code Desktop: download (macOS): Universal DMG (Intel + Apple Silicon)
- Claude Code Desktop: download (Windows x64): Setup EXE
- Official guide: Desktop Quickstart: Anthropic's quick start
- Full Desktop Reference: every feature of the interface
- Model Configuration: managing models and effort levels
- Desktop Scheduled Tasks: scheduled tasks
- Git for Windows: needed on Windows for isolated sessions
Library lessons, optional:
→ See the lesson Installing VS Code and the extension: the alternative route through VS Code
→ See the lesson CLI launch modes: if you want to work in the terminal
→ See the lesson Loop and scheduled tasks: a deeper look at scheduling tasks
Key takeaways
Claude Code Desktop is a native app with three tabs. For programming, you need the Code tab. Chat is just a conversation, with no files.
You can switch models right in the middle of your work. Opus is the default, Sonnet is faster and cheaper, Haiku is for quick tasks, and Fable is for the hardest ones.
While you're learning, use Manual mode and a test folder: the agent asks before every change.
Scheduled tasks are an agent on a schedule. Local tasks run only while the app is open and your computer is awake.
Next lesson
→ Build websites and web apps with Claude Code: your first build, a website from a description in words
You already covered how to give the agent clear instructions in How to write a good prompt for Claude Code; it's worth rereading before the practice.
The mark stays in this browser only and is never sent anywhere. My progress