Is npm Down? Complete Status Check Guide + Quick Fixes
npm install hanging?
Packages not resolving?
Publish failing with 503 errors?
TL;DR: If you think npm is down, check the official npm status page and a live monitor first.
If both show operational, the issue is likely local (cache corruption, proxy settings, or .npmrc misconfiguration).
This guide covers quick checks, fixes, and when to worry if npm is not working.
Quick Check: Is npm Actually Down?
Don't assume it's npm.
Most "npm down" reports are caused by corrupted caches, corporate proxy interference, stale lockfiles, or DNS issues.
60-second triage
- Run
npm ping— should return{}if registry is up. - Check the npm status page.
- Try
npm view lodash version— quick registry test. - Test from a different network (mobile hotspot).
Fast scope check
If only npm install fails:
- Likely cache corruption, network timeout, or proxy issue.
If npm publish fails:
- Check auth tokens and publish service status.
If everything fails:
- Registry may be down — check status page.
Quick decision tree
npm ping works + install fails → Local cache/network issue
npm ping fails + status page green → DNS or firewall issue
npm ping fails + status page degraded → npm incident likely
Keywords people search
- "npm down"
- "npm status"
- "npm not working"
- "is npm down today"
- "npm registry timeout"
Official Sources
npm Status Page (Primary)
npm Status:
🔗 status.npmjs.org
What to look for:
- ✅ All Systems Operational
- ⚠️ Partial Service Disruption
- 🔴 Major Service Outage
Common components listed:
- npm Registry (package downloads)
- npm Website (npmjs.com)
- npm Publish (package publishing)
- npm Auth (login, tokens, 2FA)
- npm Search (package discovery)
- npm Audit (security vulnerability checks)
- CDN / Package Tarballs
- npm CLI
API Status Check (Independent Monitor)
Live monitoring:
🔗 apistatuscheck.com/api/npm
Why it helps:
- Independent uptime checks every few minutes
- Historical uptime trends
- Alerting to Slack/Discord/email
- Confirms if it's a platform issue vs. your setup
Live "Is npm Down" page
🔗 apistatuscheck.com/is-npm-down
Use it to:
- Get a quick yes/no answer
- Track outage status in real time
- Share with your team during CI/CD failures
Status notifications
Subscribe to updates:
- Email or SMS alerts from the status page
- RSS feeds for incident changes
- Follow @npmjs on Twitter/X
Tip: If npm downtime breaks your CI/CD, subscribe to alerts and set up a registry mirror.
Third-party tools
DownDetector
Why use it:
- Crowd-sourced outage reports
- Spike detection
- Regional breakdown
IsItDownRightNow
🔗 isitdownrightnow.com/npmjs.com.html
Why it helps:
- Quick availability check
- Simple uptime history
Twitter/X search
🔗 Search "npm down" or "npm registry" on Twitter/X
Why it helps:
- Developers report npm issues instantly
- See if the outage is widespread
- npm team sometimes posts updates
Community + forums
- npm GitHub issues (github.com/npm/cli)
- r/node and r/javascript on Reddit
- Hacker News ("npm" search)
- Node.js Discord communities
Note: Third-party tools can show false positives during local network issues.
Always confirm with the official status page.
Common Issues
Issue: npm install hanging or timing out
Symptoms:
- Install hangs with no progress
- ETIMEDOUT or ECONNRESET errors
- "network timeout" after 30+ seconds
- Partial installs with missing packages
Likely causes:
- Registry latency or outage
- Corporate proxy not configured
- DNS resolution failing
- npm cache corruption
- Lockfile conflicts
What to check:
- Run
npm pingto test registry connectivity - Check status page for Registry component
- Try:
npm install --prefer-online --verbose - Test with
curl -I https://registry.npmjs.org/
Issue: npm publish failing
Symptoms:
- Publish returns 500/502/503
- "You must be logged in" despite valid token
- Version published but not visible on npmjs.com
- Scoped package access errors
Likely causes:
- Publish service degraded
- Auth token expired or revoked
- 2FA required but not provided
- Package name conflict or squatting policy
- Registry indexing delay
What to check:
- Status page for Publish component
- Run
npm whoamito verify auth - Check if version already exists:
npm view your-package versions - Wait 5-10 minutes for indexing
Issue: 404 errors for existing packages
Symptoms:
npm install some-packagereturns 404- Package exists on npmjs.com but install fails
- Only specific versions return 404
Likely causes:
- CDN cache inconsistency
- Package recently unpublished/republished
- Scoped package permissions
- Registry metadata propagation delay
What to check:
- Try
npm cache clean --forcethen retry - Check the package page on npmjs.com
- Test with
--registry https://registry.npmjs.org/ - Verify you have access to scoped packages
Issue: npm audit failing
Symptoms:
- Audit hangs or returns errors
- "ENOAUDIT" error messages
- Audit report incomplete
Likely causes:
- Audit service degraded
- Registry API timeout
- Large dependency tree overwhelming audit
What to check:
- Status page for Audit component
- Try
npm audit --jsonfor raw output - Skip audit temporarily:
npm install --no-audit
Issue: Login and token problems
Symptoms:
npm loginprompts but failsnpm whoamireturns 401 Unauthorized- Token suddenly invalid
- SSO/SAML login loops
Likely causes:
- Auth service outage
- Token expired (they expire after inactivity)
- 2FA device issues
- Organization SSO configuration change
What to check:
- Status page for Auth component
- Log in on npmjs.com website directly
- Generate a new access token from web UI
- Check if your org requires SSO
Issue: Slow dependency resolution
Symptoms:
npm installtakes 10+ minutes- "idealTree" step very slow
- Metadata fetches taking seconds each
Likely causes:
- Registry under load
- Too many dependencies without lockfile
- Network latency to npm CDN
- No local cache available
What to check:
- Ensure
package-lock.jsonexists and is committed - Use
npm ciinstead ofnpm installin CI - Check network latency:
ping registry.npmjs.org - Consider using a registry mirror
Issue: Yarn/pnpm also failing
Symptoms:
- Both npm and Yarn/pnpm can't install
- Same errors across all package managers
- Only the npm registry is affected (not GitHub Packages)
Likely causes:
- npm registry is the upstream source for all three
- CDN or DNS issue affecting registry.npmjs.org
- Corporate proxy blocking all package managers
What to check:
- If all three fail → likely registry issue
- If only npm fails → npm CLI-specific issue
- Test with:
curl https://registry.npmjs.org/lodash
Quick Fixes
Fix #1: Run npm ping
The fastest diagnostic:
npm ping
- Returns
{}→ registry is up, issue is local - Hangs or errors → registry may be down
Fix #3: Check registry configuration
# What registry are you hitting?
npm config get registry
# Should be:
# https://registry.npmjs.org/
# Reset if wrong:
npm config set registry https://registry.npmjs.org/
Check .npmrc files:
- Project-level:
./.npmrc - User-level:
~/.npmrc - Global:
$PREFIX/etc/npmrc
Fix #4: Use npm ci in CI/CD
Why: npm ci is faster, deterministic, and more reliable than npm install for builds.
# Instead of:
npm install
# Use:
npm ci
Requirements: package-lock.json must exist and be up-to-date.
Fix #5: Test from command line
# Direct registry test
curl -I https://registry.npmjs.org/
# Package metadata test
npm view lodash version
# Auth test
npm whoami
# DNS test
nslookup registry.npmjs.org
Fix #6: Configure proxy (corporate networks)
# Set HTTP proxy
npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080
# Or use environment variables
export HTTP_PROXY=http://proxy.company.com:8080
export HTTPS_PROXY=http://proxy.company.com:8080
Fix #7: Switch to a registry mirror
If the main registry is down:
# Temporary mirror (Cloudflare)
npm config set registry https://registry.npmmirror.com/
# Or use Yarn's default mirror behavior
yarn install
# Remember to switch back later:
npm config set registry https://registry.npmjs.org/
Warning: Only use trusted mirrors. Verify package integrity.
Fix #8: Delete node_modules and reinstall
rm -rf node_modules package-lock.json
npm install
When to use: After persistent install errors, version conflicts, or corrupted symlinks.
Better approach for CI: Use npm ci which always starts clean.
Fix #9: Update npm itself
# Check version
npm --version
# Update to latest
npm install -g npm@latest
# Or use Node's corepack
corepack enable
Why: Old npm versions have known bugs with registry connections and dependency resolution.
Fix #10: Flush DNS
Mac:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
Windows:
ipconfig /flushdns
Why: Stale DNS entries can prevent resolution of registry.npmjs.org.
Fix #11: Use --prefer-offline for cached builds
If the registry is down but you have cached packages:
npm install --prefer-offline
This uses your local cache first and only hits the registry for packages not already cached.
Fix #12: Check for .npmrc conflicts
# Show all config
npm config list -l
# Look for unexpected registry, proxy, or auth settings
# Check all .npmrc files in the chain
Common issue: A project .npmrc pointing to a private registry that's down.
History of outages
Where to find incident history
npm incident history is listed on:
status.npmjs.org
What to check:
- Time of incident start and resolution
- Affected components (Registry, Publish, Auth, CDN)
- Root cause summaries
How to interpret incident history
- Registry incidents affect all package managers (npm, Yarn, pnpm).
- Publish incidents only affect publishing, not installs.
- CDN incidents may cause intermittent 404s or slow downloads.
- npm has historically had spikes during major package releases or security events.
Typical causes of npm outages
- Registry backend overload during traffic spikes
- CDN cache invalidation issues
- Database performance degradation
- DNS or network routing problems
- Malicious package incidents triggering emergency responses
- Infrastructure provider (AWS/Cloudflare) issues
What to document internally
- Exact time builds started failing
- Error messages and exit codes
- Which package managers affected (npm, Yarn, pnpm)
- Number of developers/CI pipelines blocked
- Workarounds used (mirrors, offline cache)
When to worry
Signs it's a real outage
npm pingfails consistently- Status page shows degradation
- Multiple developers on different networks affected
- Twitter/X flooded with "npm down" posts
- Both npm and Yarn/pnpm failing
Signs it's local
npm pingworks but install fails- Only one developer affected
- Works on mobile hotspot
curl https://registry.npmjs.org/returns 200- Only specific packages fail (private/scoped)
Escalation checklist
- Run
npm pingand capture output - Check status.npmjs.org
- Test from a different network
- Confirm with teammates
- Switch to
--prefer-offlineif possible - Consider a registry mirror for critical CI/CD
Business impact thresholds
- < 15 minutes: Monitor, use cached builds
- 15–60 minutes: Alert team, switch to
--prefer-offlineor mirrors - > 60 minutes: Trigger incident response, defer deployments requiring fresh installs
FAQ
Is npm down right now?
Check status.npmjs.org and compare with apistatuscheck.com/api/npm. Run npm ping for a quick local test.
Is npm down today for everyone?
If multiple developers across networks can't install packages, and the status page shows an incident, it's likely a registry outage.
Why is npm not working for me but works for others?
This usually indicates cache corruption, proxy issues, stale .npmrc configuration, or corporate firewall blocks.
How do I check npm status quickly?
Run npm ping from your terminal, then check status.npmjs.org and apistatuscheck.com/is-npm-down.
What should I do if npm is down?
Use npm install --prefer-offline to install from cache. For CI/CD, consider a registry mirror or pre-cached Docker images with node_modules.
Why does npm install hang?
Hangs are usually caused by registry timeouts, DNS issues, or proxy misconfiguration. Run npm install --verbose for detailed output and npm ping to test connectivity.
Does an npm outage affect Yarn and pnpm?
Yes. Yarn and pnpm default to the npm registry (registry.npmjs.org), so a registry outage affects all three package managers.
Can I publish packages when npm is partially down?
Not reliably. The publish service can be independently degraded. Check the Publish component on the status page.
Is there an npm outage history?
Yes. Past incidents are listed at status.npmjs.org under incident history.
How can I monitor npm automatically?
Use apistatuscheck.com/api/npm for independent uptime monitoring with alerts via RSS, Slack, Discord, or email.
What's the fastest workaround if npm is down?
Use npm install --prefer-offline, switch to a registry mirror, or use pre-built Docker images that include your dependencies.
How do I set up a registry mirror?
Configure an alternative registry: npm config set registry https://registry.npmmirror.com/. Only use trusted mirrors. Switch back when npm recovers.
Related Resources
Monitor Your APIs
Check the real-time status of 100+ popular APIs used by developers.
View API Status →