FAQ

Having trouble? Browse the most common questions and answers covering installation, subscriptions, connections, rules, and more.

No matching questions found. Try a different keyword?

Installation & Launch

5 questions
Windows install says "WebView2 Runtime is missing" — what do I do?

Clash Verge Rev requires Microsoft's WebView2 runtime (built into Windows 11; Windows 10 needs a manual install).

How to fix:

  1. On first install, the app will prompt you to download WebView2 — follow the on-screen instructions.
  2. If the prompt doesn't appear, go to Microsoft's website, search for "WebView2 Runtime", and download the Evergreen Standalone Installer.
  3. After installation, re-run the Clash Verge Rev installer.
WebView2 is supported on Windows 10 version 1803 and above. If your system is older, update Windows first.
macOS says "cannot verify developer" and won't open the app?

This is macOS Gatekeeper blocking an app that hasn't been notarized by Apple — it's not a virus warning.

How to fix:

  1. Open System Settings → Privacy & Security.
  2. At the bottom, find the blocked app message: "Clash Verge was blocked because it is from an unidentified developer".
  3. Click "Open Anyway" and confirm to proceed.

Or run in Terminal: xattr -rd com.apple.quarantine /Applications/Clash\ Verge.app, then reopen the app.

Windows antivirus flags the app as malware — is it safe?

Proxy tools are commonly flagged by antivirus software because they intercept network traffic (create virtual adapters, modify system proxy settings). This is a widespread industry false positive, not a real threat.

Recommended steps:

  1. After downloading from this site, verify file integrity using the SHA256 checksum to confirm the source is trustworthy.
  2. Add the Clash install directory to your antivirus whitelist (typically C:\Users\YourUsername\AppData\Local\clash-verge-rev).
  3. In Windows Defender, add an exclusion under Virus & threat protection → Exclusions.
Android APK install says "problem parsing the package"?

Common causes:

  1. Architecture mismatch: You downloaded the wrong APK build. Most Android phones since 2016 use ARM64-v8a — if unsure, choose the Universal build.
  2. Incomplete download: Re-download the APK and verify the file size matches what's listed on the download page.
  3. OS version too old: Clash for Android requires Android 5.0+; ClashMeta for Android requires Android 5.0+.
Before installing, make sure "Install from unknown sources" is enabled, or the system will block the install.
App crashes or closes immediately on launch?

Try these steps one by one:

  1. Clear old config: Old config files may be incompatible with the new version. Delete %APPDATA%\clash-verge-rev on Windows or ~/Library/Application Support/clash-verge-rev on macOS, then restart.
  2. Run as Administrator/Root: Right-click the app icon → Run as administrator (Windows).
  3. Check port conflicts: Clash uses ports 7890, 7891, etc. by default. If another program is using them, the app may crash. Run netstat -ano | findstr 7890 (Windows) to check.
  4. Reinstall: Uninstall and reinstall the latest version.

Subscriptions & Config

5 questions
Node list is empty after importing subscription link?

An empty node list is usually a subscription link issue, not a client problem.

  1. Verify the link works: Paste the subscription URL into your browser and check if it downloads/opens. If the browser can't access it either, the link has expired or your account has an issue — contact your provider for a new link.
  2. Check subscription format: Clash clients require Clash YAML format. Some providers offer multiple formats — choose the one labeled "Clash" or "Mihomo".
  3. Network issue: Downloading the subscription requires network access. If it fails, check your connection or try a mobile hotspot.
Subscription update fails with "network error" or "timeout"?

Common causes of subscription update failures:

  1. Updating without proxy enabled: Some subscription links are hosted on servers that may be blocked or unreachable on your network — you need a working node first. Try switching to a mobile hotspot for the initial update.
  2. Special characters in the link: Extra spaces or line breaks may have been copied. Re-copy the full link from your provider's dashboard.
  3. Provider server outage: Temporary maintenance on the provider's side — wait and retry later.
  4. DNS pollution: Enable TUN mode and retry, or configure DoH (DNS over HTTPS) in client settings.
How do I manually add a single proxy node without a subscription?

Clash uses YAML config files — you can write a config manually to add nodes directly.

Basic config structure:

proxies:
  - name: "My Node"
    type: ss
    server: example.com
    port: 8388
    cipher: aes-256-gcm
    password: "yourpassword"

proxy-groups:
  - name: PROXY
    type: select
    proxies:
      - My Node

rules:
  - MATCH,PROXY

In the client, go to Profiles → New → Blank Config, paste the content above, and save.

How do I switch between multiple config profiles? Will settings be lost?

In the client's Profiles tab, click the profile you want to activate it.

About settings retention:

  • Proxy rules: Each profile has its own rules — rules change when you switch profiles. This is expected behavior.
  • Global client settings (TUN toggle, port settings, theme, etc.): Stored in the client itself and unaffected by profile switching.
  • Manually selected nodes: Saved in the profile — you'll need to re-select after switching.
How do I set up automatic subscription updates? What's the recommended interval?

Right-click the profile in the config list (or click the settings icon), find the Auto Update option, and set the interval in minutes.

Recommended intervals:

  • Most users: 1440 minutes (24 hours) — pull latest nodes once daily.
  • Frequently changing node pools: 360 minutes (6 hours).
  • Avoid intervals under 30 minutes — frequent requests put load on provider servers and may trigger rate limiting or URL bans.

Connection & Proxy

6 questions
Browser can't access the internet after enabling proxy, but latency test shows nodes are fine?

Latency tests (ping) and actual proxy traffic take different paths — a normal ping doesn't guarantee the proxy works.

  1. Check system proxy is enabled: The client main screen should show "System Proxy Enabled", not just the core running.
  2. Browser proxy conflict: Firefox and some browsers use independent proxy settings. Check that the browser proxy points to the correct local port (usually 127.0.0.1:7890).
  3. Confirm proxy mode: Make sure you're in Rule mode — in Direct mode, all traffic bypasses the proxy.
  4. Port conflict: Check if port 7890 is in use by another program. Change the port in client settings and retry.
Some apps or games don't use the proxy, but the browser works fine?

System proxy mode only works for apps that support proxy protocols (most browsers, some apps). Programs that don't (game clients, CLI tools, certain UWP apps, etc.) won't route through Clash.

Solution: Enable TUN mode. TUN creates a virtual network adapter that captures all TCP/UDP traffic, including apps that don't support proxy protocols. See the TUN Mode Guide for details.

iOS and Android clients run via VPN interface by default, so all app traffic goes through Clash without extra configuration.
Direct-connection websites are slower with proxy enabled — even slower than without?

The most common cause is Global Proxy mode, which routes all traffic (including sites that should connect directly) through remote nodes, adding latency.

Fix: Switch to Rule mode — direct-route traffic stays direct, and only the rest uses the proxy.

Other possible causes:

  • Incomplete rules in the subscription config routing some direct-connection IPs through proxy nodes.
  • Poor DNS settings causing all DNS queries to go through the proxy server, adding latency.
Can't access the internet after closing Clash — network seems broken?

Clash's system proxy settings weren't cleared properly on exit, so your system is still trying to send traffic through the stopped Clash port.

Quick fix:

  1. Reopen Clash, manually turn off the System Proxy toggle, then quit.
  2. Or: Open system proxy settings (Windows: Settings → Network → Proxy; macOS: System Preferences → Network → Advanced → Proxies) and disable "Use a proxy server".

Prevention: Enable "Close system proxy on exit" in Clash settings.

All nodes show "timeout" or high red latency in speed tests?

Several possible causes for latency test timeouts:

  1. Local network issue: First confirm you can access the internet without proxy. If local network is down, all nodes will time out.
  2. Provider line outage: Contact your provider to check node status, or visit their status page.
  3. Test target blocked: Clash defaults to http://www.gstatic.com/generate_204 for latency tests — this may be unreachable on some networks. Change the test URL in client settings to e.g. http://cp.cloudflare.com/generate_204.
  4. Firewall blocking: Corporate or campus networks may block proxy ports — try a mobile hotspot to test.
IP hasn't changed after enabling proxy — some sites still detect your real IP/location?

IP unchanged means that traffic is still going direct, not through the proxy.

  1. Check proxy mode: Switch to Global Proxy mode and check an IP lookup site. If the IP changes, it's a rule issue — that site is configured for direct connection.
  2. DNS leak: Even if HTTP traffic goes through the proxy, DNS queries may still go local, causing some sites to detect your region via DNS. Enable DNS over HTTPS (DoH) or encrypted DNS in your config.
  3. WebRTC leak (browser only): Browser WebRTC can bypass the proxy and leak your real IP — install a WebRTC leak prevention extension.

Speed & Performance

4 questions
Proxy is slow — YouTube only plays at 720p. How to speed up?

Speed depends on multiple factors — troubleshoot in this order:

  1. Switch nodes: Run a speed test and pick the lowest-latency node (usually <100ms). Different regions perform differently — for YouTube, try Japan, Hong Kong, or US nodes.
  2. Protocol differences: Hysteria2 and TUIC use UDP/QUIC and are much faster than TCP protocols on high-packet-loss networks — use them if your provider offers them.
  3. Local bandwidth: Confirm your local network isn't throttled. Temporarily disable proxy and run a speed test to check actual local speed.
  4. Provider plan throttling: Some plans slow down after quota is used — check your usage on the provider dashboard.
Clash is using too much CPU or memory?

Under normal use, Clash core CPU should stay below 5% and memory between 50–150 MB. If significantly higher:

  1. High connection count: Check the Connections page — normal is dozens of active connections. Apps making frequent connections (e.g. P2P downloads) can be set to REJECT or DIRECT in rules to reduce Clash load.
  2. Too many rules: Some subscription configs include tens of thousands of rules, increasing lookup overhead. Trim rule sets or use Rule-Provider (rule set files) instead of inline rules.
  3. TUN mode processing all traffic: TUN mode handles all traffic, so higher CPU usage than normal proxy mode is expected.
  4. Restart the client: Memory can accumulate over long sessions — a restart helps.
Low proxy latency but slow actual download speed — what's going on?

Latency (ping) and throughput (download speed) are different metrics. Low latency only means fast round-trip communication — it doesn't mean high bandwidth.

  • Node bandwidth cap: Providers limit per-node bandwidth. When many users share the same node, speed drops — try switching to different nodes.
  • QoS throttling: Providers may throttle specific traffic types (streaming, large file downloads).
  • Relay line quality: Some nodes route through multiple hops, each a potential bottleneck. Prefer direct nodes (CN2, IEPL, IPLC dedicated lines).
How do I test the real download speed of the current node?

Reliable ways to test speed:

  1. Fast.com: Netflix's speed test — traffic must go through the proxy to access it, so it tests actual proxy speed.
  2. Speedtest.net: Test in "use proxy" or Global Proxy mode. Pick a speed test server in the node's region for more accurate results.
  3. Download a large file: Download a 100MB+ file from a GitHub Releases page and observe actual download speed — the most direct test.

Before testing, confirm proxy mode is set to Global — otherwise test traffic may go direct and results will be inaccurate.

TUN mode

4 questions
Network completely disconnected after enabling TUN mode — how to recover?

TUN mode requires admin privileges to install virtual network adapter drivers. Insufficient permissions or driver issues can cause network disconnection.

Recovery steps:

  1. Restart the Clash client (if it opens), manually turn off TUN, then quit.
  2. If Clash won't open: On Windows, go to Device Manager → Network adapters, find the virtual adapter named Mihomo or TUN, and disable it.
  3. On macOS: Open Network preferences and remove virtual interfaces named utun.
  4. Restarting your computer usually fixes it too.
Always turn off TUN mode before closing Clash to prevent this issue.
Can't access local network devices (printer, NAS) after enabling TUN mode?

TUN mode captures all traffic by default, routing LAN traffic through the proxy exit instead of reaching local devices.

Fix: Add LAN IP range direct-connection rules to your Clash config:

rules:
  - IP-CIDR,192.168.0.0/16,DIRECT
  - IP-CIDR,10.0.0.0/8,DIRECT
  - IP-CIDR,172.16.0.0/12,DIRECT
  # ... other rules

These rules must be placed before other rules so LAN traffic is routed direct first.

DNS resolution issues in TUN mode — some domains fail to resolve?

TUN mode captures DNS requests along with network traffic. Misconfigured DNS can cause resolution failures.

  1. Enable Fake-IP mode: In the config's dns section, set enhanced-mode to fake-ip — the recommended DNS mode for TUN.
  2. Use reliable DNS: Prefer encrypted DNS (DoH/DoT), e.g. https://1.1.1.1/dns-query or https://dns.google/dns-query.
  3. Fake-IP filter list: Some intranet domains can't use Fake-IP — add them to the fake-ip-filter whitelist.
What's the difference between TUN mode and system proxy mode? Which should I use?
FeatureSystem ProxyTUN Mode
CoverageApps supporting proxy protocolAll apps and programs
PermissionsRegular userAdministrator / Root
PerformanceLowMedium (handles all traffic)
Best forDaily browser useGaming, development, global proxy

Rules & Routing

4 questions
A site or app should use proxy but keeps going direct — how to force proxy?

Add custom rules at the top of the rules section in your config — rules match top to bottom by priority:

rules:
  # Custom rules — placed at top for highest priority
  - DOMAIN-SUFFIX,example.com,PROXY
  - DOMAIN-KEYWORD,keyword,PROXY
  - IP-CIDR,1.2.3.4/32,PROXY
  # ... rest of existing rules

You can also add rules temporarily on the client's Rules page without editing the config file manually.

A site uses proxy but still can't be accessed — even in global mode?

If it still fails in global proxy mode, the issue isn't Clash routing — it's the node itself or restrictions on the target site.

  1. Node IP blocked by target site: Some sites (Netflix, Hulu, etc.) block known datacenter IPs. Switch nodes or contact your provider to confirm streaming unlock support.
  2. Node region mismatch: Some services require specific region IPs (e.g. Disney+ needs the matching region node for certain content) — switch to the correct region.
  3. DNS resolution issue: Target domain may be DNS-poisoned, returning wrong IPs — proxy traffic still can't connect. Enable fake-ip DNS mode or add the domain to nameserver-policy for trusted DNS resolution.
How do I block ads? Can Clash work as an ad blocker?

Yes. Clash's REJECT rules block matching domain requests — similar to uBlock Origin but system-wide (including in-app ads).

Recommended approach — use Rule-Provider to import ad-blocking rule sets:

rule-providers:
  reject:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
    path: ./ruleset/reject.yaml
    interval: 86400

rules:
  - RULE-SET,reject,REJECT
  # ... other rules
Aggressive ad-blocking rules may break some site features. If issues occur, temporarily disable the rule on the Rules page to troubleshoot.
How do I set different exit nodes for different apps (per-app proxy)?

In TUN mode or some clients, use PROCESS-NAME rules to route specific processes to different exits:

rules:
  # Route Steam traffic through game-optimized proxy group
  - PROCESS-NAME,steam.exe,GameProxy
  # Route work tools directly
  - PROCESS-NAME,teams.exe,DIRECT
  - PROCESS-NAME,zoom.exe,DIRECT
  # Default
  - MATCH,PROXY

PROCESS-NAME rules require TUN mode or specific permissions to match — they may not work in standard system proxy mode.