install.ps1 gives no download progress feedback, indistinguishable from a hang on slow/AV-throttled connections
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?
The native Windows installer (irm https://claude.ai/install.ps1 | iex) downloads the claude.exe binary (~300MB) using Invoke-WebRequest with $ProgressPreference = 'SilentlyContinue' and no progress output of any kind. On a slow or antivirus-throttled connection, the script prints "Setting up Claude Code..." and then produces no output for several minutes while the download proceeds in the background.
This is indistinguishable from the installer hanging or freezing. I initially assumed the process was stuck and killed it multiple times, when in fact the download was progressing very slowly (as low as ~0.28 MB/s in my case) because real-time antivirus scanning was intercepting the download stream.
What Should Happen?
The installer should report download progress during the claude.exe download step as a percentage (when Content-Length is available) or as bytes downloaded/elapsed time (when it isn't with chunked transfer encoding) so users can tell the difference between "still downloading, just slow" and "actually frozen."
Error Messages/Logs
There are no error. That was the core problem total silence for several minutes with no indication of progress, failure, or success. This is best to prevent confused people with having progress bar download that someone who has internet slow connection.
Steps to Reproduce
- On a Windows 10 machine with a slow connection, or with an antivirus product doing real-time scanning of downloaded executables (reproduced with Windows Defender's real-time protection enabled), open PowerShell (stable, non-preview build; execution policy RemoteSigned).
- Run: irm https://claude.ai/install.ps1 | iex
- Observe the script prints "Setting up Claude Code..." and then nothing further for multiple minutes.
- Confirm the download is actually progressing (not frozen) by checking the growing file size of the partial download in %USERPROFILE%\.claude\downloads while the command appears to hang:
Get-Item "$env:USERPROFILE\.claude\downloads\claude-*.exe" | Select-Object Length
- In my case, this was compounded by Windows Defender's real-time scanning throttling the download to ~0.28 MB/s for a ~305MB file, making the apparent "hang" last several minutes.
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
Just a install claude, no version needed
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
Confirmed via manual testing that the download itself (Invoke-WebRequest to the claude.exe binary URL) is the specific step where output goes silent; all other steps (fetching the latest version, fetching manifest.json) return in under a second. A minimal repro script that adds a live Write-Progress-based percentage/byte counter to the download step confirms the download is genuinely progressing, just with zero feedback in the stock installer.