OpenClaw Port 3000 Already in Use — How to Fix (2026)
Fix the "Port 3000 already in use" error in OpenClaw. Learn how to find and kill the conflicting process or change the default port.
Understanding the Port Conflict
When you see Error: listen EADDRINUSE: address already in use :::3000, it means another process is already bound to port 3000. OpenClaw defaults to port 3000, which is also commonly used by React, Next.js, and other Node.js applications.
Step-by-Step Fix
1. Find the Conflicting Process
On Linux/macOS:
# Find the process using port 3000
lsof -i :3000
# Alternative using ss
ss -tlnp | grep 3000On Windows:
netstat -ano | findstr :3000
# Note the PID, then:
tasklist | findstr <PID>2. Kill the Conflicting Process
# Linux/macOS - replace <PID> with the actual process ID
kill -9 <PID>
# Or kill all processes on port 3000
fuser -k 3000/tcp
# Windows
taskkill /PID <PID> /F3. Change the OpenClaw Port (Recommended)
Instead of fighting over port 3000, assign OpenClaw a different port:
# Using environment variable
PORT=8080 openclaw start
# Or in openclaw.json
{
"port": 8080,
"host": "0.0.0.0"
}4. Docker Port Mapping
If running in Docker, map to a different host port:
services:
openclaw:
image: ghcr.io/openclaw/openclaw:latest
ports:
- "8080:3000" # Host port 8080 → container port 3000Preventing Future Conflicts
Set a non-standard port in your configuration file permanently. Ports like 18789, 8080, or 9000 are less likely to conflict with development tools.
Frequently Asked Questions
Why does OpenClaw say port 3000 is already in use?
Another application (like a Node.js dev server, React app, or another OpenClaw instance) is already listening on port 3000. Only one process can bind to a port at a time.
How do I find what is using port 3000?
On Linux/macOS, run "lsof -i :3000" or "ss -tlnp | grep 3000". On Windows, use "netstat -ano | findstr :3000". This will show you the process ID (PID) of the application using the port.
How do I change the OpenClaw port?
Set the PORT environment variable before starting OpenClaw (e.g., PORT=3001 openclaw start) or update the "port" field in your openclaw.json configuration file.