Quick answer: by default, Cursor’s agent only reads files inside the workspace you have open. There are three real fixes: add the other folder to your workspace (multi-root), open a common parent folder, or connect an MCP server that searches the folder for you. Which one fits depends on whether the outside files are code you’re editing or reference material you’re consulting.

Method 1: Add the folder to your workspace

Cursor supports multi-root workspaces, and since the April 2026 update a single agent session can work across all roots:

  1. File → Add Folder to Workspace… and pick the outside folder.
  2. File → Save Workspace As… to keep the combination as a .code-workspace file you can reopen.
  3. Reference files across roots with the root name as prefix, e.g. @api-service/src/types/user.ts.
  • Good for: a second codebase you’re actively editing — frontend + backend, an app + its shared library.
  • Limits: everything you add gets indexed and shows up in search and context. Fine for code; noisy if what you really wanted was “consult that folder of PDFs occasionally.”

Method 2: Open a parent folder

The blunt instrument: open a directory that contains both the project and the other files. It works, but Cursor now indexes everything underneath — node_modules-sized noise, unrelated repos, whatever else lives there — and your project-level config and rules may no longer sit at the workspace root. Use .cursorignore to cut the worst of it. Reasonable for a quick one-off; rarely the setup you want to keep.

Method 3: Connect the folder over MCP

Cursor is an MCP client: tools from servers you configure are available to the agent in any project. That flips the problem — instead of pulling outside files into the workspace, you give the agent a way to reach them where they are.

For raw file operations there’s the reference filesystem MCP server. For search — the “find the relevant part of that folder of papers, specs, or meeting transcripts” case — an indexed library fits better. StashBase indexes folders you open in the app (extracting text from PDFs, DOCX files, and images) and exposes keyword and semantic search over MCP. In ~/.cursor/mcp.json (global, so every project gets it) or a project’s .cursor/mcp.json:

{
  "mcpServers": {
    "stashbase": {
      "command": "/Users/YOUR_USER/.stashbase/bin/stashbase-mcp"
    }
  }
}

The StashBase app must be running — the MCP server lives in the app. Cursor asks for approval before running MCP tools by default.

  • Good for: reference material outside the repo — docs, papers, notes, transcripts — that the agent should search without those files polluting workspace indexing. The same library serves Claude, Codex, and any other MCP client.
  • Limits: it’s an app you run, not an editor setting, and access is bounded to folders opened in the library.

Which one should you pick?

  • Editing code in two repos → multi-root workspace (method 1).
  • Quick one-off peek → open the parent folder (method 2), then go back.
  • Consulting a reference library across projects → MCP (method 3).

The pattern is the same one Claude users hit with local file access: granting access lets the agent open files; an index lets it find the right ones.