DeepSeekDSH
Independent community guideNot affiliated with DeepSeek.Official source snapshot

EADDRINUSE: address already in use 127.0.0.1:3080

Fix EADDRINUSE on 127.0.0.1:3080 by identifying the listening process, checking Windows excluded ports, or starting DSH on a free port.

On this page

First, match EADDRINUSE: address already in use 127.0.0.1:3080

This page targets EADDRINUSE: address already in use 127.0.0.1:3080. The full message can contain a few extra words on different operating systems or Node.js versions, but the core error code or phrase should match.

EADDRINUSE: address already in use 127.0.0.1:3080
EADDRINUSE
address already in use
port 3080 is already in use
EACCES :3080

When searching or asking for help, copy the full error and remove API keys, private repository names, usernames and sensitive paths.

Fast fix: EADDRINUSE: address already in use 127.0.0.1:3080

EADDRINUSE usually means a process is listening on 3080. EACCES on Windows can mean the port is reserved by Hyper-V, WSL2 or Docker. Identify the cause first; only stop a process after confirming what it is, or start DSH on a free port such as 13080.

What EADDRINUSE: address already in use 127.0.0.1:3080 means

DSH could not bind its local Web server to the requested port. A running process and a Windows excluded port require different fixes.

Common causes of EADDRINUSE: address already in use 127.0.0.1:3080

  • An earlier DSH process is still running.
  • Another application is already using port 3080.
  • Windows has an excluded TCP range that includes 3080.
  • DSH was launched several times while the first startup was still in progress.

Source trace for EADDRINUSE: address already in use 127.0.0.1:3080

These links are pinned to the 0.1.2-alpha.5 / 49a606b snapshot used for this page. They help separate EADDRINUSE: address already in use 127.0.0.1:3080 from failures produced by Node.js, PowerShell, the operating-system network stack or filesystem permissions.

Fix EADDRINUSE: address already in use 127.0.0.1:3080

  1. 01

    Find the Windows listener and PID

    Run this in PowerShell. The OwningProcess value is the PID.

    Get-NetTCPConnection -LocalPort 3080 -State Listen | Select-Object LocalAddress,LocalPort,OwningProcess
  2. 02

    Identify the Windows process

    Replace <PID> with the OwningProcess value. Do not stop it until the process name is known.

    Get-Process -Id <PID>
  3. 03

    Stop only a confirmed stale DSH process

    Use this only after you have confirmed that the PID belongs to an old DSH or Node process you intended to close.

    Stop-Process -Id <PID>
  4. 04

    Check Windows reserved ports

    If the error is EACCES and no process is listening, check whether 3080 falls inside an excluded range.

    netsh interface ipv4 show excludedportrange protocol=tcp
  5. 05

    Check the listener on macOS or Linux

    The command shows the process name and PID using the port. Confirm the process before stopping it.

    lsof -nP -iTCP:3080 -sTCP:LISTEN
  6. 06

    Start DSH on another port

    When 3080 is unavailable, use a free local port and open the exact URL printed by DSH.

    npx @deepseek-ai/dsh web --port 13080

Verify EADDRINUSE: address already in use 127.0.0.1:3080 is fixed

  • The terminal prints a Web UI address without EADDRINUSE or EACCES.
  • The printed URL opens in the browser.
What to avoid
  • Do not kill an unknown PID before checking its process name.
  • Do not repeatedly start more DSH processes while the first one is still downloading or launching.
  • Do not disable Hyper-V, WSL2 or Docker merely to free one port; choosing another port is usually safer.

EADDRINUSE: address already in use 127.0.0.1:3080 FAQ

How do I fix EADDRINUSE: address already in use 127.0.0.1:3080?

EADDRINUSE usually means a process is listening on 3080. EACCES on Windows can mean the port is reserved by Hyper-V, WSL2 or Docker. Identify the cause first; only stop a process after confirming what it is, or start DSH on a free port such as 13080.

What does EADDRINUSE: address already in use 127.0.0.1:3080 mean?

DSH could not bind its local Web server to the requested port. A running process and a Windows excluded port require different fixes.

How do I verify EADDRINUSE: address already in use 127.0.0.1:3080 is fixed?

The terminal prints a Web UI address without EADDRINUSE or EACCES. The printed URL opens in the browser.

Sources and version

Checked against the official repository on 2026-09-03. Published version baseline: 0.1.1-rc.2; source snapshot: 0.1.2-alpha.5 (49a606b).

Official README · Verified source commit · GitHub Discussions