原文(日本語に翻訳)
Windows: .bashrcファイルを持つユーザーでbashコマンド実行が失敗する問題を修正
原文(英語)
Windows: Fixed bash command execution failing for users with .bashrc files
概要
Windows環境でGit Bashを使用し、.bashrcファイルでカスタム設定を行っているユーザーがClaude Codeでbashコマンドを実行できない問題が修正されました。これにより、エイリアスや環境変数などの個人設定を持つユーザーでも、正常にClaude Codeを使用できるようになります。
問題の背景
v2.1.27以前、以下のような問題が発生していました:
.bashrcファイルでカスタム設定を行っているユーザーでbashコマンドが失敗- エイリアスやPATH設定が読み込まれない
- 特定のツール(pnpm, npmなど)のラッパースクリプトが動作しない
- コマンドが正常に実行されても出力が取得できない("(No content)"と表示される)
これらの問題は、Claude CodeがGit Bashを起動する際に.bashrcを適切に読み込まない、または読み込んだ設定が原因でプロセスが正しく動作しないことが原因でした。
修正内容
v2.1.27での改善点:
.bashrcファイルの適切な読み込み処理- ユーザーのシェル環境設定との互換性向上
- ラッパースクリプト(exec使用)からの出力キャプチャ改善
- Git Bashパスの検出ロジック改善
実践例
.bashrcでのカスタムエイリアス使用
# ~/.bashrc
alias ll='ls -alh'
alias gs='git status'
export PATH="$HOME/.local/bin:$PATH"v2.1.27以降、これらの設定を持つユーザーでもClaude Codeが正常に動作します。
pnpm/npmラッパースクリプトの実行
# Claude Codeからpnpmコマンドを実行
claude "pnpmでパッケージをインストール"
# → pnpm install が正常に実行される以前は"(No content)"と表示されていたコマンドも、正しく出力が表示されます。
カスタムPATH設定の活用
# ~/.bashrc
export PATH="/c/custom/tools:$PATH"
export NODE_ENV=developmentClaude Codeは.bashrcで設定されたPATHを認識し、カスタムツールも実行できます。
開発ツールの設定読み込み
# ~/.bashrc
# Node.js version manager
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
# Python virtual environment
source ~/venvs/myproject/bin/activateこれらの設定も正しく読み込まれます。
トラブルシューティング
もしまだ問題が発生する場合:
Git Bashパスの明示的設定:
powershell# PowerShellで環境変数を設定 $env:CLAUDE_CODE_GIT_BASH_PATH="C:\Program Files\Git\bin\bash.exe"または、システム環境変数として恒久的に設定:
CLAUDE_CODE_GIT_BASH_PATH=C:\Program Files\Git\bin\bash.exe.bashrcの確認:
bash# .bashrcにエラーがないか確認 bash -c "source ~/.bashrc && echo 'OK'"Claude Codeの診断:
bashclaude doctorデバッグモードでの実行:
bashclaude --debug
Windows環境での推奨設定
Git for Windowsのインストール確認
# Git Bashがインストールされているか確認
where.exe bash.exe
# 期待される出力: C:\Program Files\Git\bin\bash.exe.bashrcの推奨設定
# ~/.bashrc
# Claude Code との互換性を保つための設定
# エラーで停止しない(デバッグ用)
set +e
# エイリアス設定
alias ll='ls -alh'
# PATH設定(Windowsパスとの共存)
export PATH="$HOME/.local/bin:$PATH"
# Node.js設定
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"注意点
- Git for Windowsがインストールされている必要があります
- 非標準のパスにGit Bashをインストールしている場合は、環境変数
CLAUDE_CODE_GIT_BASH_PATHで指定してください .bashrc内で対話的なプロンプトを使用している場合、Claude Codeの実行に影響を与える可能性があります- 複雑なシェルスクリプトや特殊な設定は、WSL環境での使用を推奨します
- Windows PowerShellネイティブ環境では、
.bashrcは使用されません
WSLとの比較
Windows上でClaude Codeを使用する選択肢:
Git Bash(ネイティブWindows):
- 軽量で起動が速い
- .bashrcサポート(v2.1.27以降)
- Windows アプリケーションとの統合が容易
WSL(Windows Subsystem for Linux):
- 完全なLinux環境
- より高度なシェル機能
- ファイルシステムパフォーマンスに注意
関連Issue
この修正により解決されたIssue:
- Bash command failing with no output when run from claude
- Bash tool produces no output on Windows
- Bash output shows "(No content)" on Windows native