Skip to content

原文(日本語に翻訳)

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

関連情報