MENU

WSL2でWindowsパスを渡したらエラーになる問題を Claude Codeスキルで自動解決した

WSL2 で Claude Code を使っていると、Windows 側のスクリーンショットやファイルのパスを渡したい場面がよくある。
ただ、Windows パス(C:\Users\username\Downloads\...)をそのまま渡しても Read ツールはエラーになる。
毎回「/mnt/c/… に変換してください」って言うの、地味に面倒くさい。
というわけで自動で変換してくれるスキルを作った。🐧

目次

まず結論

こういう SKILL.md を ~/.claude/skills/wsl-path/SKILL.md に置くだけ。

---
name: wsl-path
description: >
  WSL2 環境で Windows パスが渡された時に自動でマウントパスに変換する。
  C:\Users\... や c:/Users/... のようなパスが会話に出た時に使用する。
---

## 目的

Windows パスを WSL2 のマウントパスに変換してファイルにアクセスする。

## ルール

Windows パスが渡されたら、以下の変換を自動で行う:

| Windows パス       | WSL2 パス          |
|-------------------|-------------------|
| C:\Users\...    | /mnt/c/Users/...  |
| c:/Users/...      | /mnt/c/Users/...  |
| D:\path\...     | /mnt/d/path/...   |

- ドライブレター(C, D など)は小文字に変換
- バックスラッシュ \ はスラッシュ / に変換
- ユーザーに確認せず自動で変換して Read する

## アンチパターン

- ❌ Windows パスをそのまま Read に渡す(存在しないエラーになる)
- ❌ ユーザーに「WSL パスを教えてください」と聞く

これで「Windowsパスっぽい文字列が来たら自動で WSL2 マウントパスに変換してからファイルを読む」という挙動になる。

何が起きるか

WSL2 では Windows のファイルシステムが /mnt/ 以下にマウントされている。
Cドライブなら /mnt/c/、Dドライブなら /mnt/d/ という感じ。

Claude Code の Read ツールは Linux パスしか受け付けないので、C:\Users\username\Downloads\image.png を渡すと「そんなファイルない」とエラーになる。
手動変換すれば読めるのはわかってるんだけど、毎回やるのがダルい。

変換ルール

やってることはシンプル。

# Windows パス(どちらの形式でも OK)
C:\Users\username\Downloads\screenshot.png
c:/Users/username/Downloads/screenshot.png

# WSL2 マウントパスに自動変換される
/mnt/c/Users/username/Downloads/screenshot.png

ドライブレター(C, D など)を小文字にして、先頭に /mnt/ を付ける。
バックスラッシュをスラッシュに変換する。
これだけ。

スキルの description に変換条件とアンチパターンを書いておくことで、Claude が「Windowsパスが来たら変換してから Read する」という挙動を学習してくれる。

スキルの配置方法

ファイル構成はこれだけ。

~/.claude/skills/wsl-path/
└── SKILL.md

~/.claude/skills/ 以下にディレクトリを作って SKILL.md を置くだけで、Claude Code がスキルとして認識してくれる。
インストールとかビルドは不要。

ちなみに自分は ~/.codex/skills~/.claude/skills へのシンボリックリンクにしているので、どちらのツールからも同じスキルが使える。
この辺はClaude Code と Codex でスキルを共有する方法に書いた。

まとめ

  • WSL2 では Windows パスを /mnt/c/... 形式に変換しないと Read ツールがエラーになる
  • SKILL.md に変換ルールを書いておくと、Claude が自動で変換してくれる
  • ~/.claude/skills/wsl-path/SKILL.md に置くだけで完了
  • ユーザー名は自分の環境に合わせて書き換えること(username → 自分のユーザー名)

以上!!
誰かのお役に立てれば嬉しいです🐧

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次