Bilo Guides FAQ

"Error: listen EADDRINUSE: address already in use :::3000": the fix

Node.js documents EADDRINUSE as an attempt to start a server on an address that another server on your computer already occupies. The number at the end (3000 here) is the port. Most often, an earlier run of your own app is still alive in another terminal.

The error looks like this:

Error: listen EADDRINUSE: address already in use :::3000

How to fix it

  1. Look for an old copy first. Check other terminal tabs and editor windows for a running dev server and stop it (Ctrl+C).
  2. Find what holds the port. On Mac or Linux, lsof -i :3000 lists it. On Windows, netstat -ano | findstr :3000 shows the process ID.
  3. Stop that process. On Mac or Linux, kill <PID>. On Windows, taskkill /PID <PID> /F. Only stop a process you recognise.
  4. Or use another port. Many tools accept a PORT environment variable or a --port option. Ask your AI tool how your project sets it.

What you should see

The server starts and prints that it is listening on the port.

Not fixed? Bring the exact message to Bilo and we will look at it with you.

Still stuck? Paste your error into Bilo

Quick questions

Why does it happen after a crash?

The previous process may not have exited. It keeps holding the port until you stop it.

Is it safe to kill whatever uses the port?

Check the name first. If it is not something you started, pick another port instead.

Is EACCES the same?

No. Node.js describes EACCES as a permission problem, not an occupied address.

Sources and date checked

Written in our own words from the official pages above. Tool names are only references; we are not affiliated with them. Commands change between versions, so check the linked docs if something differs.

Tell us your idea and get a blueprint with an estimated cost, free.

Start the free interview

Bilo works by connecting to your own AI (Claude, ChatGPT, …). You need an account with that AI, and the usage for writing things comes out of your own AI plan.