Troubleshooting
Troubleshooting
Command not found
$ clash-verge-cli
zsh: command not found: clash-verge-cli
Fix: Use npx clash-verge-cli or install globally with npm install -g.
ENOENT — Clash Verge.app not found
Failed to start Clash Verge: spawn /Applications/Clash Verge.app ENOENT
Fix: Edit constants.js and set CLASH_VERGE_PATH to the actual location of your .app bundle.
# Find your Clash Verge:
mdfind "kMDItemKind == 'Application'" | grep -i clash
sudo asks for password every time
By design — macOS requires root for TUN. To avoid typing your password repeatedly:
# Edit sudoers (carefully!)
sudo visudo
# Add this line:
yourname ALL=(ALL) NOPASSWD: /Applications/Clash Verge.app/Contents/MacOS/Clash Verge
⚠️ This means ANY process running as your user can start Clash Verge as root without a password. Only do this on a single-user machine you trust.
TUN still doesn't work after starting
- Check if the TUN kext is loaded:
kextstat | grep -i clash - Check if another VPN is using the TUN interface:
ifconfig | grep utun - Restart Clash Verge from the GUI once to approve the kext (macOS prompts for kext approval the first time)
Clash Verge starts but immediately exits
Check the exit code:
$ clash-verge-cli
Clash Verge exited with code 1
Run without the CLI to see full error output:
open /Applications/Clash Verge.app
If it works from GUI but not CLI, the issue is likely the CLASH_VERGE_TUN=1 env var or a missing TUN kext.