[BUG] Windows installer reports success but fails to create claude.exe in target directory
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Summary
The Windows PowerShell installer script (install.ps1) reports successful installation but fails to actually create the claude.exe file in the target directory C:\Users\<username>\.local\bin\.
Environment
- OS: Windows 11 Pro (Build 10.0.26200)
- PowerShell Version: 7.5.4
- Claude Code Version: 2.0.67
- Installation Method: PowerShell script via
irm https://claude.ai/install.ps1 | iex
Root Cause Analysis
After examining the installer script, the issue appears to be in this flow:
- Script downloads
claude.exeto temporary location:$env:USERPROFILE\.claude\downloads\claude-$version-$platform.exe - Script runs
& $binaryPath installto set up the launcher - The
installsubcommand reports success but fails to create the executable - Script deletes the temporary file in the
finallyblock
When running the installer manually:
$GCS_BUCKET = "https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases"
$version = Invoke-RestMethod -Uri "$GCS_BUCKET/stable"
$platform = "win32-x64"
$downloadPath = "$env:USERPROFILE\Downloads\claude-installer.exe"
Invoke-WebRequest -Uri "$GCS_BUCKET/$version/$platform/claude.exe" -OutFile $downloadPath
& $downloadPath install stable
It produces the same "successfully installed" message but does not actually create the file at the reported location.
Directory Permissions
Permissions are correct and allow full control:
Path : C:\Users\Cody\.local\bin
Owner : BUILTIN\Administrators
Access : NT AUTHORITY\SYSTEM Allow FullControl
BUILTIN\Administrators Allow FullControl
COMPUTERNAME\Cody Allow FullControl
Workaround
Manual installation works:
# Download the installer
$GCS_BUCKET = "https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases"
$version = Invoke-RestMethod -Uri "$GCS_BUCKET/stable"
$platform = "win32-x64"
$downloadPath = "$env:USERPROFILE\Downloads\claude-installer.exe"
Invoke-WebRequest -Uri "$GCS_BUCKET/$version/$platform/claude.exe" -OutFile $downloadPath
# Manually copy to target location
New-Item -ItemType Directory -Force -Path "C:\Users\$env:USERNAME\.local\bin"
Copy-Item $downloadPath "C:\Users\$env:USERNAME\.local\bin\claude.exe"
# Add C:\Users\<username>\.local\bin to PATH manually through System Properties
What Should Happen?
The claude.exe file should be created at C:\Users\Cody\.local\bin\claude.exe` and be executable.
Actual Behavior
- The installer reports "✔ Claude Code successfully installed!"
- The installer reports the location as
C:\Users\Cody\.local\bin\claude.exe - The installer warns that "claude command not found at C:\Users\Cody\.local\bin\claude.exe"
- The directory
C:\Users\Cody\.local\bin\exists but is empty (or does not containclaude.exe) - Running
claudefails with "command not found"
Error Messages/Logs
Steps to Reproduce
- Run the installer:
``powershell``
irm https://claude.ai/install.ps1 | iex
- Observe the output:
````
Setting up Claude Code...
✔ Claude Code successfully installed!
Version: 2.0.67
Location: C:\Users\Cody\.local\bin\claude.exe
Next: Run claude --help to get started
⚠ Setup notes:
• installMethod is native, but claude command not found at C:\Users\Cody\.local\bin\claude.exe
• Native installation exists but C:\Users\Cody\.local\bin is not in your PATH.
- Check the directory:
``powershell``
Get-ChildItem C:\Users\Cody\.local\bin\
Result: Directory is empty
- Verify file doesn't exist:
``powershell`
Test-Path "C:\Users\Cody\.local\bin\claude.exe"
False`
Result:
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
--
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
- This appears to be a bug in the
claude.exe installsubcommand itself, not the PowerShell wrapper script - The issue affects the native Windows installation method
- The installer provides misleading success feedback when the operation actually failed
This issue has 9 comments on GitHub. Read the full discussion on GitHub ↗