No connectivity after starting CFW, and the Logs page shows bind: address already in use (or listen tcp 127.0.0.1:7890: bind: ...)? Another program owns the port and the core cannot start.

Step 1: identify the occupier

In an elevated PowerShell:

# who owns port 7890?
netstat -ano | findstr :7890
# the last column is the PID, e.g. 12345 - name it:
tasklist | findstr 12345

Step 2: pick a fix

Option A: close the conflicting program (recommended)

The occupier is almost always another proxy client (v2rayN, a second Clash, a dev tool's debug proxy). Quit it fully - watch for tray residents - and restart CFW. Never run multiple proxy clients simultaneously: even with distinct ports, they overwrite each other's system proxy settings.

Option B: move CFW to another port

Click the Mixed Port number on the General page, change to a free port such as 7891, press Enter. Knock-on effects to remember:

  • Anywhere you manually configured 127.0.0.1:7890 must be updated.
  • Pin mixed-port via Mixin so different subscriptions don't each impose their own port.

9090 conflicts

An external-controller conflict doesn't break connectivity, but the UI loses contact with the core (display anomalies). Same remedies: find the occupier, or move the port via Mixin (external-controller: 127.0.0.1:19090).

Prevention

  • Quit the current proxy tool before trying another.
  • 7890 is the de-facto default for proxy software; in a long-lived dev environment, give CFW its own port range (e.g. 17890/19090).
Tip: a sporadic "port in use" right after restarting CFW is often the previous core lingering: kill any clash-win64.exe in Task Manager and start again.