DC

duplonicus/cowork-wsl-files

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

0 stars 0 forks 品質 81 トレンド 14MIT

MCP file server so Claude Cowork can read and write ~/dev in WSL

概要

A small local MCP server that lets Claude Desktop's Cowork, on Windows, read and write your files inside WSL. It runs inside WSL over stdio, and Claude Desktop starts it with wsl.exe. Cowork on Windows can't attach a folder that lives in a WSL distro. Every way in fails: - A \wsl.localhost\ ... subfolder is rejected up front: "Network (UNC) paths are not supported here." - The \wsl.localhost folder itself, a mapped drive (net use), a subst drive, or a symlink in your Windows home folder: the picker accepts them, then the message fails with "Some folders couldn't be added." That leaves WSL developers without Cowork for any of their code. Microsoft's own advice is to keep projects on the Linux filesystem for speed (WSL docs). The feature request is anthropics/claude-code#99303. It re-files #61003, which a bot closed as stale with no maintainer response. Claude Desktop's Code tab does handle WSL folders; Cowork doesn't.

README

以下は原文 README の抜粋です。原文を見る。

wsl-files

A small local MCP server that lets Claude Desktop’s Cowork, on Windows, read and write your files inside WSL.

It runs inside WSL over stdio, and Claude Desktop starts it with wsl.exe.

Why this exists

Cowork on Windows can’t attach a folder that lives in a WSL distro. Every way in fails:

  • A \\wsl.localhost\\... subfolder is rejected up front: “Network (UNC) paths are not supported here.”
  • The \\wsl.localhost folder itself, a mapped drive (net use), a subst drive, or a symlink in your Windows home folder: the picker accepts them, then the message fails with “Some folders couldn’t be added.”

That leaves WSL developers without Cowork for any of their code. Microsoft’s own advice is to keep projects on the Linux filesystem for speed (WSL docs).

The feature request is anthropics/claude-code#99303. It re-files #61003, which a bot closed as stale with no maintainer response. Claude Desktop’s Code tab does handle WSL folders; Cowork doesn’t.

Scheduled tasks hit the same wall: the “New scheduled task” form rejects a WSL folder as “a protected location”. The Code tab’s WSL sessions would be the way around that, but as of 2026-10-17 (Desktop 2.42304.0.0) they fail to start with “Couldn’t upload to the remote (server binary) … [ENOENT]” (#101998).

Cowork can still use local MCP servers through Claude Desktop, and an MCP server can run inside WSL. This one does the file work there and hands Cowork the results.

Why not the official filesystem server

@modelcontextprotocol/server-filesystem works, but two things made it a poor fit here:

  • No server-side deny list. Anything under an allowed folder is readable, .env files included; its excludePatterns is a per-call option for searches, chosen by the client. This server refuses secrets files outright and redacts key-shaped strings.
  • The client can replace its folders. Per its README, roots sent by the client “completely replace any server-side Allowed directories”. Here the folders are fixed on the server side, whatever the client sends.

This one also accepts the Windows spellings Cowork tends to send (\\wsl.localhost\..., W:\..., C:\Users\\dev\...).

If Anthropic ships WSL folders in Cowork, you won’t need this.

What it can do

Tool What it does
list_roots Shows the folders it may use
read_file Reads a text file with line numbers, in pages (offset, limit)
write_file Creates or replaces a file, creating parent folders
edit_file Replaces exact text: one match, or every match with replace_all
list_dir Lists a folder, up to 5 levels deep
GitHub で README 全文を見る

インストール

This server does not publish a one-line install command.

Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →