MCP filesystem rejects a valid Windows subfolder as “outside allowed directories”

Windows drive-letter casing can break a textual containment check. Matching both paths to an uppercase drive letter is a partial workaround, not a universal fix.

Quick answer

Make the configured allowed directory and requested path use the same uppercase drive letter, for example C: instead of c:. Restart the MCP client. This only partially worked in the source report, so do not widen access to the whole drive.

The exact error

Access denied - path outside allowed directories: c:\... not in C:\...

Do not use this guide for a merely similar message. The workaround is scoped to this signature and the environments below.

Match your environment

  • Windows
  • MCP Filesystem server via NPX
  • Claude Desktop, Windsurf, or another MCP client

What to do

  1. 01

    Compare the two paths

    If one side starts with c: and the allowed root starts with C:, you have the reported signature.

  2. 02

    Normalize the configured root

    Edit the MCP server arguments so the allowed directory uses an uppercase drive letter and fully resolved path.

    C:\Users\you\Documents
  3. 03

    Normalize the requested path

    Open the project and invoke the tool from a path that uses the same drive-letter casing. Restart the client so the server receives the updated root.

  4. 04

    Keep the boundary narrow

    Do not solve a comparison bug by granting C:\ or your entire profile. If casing does not help, update the server and report exact versions.

What likely happened

The reports show Windows-equivalent paths compared with different drive-letter casing. The server treated the textual mismatch as outside the allowlist even though Windows treats them as the same drive.

First-hand sources

Source links support the environment and workaround claims above. An issue being closed does not by itself mean a fix shipped.