What If a Local Port Is in Use and the Proxy Port Cannot Start?

Clash clients commonly open HTTP, SOCKS, mixed-port, and external-controller ports. A port conflict can break the system proxy or control dashboard.

  • Proxy Modes and System Proxy
  • Troubleshooting
Short answer

Clash clients generally start HTTP, SOCKS, mixed-port, and external-controller ports. A conflict can break the system proxy or Dashboard. Stop the duplicate process or change the affected port, and update the system proxy, per-app proxy, and Dashboard to match. After restarting, confirm that the error no longer appears.

Which port corresponds to address already in use?

Read the port number from address already in use in the log, then use the client process list to determine whether an old instance, another proxy tool, or the Dashboard occupies it.

  • Does the log show address already in use?
  • Do local HTTP, SOCKS, or mixed-port values overlap?
  • Does the external-controller port conflict with another service?
  • Are multiple Clash clients running at the same time?

Stop duplicate processes or change ports consistently

  1. Stop any duplicate Clash client or stale process
  2. Change the local proxy port in client settings
  3. After changing external-controller, update the Dashboard or client connection settings to match(See External Controller)
  4. Restart the client and confirm that the logs no longer show a port conflict

Do not expose external-controller to the public Internet(See Security FAQ)

After changing a port, update both the system proxy and app proxy

Keep one primary client so multiple clients do not overwrite the system proxy