原文(日本語に翻訳)
WindowsでBashToolがEINVALエラーで失敗する問題を修正しました
原文(英語)
Fixed BashTool failing on Windows with EINVAL error
概要
Windows環境でClaude Codeを使用する際に、BashToolが EINVAL(無効な引数)エラーで失敗していた問題を修正しました。このエラーはClaude Codeがシェルコマンドを実行しようとした際に発生し、ファイル操作や検索など多くの操作が影響を受けていました。v2.1.55の修正により、Windows上でもBashToolが安定して動作するようになりました。
基本的な使い方
修正後、Windows上でのBashToolは通常通り機能します。
bash
# Windows上でのClaude Code起動
claude
# BashToolを使ったファイル操作(修正前はEINVALエラーが発生)
# 例: ファイル一覧表示
ls -la
# 例: ファイル内容確認
cat README.md
# 例: コード検索
grep -r "function" src/実践例
ファイル操作でのコマンド実行
bash
# Windows環境でClaude Codeを起動
claude
# ユーザー: "プロジェクトのファイル構造を教えてください"
# Claude がBashToolを使ってファイル一覧を取得
# 修正前: EINVAL エラーで失敗
# 修正後: 正常に実行
> ls -la
total 48
drwxr-xr-x src/
drwxr-xr-x tests/
-rw-r--r-- package.json
...コード検索と分析
bash
# コードベース内の関数を検索
> grep -r "async function" src/ --include="*.ts"
# 修正前: EINVALエラー
# Error: EINVAL: invalid argument
# 修正後: 正常に検索結果を返す
src/utils/api.ts:async function fetchData(url: string) {
src/handlers/user.ts:async function createUser(data: UserData) {スクリプトの実行
bash
# テストの実行
> npm test
# ビルドの実行
> npm run build
# 修正前はこれらのコマンドでもEINVALエラーが発生していた
# 修正後は正常に動作Windows特有の環境での利用
powershell
# PowerShellまたはWSL (Windows Subsystem for Linux) からClaude Codeを起動
claude
# Windows形式のパスも正常に処理
# C:\Users\username\project のようなパスでも動作注意点
- この修正は v2.1.55 で適用されています
- Windows環境でClaude Codeを使用する場合は v2.1.55 以上に更新することを推奨します
- EINVAL エラーは「無効な引数」を意味し、Windows特有のパス処理や引数の扱いの違いが原因でした
- WSL (Windows Subsystem for Linux) 環境と Native Windows 環境の両方に影響する可能性があります
- まだ問題が続く場合は以下を試してください:bash
# Claude Codeを最新バージョンに更新 npm install -g @anthropic-ai/claude-code@latest # バージョン確認 claude --version