CLAUDE LABJP
FORK — Claude Code 2.1.212 changes what /fork does: it copies your conversation into a new background session with its own row in claude agents, so you can keep working. The old in-session subagent is now /subtaskLIMITS — WebSearch calls are now capped at 200 per session by default, and subagent spawns get the same 200 ceiling, so a runaway search or delegation loop stops on its ownMCPBG — MCP tool calls running past two minutes now move to the background automatically, keeping the session usable. Tune the threshold with CLAUDE_CODE_MCP_AUTO_BACKGROUND_MSPLANFIX — Fixed plan mode auto-running file-modifying Bash commands such as touch and rm without a permission prompt or an SDK canUseTool callbackSONNET5 — Claude Sonnet 5 is running on introductory pricing of $2 per million input tokens and $10 per million output. After August 31 it moves to $3 and $15IPO — Bankers are reportedly lining up investor meetings for Anthropic ahead of a possible public listing as soon as OctoberFORK — Claude Code 2.1.212 changes what /fork does: it copies your conversation into a new background session with its own row in claude agents, so you can keep working. The old in-session subagent is now /subtaskLIMITS — WebSearch calls are now capped at 200 per session by default, and subagent spawns get the same 200 ceiling, so a runaway search or delegation loop stops on its ownMCPBG — MCP tool calls running past two minutes now move to the background automatically, keeping the session usable. Tune the threshold with CLAUDE_CODE_MCP_AUTO_BACKGROUND_MSPLANFIX — Fixed plan mode auto-running file-modifying Bash commands such as touch and rm without a permission prompt or an SDK canUseTool callbackSONNET5 — Claude Sonnet 5 is running on introductory pricing of $2 per million input tokens and $10 per million output. After August 31 it moves to $3 and $15IPO — Bankers are reportedly lining up investor meetings for Anthropic ahead of a possible public listing as soon as October
Articles/Claude.ai
Claude.ai/2026-05-04Beginner

Claude Desktop in 2026 — Projects, MCP, and Extended Thinking in Daily Use

Notes from using Claude Desktop daily as an indie developer — when Projects, MCP, extended thinking, and Computer Use actually pay off, and how the desktop app compares to the web version in 2026.

Claude Desktopdesktop app4Projects4MCP45Claude Max2Computer UseArtifacts2

Claude.ai on the web is convenient, but once you start relying on Claude daily, you start noticing its limits. Files you uploaded in yesterday's session are gone. Context resets between conversations. There's no way to connect Claude to your local tools or databases.

Claude Desktop addresses all of this. Since I started using it seriously, my workflow has changed considerably — particularly once I understood what MCP connections actually enable. The sections below walk through what's worth knowing in 2026, with the focus on features whose value isn't obvious from the changelog.

Claude Desktop vs. the Web App — The Core Difference

Claude Desktop is a native application for macOS and Windows. Visually, it looks nearly identical to the web version. The meaningful difference is local environment integration.

Because the app runs natively on your machine, it can connect to MCP (Model Context Protocol) servers running locally. This enables Claude to interact directly with your file system, databases, local applications, and external services — without any data leaving your environment unless you configure it to.

Download the app from claude.ai/download. macOS 12+ and Windows 10+ are supported.

Projects — Persistent Memory for Ongoing Work

Projects let you group related conversations and files so they share context. This sounds simple, but it fundamentally changes how you work on anything that takes more than one session.

In a regular Claude conversation, everything resets when the session ends. In a Project, Claude can reference previous conversations within that project. You can say "continuing from our discussion last week about the database schema" and Claude actually understands what you mean.

Each Project supports custom instructions — persistent rules that apply to every conversation in that project. Some examples of what this enables:

Instructions for "MyApp Development" Project:
- Always use TypeScript with strict mode
- Prefer functional components in React
- Code comments should be in English, even if I write in Japanese
- When reviewing code, always check for potential null pointer issues

You can also attach files that remain available across all conversations in the project — architecture documents, known issues, API references, anything Claude should be aware of throughout the project's lifetime.

File Integration — Beyond Single-Session Attachments

The web app lets you attach files to individual conversations. Claude Desktop adds something more powerful: MCP-based file system access where Claude can navigate and interact with your local files autonomously.

The standard attachment system supports text files, PDFs, images (PNG, JPG, GIF, WebP), and most code file types. This works well for one-off analysis tasks.

For deeper integration, the MCP filesystem server lets you point Claude at a directory and have it explore your codebase, read multiple files in context, and understand how they relate to each other. "Look at everything in the src folder and identify any patterns that might cause memory leaks" becomes a real, workable instruction.

MCP — Connecting Claude to Your Tools

MCP (Model Context Protocol) is the most powerful feature Claude Desktop offers. It's also the one most people underuse because it requires a bit of initial setup.

MCP servers act as bridges between Claude and external systems. Once configured, Claude can call tools provided by these servers just like it would call built-in tools — and you don't have to manually copy-paste data between applications.

Configuration lives in claude_desktop_config.json (on macOS, at ~/Library/Application Support/Claude/):

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/yourname/projects"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_TOKEN"
      }
    },
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres"],
      "env": {
        "POSTGRES_URL": "postgresql://user:password@localhost/mydb"
      }
    }
  }
}

After restarting Claude Desktop, connected servers appear in the tool panel within conversations.

The most useful MCP servers to start with:

filesystem: Read and write local files. Point it at your project directory and Claude can review your entire codebase, modify files based on your instructions, and understand project-level context.

github: Interact with repositories — read PRs, create issues, review code changes, search through commits. I use this for code review sessions where I want Claude to see the actual diff.

puppeteer: Automate browser interactions. Useful for web scraping, filling forms in workflows, or generating screenshots for documentation.

sqlite / postgres: Query databases using natural language. "Show me the users who signed up last week but never completed onboarding" — no SQL required.

Extended Thinking

Extended thinking (available in Claude 3.7 Sonnet and later) lets Claude spend more time reasoning before answering. In Claude Desktop, you can toggle it per conversation.

This isn't useful for everything. For simple questions, it just slows things down. But for problems where multiple factors need to be weighed — complex architecture decisions, mathematical proofs, multi-step debugging — the quality difference is noticeable.

Where extended thinking consistently helps:

  • Evaluating architectural tradeoffs with multiple constraints
  • Mathematical or logical problems requiring step-by-step reasoning
  • Identifying root causes in complex bugs where surface symptoms are misleading
  • Synthesizing conflicting information from multiple sources

The thinking process itself is shown in a collapsible section. Reading it occasionally is instructive — you can see where Claude's reasoning was on track and where it adjusted course.

Computer Use

Computer Use lets Claude see your screen and control your mouse and keyboard. In 2026, this feature is available to a growing set of users through Claude Desktop.

The flow works like this: Claude takes a screenshot, analyzes what it sees, decides on an action (clicking a button, typing text, navigating a menu), executes it, then takes another screenshot to verify the result. It continues this loop until the task is complete or it runs into something it can't handle.

Practical use today is best for structured, repeatable workflows — filling out forms with data from a document, reorganizing files according to a naming convention, or walking through a multi-step process in an application while you watch.

A few realistic notes on the current state of Computer Use: it's slower than doing things manually for simple tasks, and it can get confused by unusual UI states or multi-step processes with many branches. Think of it as "guided automation" rather than fully autonomous operation — it works best when you're present and can correct its course when needed.

Never use Computer Use for anything involving passwords, financial transactions, or irreversible actions without carefully reviewing each step.

Web App vs. Desktop — When Each Makes Sense

If most of your Claude use is ad hoc — quick questions, one-off writing tasks, occasional code review — the web app is genuinely sufficient. It's always up to date and available from any device.

Desktop starts pulling ahead when:

  • You want Claude to access and work with files on your machine
  • You're running MCP servers to connect Claude to local tools or databases
  • You're working on long-term projects where conversation history matters
  • You need Computer Use for workflow automation

Claude Max and Desktop Usage

Claude Desktop works with all plan tiers, but heavy MCP use and large file processing can hit usage limits quickly on lower plans. Claude Max significantly raises those limits and guarantees priority access during peak hours.

For professional daily use combining MCP servers, Projects, and extended thinking, Max + Desktop is currently the most capable setup available.

Practical Desktop Tips — Folding Artifacts and Email Drafts Into Your Workflow

The sections above covered features one by one, but as an indie developer I've found the desktop app shines brightest when you chain several of them into a single workflow. The two I lean on most every day are Artifacts and email drafting.

Artifacts Pay Off When You Write Them to Disk

Artifacts let Claude sketch code, charts, or UI right beside the conversation. Since libraries like React, Recharts, and Three.js are available, you can prototype a dashboard or check a simple 3D view without ever leaving the chat.

The web app supports Artifacts too, but Desktop takes it a step further. With the filesystem MCP server configured, you can simply say "save the artifact you just made to ~/work/proto/dashboard.jsx" and it lands as a real local file. You can open it in your editor right away, so the jump from prototype to implementation never stalls.

When something won't render, the cause is usually one of a few things. Code that relies on localStorage or sessionStorage won't run in the Artifacts preview — keep state inside the component instead. Long files with many dependencies are more stable if you ask for them piece by piece rather than all at once. And if the preview still breaks, reloading it once often clears the problem.

Hand Email Drafts the Full Context

Writing, replying to, and translating business email is something Claude does very well. But asking it cold to "write a polite decline" only gets you bland, generic phrasing.

Connecting a Gmail-style MCP server in Desktop changes that. Let Claude read the actual thread, then ask "draft a reply to this person letting them know I need to push the deadline back a week, in my usual tone," and you get a draft that respects the context. The same goes for translation: instead of a literal rendering, add "this is a US client, so lead with the conclusion and keep it concise" and the result becomes genuinely usable.

There's one line I always hold: I send every message by hand myself. I let Claude take the draft to the finish line, then check the recipient and the body with my own eyes before sending. Drawing that boundary is what lets me delegate the rest with confidence.

When an Artifact Is Blank or Never Appears

The section above covered the usual rendering hiccups, but Artifacts stumble in a few other ways too. Running prototypes for the Dolice sites through Artifacts, I've learned that each symptom points to a different place to look. Here they are, sorted by what you actually see.

SymptomFirst thing to suspectWhat to do
No Artifact appears at allThe code is short and got treated as an inline code blockSay it plainly: "Turn this into an Artifact, filename dashboard.jsx," so the intent to produce a deliverable is explicit
Preview stays blankA runtime error during render is being swallowedDon't ask for everything at once — return just the skeleton first and isolate where it breaks
It fails on importA library that isn't on the CDN, or a version-specific APIOnly CDN-hosted libraries load. Avoid brand-new version-specific APIs and lean on well-worn patterns
Asking to fix it changes nothingA partial edit is anchored to the previous versionSay "rebuild it from scratch" to cut a clean new version

Most blank previews came down to how the React component was written. Artifacts assume a default export, and a component with required props falls over on the first render when no value is supplied. Leaning on the shape below keeps things from breaking in the first place.

// No required props. Give defaults, and return via default export.
export default function Dashboard({ title = "Revenue", data = [] }) {
  // Don't use localStorage; keep state right here.
  const rows = data.length ? data : [{ label: "sample", value: 42 }];
  return (
    <div style={{ padding: 16 }}>
      <h2>{title}</h2>
      <ul>
        {rows.map((r) => (
          <li key={r.label}>{r.label}: {r.value}</li>
        ))}
      </ul>
    </div>
  );
}

The point is to make it render on its own even when no props arrive. The Artifacts preview won't pass any in, so your defaults become the initial view. The same thinking applies with Three.js for 3D: avoid geometry that only exists in the newest release and substitute a combination of basic shapes, and it holds up.

When the screen is blank, shrinking how much you render gets you to the cause faster than the browser dev tools do. Box in the one line that breaks, then build back out around it. It's a plain habit, but it keeps a prototype moving.

Starting Point: MCP First

If I were introducing someone to Claude Desktop today, I'd tell them to set up the filesystem MCP server before anything else. Pointing it at a project you're actively working on and asking Claude to explain parts of the codebase makes the value of the desktop app immediately tangible.

Projects and extended thinking layer on top of that naturally once you've experienced what local integration enables. The initial setup takes about 30 minutes, and the shift in how you work with Claude is worth it.

Share

Thank You for Reading

Claude Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $10 for lifetime access
View Membership →

If you found this article helpful, a small tip ($1.50) would mean a lot to us. Your support helps keep this site ad-free and covers server and hosting costs.

Related Articles

Claude.ai2026-07-11
When a Connector Starts Slowing Down at Night: A Health-Aware Circuit Breaker for Solo Automation
Seeing connector errors and latency is only half the job — the other half is deciding when to route around them. This is my implementation of a circuit breaker that opens on error rate and p95, with runnable Python and notes on wiring it into nightly jobs.
Claude.ai2026-07-07
A connector failed for two nights and I never noticed — instrumenting my solo setup after observability went to public beta
The week connector observability hit public beta, I realized my one-person operation had no view into errors or latency. Here is how I wrapped my MCP connector calls in a thin meter and started reviewing it weekly.
Claude.ai2026-06-29
Three Ways to Start with Claude — Browser, Desktop, and Mobile, and How to Use Each
A clear walkthrough for getting started with Claude on the browser, desktop app, and iPhone/Android — plus how to combine all three so your day flows smoothly. Written from the perspective of a solo app developer who lives across all three.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links
See all →