Quick answer: yes, Claude can access your local files. On any paid plan, Cowork in the Claude desktop app reads and edits folders you connect, Claude Code does the same in the terminal, and any MCP client can mount a filesystem server or an indexed library like StashBase.

The one method that never touches your disk is uploading copies to a Claude Project. These five methods are not interchangeable — some upload copies to the cloud, some read your disk directly, and some build a searchable index first — so this guide walks through when each one is the right choice. (Only using the desktop app? There’s a desktop-specific walkthrough too.)

How to give Claude access to a folder

The fastest route today is Cowork, included in every paid Claude plan (Pro and up) on macOS and Windows:

  1. Open the Claude desktop app. Local folder access runs through the desktop app, and it has to stay open while Claude works with your files. Sessions you start on the web or your phone can’t reach your folders.
  2. Select Cowork in the message box, then connect the folder you want Claude to work in. If there’s no Chat/Cowork switch, your app has the newer version where they’re one Claude: connect the folder in any conversation.
  3. Describe the task and pick a permission mode. Manual asks before each action, Auto has an automatic safety check review each action instead of you, and Skip all approvals checks nothing. Claude can now read, edit, and create files in that folder — and only in folders you’ve connected.

Prefer the terminal? claude --add-dir ~/path/to/folder grants the same access in a Claude Code session (method 3 below). And if what you actually need is search across a large folder of mixed formats, skip ahead to method 5.

Side by side

Files stay localReads PDF/DOCX/scans/mediaSearch by meaningStays in sync with diskWorks across agentsSetup
1 · Projects upload✗ (cloud copy)PDFs/docs, as uploadsProject knowledge onlymanual re-uploadclaude.ai onlynone
2 · Cowork✓ (cloud copies per task)opens docs per file; no media transcripts✗✓Claude appsnone (paid plans)
3 · --add-dir✓text and PDFs per file; no media transcripts✗✓ (live disk)Claude Codenone
4 · Filesystem MCP✓text files; scans/media opaque✗✓ (live disk)any MCP clientminutes
5 · StashBase✓converted + OCR; no media transcripts✓ (sign-in or key)reindex on changeany MCP clientminutes

Method 1: Upload to a Claude Project

The zero-setup option. In Claude Projects, you upload files into a project’s knowledge and every chat in that project can use them.

  • Good for: a stable, small set of reference documents you’ll chat about repeatedly; sharing context with a team on claude.ai.
  • Limits: files are copied to the cloud, capped by project knowledge size, and don’t stay in sync — when a file changes on disk, you re-upload it yourself.

Method 2: Claude Cowork

Cowork is the built-in way to point the Claude app at a folder: select Cowork in the message box, connect a folder, and Claude reads, edits, and creates files there, with no uploads to manage. Since October 6, 2026, new sessions on Pro and Max run in Anthropic’s cloud: Claude fetches a copy of each file a task needs through the desktop app, and the copies are deleted with the session. Permission modes (Manual, Auto, Skip all approvals) control how much it asks before acting, and access stays bounded to the folders you’ve connected. It’s available on every paid plan; the desktop app has to stay open while Claude works with your files.

  • Good for: hands-on desktop work — “go through this folder, fix these files, build a spreadsheet from them” — on files that stay in place on your disk.
  • Limits: it’s direct file access, not retrieval. Claude explores by listing folders and opening files, which works well until the corpus gets large or lives in recordings and scans with no standing text to skim. And “local” means the files stay put: whatever Claude reads is processed in Anthropic’s cloud, like any chat.

Method 3: Claude Code with --add-dir

In the terminal, Claude Code reads your working directory, and --add-dir grants additional directories in the same session.

  • Good for: coding sessions, and any workflow you already run in a terminal; the agent reads exactly the files it decides it needs.
  • Limits: session-scoped and context-window-bound. There’s no persistent index — on a folder of 200 PDFs, the agent has to guess which files matter from names and paths.

(Pointing Claude Code at a notes folder rather than a repo? There’s a second-brain guide for exactly that setup.)

Method 4: A filesystem MCP server

The Model Context Protocol lets any MCP client talk to any MCP server, and the reference filesystem server exposes read/write/list operations over directories you allow. In Claude Desktop, local servers like this install as desktop extensions.

  • Good for: wiring file access into multiple MCP clients with one standard mechanism; scripted or headless setups.
  • Limits: raw file operations. No conversion — a scanned PDF or a lecture recording is still opaque — and no search index; discovery is directory listing.

Method 5: An indexed library (StashBase)

StashBase takes the other approach: instead of giving the agent raw file operations, it prepares your folders first. Open folders in the app; PDFs, DOCX files, and images gain extracted text, and everything becomes searchable by keyword — or by meaning (sign in for the free monthly credits, or use your own OpenAI or OpenRouter key). A local MCP server then exposes search, read, and bounded file operations to Claude Desktop, Claude Code, Codex, and any other MCP client, all against the same library.

  • Good for: a standing library of mixed-format documents that several agents should be able to search, not just read — and files that need preparation before they’re usable as text at all.
  • Limits: it’s an app you run, not a flag you pass — the MCP server lives in the running app. Access is deliberately bounded to folders you’ve opened, so it is not a general filesystem interface. Recordings aren’t transcribed, so they stay out of search unless you save a transcript as a text file.

Which one should you pick?

  • One-off questions about a few documents → Projects (method 1). Nothing to install.
  • Editing files on your machine in conversation → Cowork (method 2).
  • You live in the terminal → --add-dir (method 3).
  • Scripted/headless file access for MCP clients → filesystem MCP (method 4).
  • A growing, mixed-format library you want every agent to search → StashBase (method 5). That’s the case it was built for: see the setup guide, or browse the source.

Using Cursor? Its agent stops at the open workspace too; here’s how to give Cursor access to files outside your project.

Access vs. retrieval

The honest summary: methods 1–4 give Claude access to files; an indexed library gives it retrieval. Access means Claude can open the files you point it at; retrieval means it can find the right three files in a library of three thousand, including the ones that started as scans. If your corpus is small and text-native, access is enough. When it stops being enough, that’s what the index is for.