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

  1. Run npm ping — should return {} if registry is up.
  2. Check the npm status page.
  3. Try npm view lodash version — quick registry test.
  4. 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

🔗 downdetector.com/status/npm

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 ping to 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 whoami to 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-package returns 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 --force then 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 --json for raw output
  • Skip audit temporarily: npm install --no-audit

Issue: Login and token problems

Symptoms:

  • npm login prompts but fails
  • npm whoami returns 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 install takes 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.json exists and is committed
  • Use npm ci instead of npm install in 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 ping fails 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 ping works 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

  1. Run npm ping and capture output
  2. Check status.npmjs.org
  3. Test from a different network
  4. Confirm with teammates
  5. Switch to --prefer-offline if possible
  6. 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-offline or 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 →