Claude does not check if tool/software is already installed before attempting reinstall
Resolved 💬 1 comment Opened May 26, 2026 by StefanSuditu Closed Jun 27, 2026
Bug Report
Category: waste (unnecessary resource consumption)
Severity: Major
Claude Code Version: 2.1.84
OS: Windows 11 Pro
Description
Claude Code does not verify whether a tool/software is already installed on the system before attempting to download and install it again. In the same session:
- User needed
ghCLI - Claude found it's not in bash PATH - Claude downloaded
gh_2.74.0_windows_amd64.zip(~50MB), extracted it to a temp folder - It worked from the extracted path
- 10 minutes later, a
findcommand revealedgh.exewas already installed atC:\Program Files\GitHub CLI\gh.exeAND authenticated
Expected Behavior
Before any installation attempt, Claude should:
- Run
find/where.exe/Get-Commandto search common paths - Check standard locations (
C:\Program Files\,%APPDATA%, etc.) - Only install if the tool is genuinely not found
Actual Behavior
Claude skips the verification step entirely and goes straight to download + install. When gh was not found via bare gh command in bash, Claude assumed it was not installed instead of searching with full paths.
Steps to Reproduce
- Have a tool installed in a standard location (e.g.,
C:\Program Files\GitHub CLI\gh.exe) - Ensure it's NOT in the bash PATH (common on Windows with Git Bash)
- Ask Claude to use the tool
- Claude will attempt to install it again instead of finding the existing installation
Impact
- ~5 minutes wasted on unnecessary download + extract
- ~50MB disk space wasted (duplicate installation)
- ~500+ tokens wasted on download/extract commands
- User frustration
Suggested Fix
Add a "check before install" pattern:
# Before any install, search for existing installation
existing=$(find /c/Program\ Files /c/Program\ Files\ \(x86\) -name "tool.exe" -type f 2>/dev/null | head -1)
if [ -n "$existing" ]; then
echo "Found existing installation: $existing"
else
echo "Not found, proceeding with install..."
fi
This applies to any tool installation: gh, node, python, java, etc.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗