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.)

Disclosure: I build StashBase, method 5 below. The other four are official Anthropic features, and for plenty of situations they are the better choice — this guide says which. Comparison current as of August 2026.

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 — Cowork sessions on web and mobile can reach your files only while the desktop app is open on your computer.
  2. Select Cowork in the message box, then connect the folder you want Claude to work in.
  3. Describe the task and pick a permission mode. Manual approves every action, Auto auto-approves reads and reviews writes, Skip trusts Claude fully. 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✓opens docs per file; no media transcripts✗✓ (live disk)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 + 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 — live on disk, no uploads to manage. Three permission modes (Manual, Auto, Skip) control how much it asks before acting, and access stays bounded to the folders you’ve connected. It’s available on every paid plan, with web and mobile sessions reaching local files through the desktop app while it’s open.

  • 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 still processed by the model, 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, audio and video get timestamped transcripts, 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. And it’s Alpha, with the rough edges that implies.

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 or recordings. If your corpus is small and text-native, access is enough. When it stops being enough, that’s what the index is for.