Windows: bind failed, the port is excluded by the Hyper-V dynamic port range
Hyper-V and WSL 2 reserve blocks of TCP ports at boot, and anything inside a reserved range cannot be bound even though nothing is listening on it. Common ports such as 1433, 3000 and 50051 fall inside these blocks after a restart, so a service that worked yesterday fails today.
Quick fix
Read the commands before running them. Anything that restarts a service, deletes data or changes permissions should be tried on a non-production system first.
# Is the port excluded rather than in use?
netstat -ano | findstr :3000
netsh interface ipv4 show excludedportrange protocol=tcp
# Reserve your port so Hyper-V has to work around it
net stop winnat
netsh int ipv4 add excludedportrange protocol=tcp startport=3000 numberofports=1
net start winnat
# Or move the dynamic range away from application ports
netsh int ipv4 set dynamicport tcp start=49152 num=16384
# The reservations are rebuilt at boot, which is why it looks intermittent
How to diagnose Windows errors
Windows errors surface as numeric codes that mean little on their own, but the operating system keeps detailed logs that almost always contain the real cause. Two categories dominate developer machines: missing Visual C++ redistributables (a DLL-not-found error for a runtime the application assumed was present) and architecture or dependency mismatches (the 0xc000007b family, usually a 32-bit/64-bit mix).
If the quick fix above does not resolve it, work through these steps. They apply to this whole class of error, not just to this one message, which is usually what saves the time.
- Read Event Viewer under Windows Logs → Application and System, filtered to the time of the failure. The numeric code in the dialog maps to a detailed entry there.
- For MSI failures, install with verbose logging:
msiexec /i package.msi /l*v install.log, then search the log for "Return value 3". The lines just above name the failing action. - For missing DLLs, install the matching Visual C++ Redistributable and confirm the architecture matches the application (x64 versus x86).
- Repair system corruption with
sfc /scannowfollowed byDISM /Online /Cleanup-Image /RestoreHealth, in that order. - For access-denied errors, check both NTFS permissions and whether the process needs elevation; UAC virtualisation can make writes appear to succeed while landing elsewhere.
Tools worth reaching for
Event Viewermsiexec /l*vsfc /scannowDISM /RestoreHealthProcess Monitor (ProcMon)
Authoritative references
Primary documentation for this error, worth reading before applying any fix in production.
Related Windows errors
- Windows Update: error 0x80070643A Windows Update (commonly a .NET or security update) failed to install, often due to a…
- Windows: 'x' is not recognized as an internal or external commandcmd searched PATH and found nothing by that name. An already open terminal keeps the…
- Windows: 0xc000007b application unable to start correctlyA 32/64-bit mismatch or corrupt/missing runtime DLLs prevented the application from starting…
- Windows: Access is denied (error 5)A process attempted an operation without sufficient privileges, or a file/service is locked…
- Windows: corrupted system files / component storeSystem instability or update failures caused by corruption in protected system files or the…
- Windows: RDP can't connect (CredSSP encryption oracle remediation)Remote Desktop fails after a CredSSP update mismatch: one side is patched and enforcing while…
- Windows: The process cannot access the file because it is being usedWindows takes mandatory file locks, so a handle held anywhere blocks a delete or rename that…
- Windows: The specified path, file name, or both are too long (MAX_PATH)Many Windows APIs still enforce a 260-character path limit. Deep node_modules trees and…
Browse other categories
- HTTP 494xx client errors, 5xx server errors, redirects, headers and protocol problems.
- JavaScript 42npm resolution, async pitfalls, hydration, memory limits and runtime type…
- Database 41Connections, deadlocks, constraints, replication and memory limits.
- AI 35Rate limits, context windows, GPU memory and model-serving failures.
- Network 35Refused connections, timeouts, resets, MTU problems and port exhaustion.
- Python 35Imports, virtual environments, encoding, concurrency and dependency conflicts.
- Kubernetes 34CrashLoopBackOff, ImagePullBackOff, OOMKilled, RBAC, scheduling and storage.
- Docker 27Daemon connectivity, disk space, image pulls, ports and architecture mismatches.
- System 26Disk space, systemd units, file descriptors, OOM killer and scheduled jobs.
- Cloud 25IAM permissions, quotas, service limits and credential failures.
- Security 25JWT validation, CSRF, OAuth grants, SELinux, SSH host keys and CSP.
- TLS 24Untrusted authorities, expiry, hostname mismatch, chains and cipher negotiation.
Something missing or wrong?
This entry is maintained by hand. If the fix is out of date, incomplete, or you have a better one, email a correction and it will be reviewed.