Clash Guide & Help Center
Answers to common questions about Clash client setup, selection, rule splitting, and troubleshooting. Whether you're a beginner or an advanced user, find your answers here.
Quick Issue Locator
Basics
Clash is a rule-based, multi-platform network proxy core. The key difference from a traditional VPN is its smart rule splitting capability.
Traditional VPNs often use "Global Proxy," which can slow down local site access. Clash parses YAML config files to intelligently route traffic: proxying only what's needed while keeping local traffic direct, balancing speed and accessibility.
This is a common beginner misconception. Clash is essentially a local network engine, the "engine" itself;you still need your own compliant nodes or subscriptions to establish a connection.
You need nodes supporting Shadowsocks, VMess, Trojan, VLESS, or Hysteria2, or a Clash subscription link. Import them into the client to connect. Please follow local laws and use trusted sources for software and configs.
These are different concepts often confused:
Clash was the original open-source proxy core (now legacy).Clash Meta (now renamed mihomo) is an enhanced, community-maintained branch with more protocols (VLESS, Hysteria2) and richer rules—the currentMainstream Core Choice。Clash Verge (including successor Clash Verge Rev) is aGraphical User Interface (GUI) with a built-in Meta core, making it easy for non-CLI users.
In short: Meta / mihomo is the "engine," and Clash Verge is the "car."
The proxy mode determines how your traffic is routed by default:
Global: All traffic is forced through proxy nodes, useful for testing but can slow down local site access.
Rule: Automatically routes traffic based on your config—local traffic stays direct, while blocked sites use proxy. This is theRecommended Daily Mode。
Direct: All traffic bypasses the proxy, effectively disabling it. Switch to this when you need your real IP.
These are common transport protocols used by nodes. They are set by your provider, and users typically don't need to choose manually.:
Shadowsocks(SS): The oldest and most compatible protocol, lightweight and efficient, suitable for most daily scenarios.
VMess: The native protocol of the V2Ray project, supporting multiple transport layers like TCP, WebSocket, and gRPC. Widely used.
Trojan: Disguises traffic as standard HTTPS, providing strong stealth against traffic detection.
VLESS: A lightweight evolution of VMess, removing the built-in encryption layer, usually paired with TLS or REALITY.
Hysteria2: Based on UDP/QUIC, offering significant speed advantages in high-latency or high-loss mobile network environments.
Clash Meta (mihomo) core provides full support for all above protocols.
Client Selection
Currently, the most recommended choices for Windows are Clash Verge Rev (community-maintained successor to Clash Verge) and Clash Nyanpasu. Both feature built-in Mihomo (Clash Meta) cores, are actively updated, support new protocols like VLESS and Hysteria2, and offer user-friendly interfaces.
Original Clash for Windows (CFW) is no longer maintained and not recommended for new users. If you're still using it, migrating to the active clients above is advised.Go to Download Center to view official Release links for all versions.
For macOS, Clash Verge Rev is the top recommendation (cross-platform, supports both Apple Silicon M-series and Intel). Users seeking deep system integration may also choose Stash (paid App Store app).
The original ClashX has stopped updating. Migrating to Meta-compatible versions is recommended for new protocols and rule features.
Android recommends Clash for Android(CFA) or FlClash, with the latter featuring a more modern interface and active maintenance. Both apps support direct Clash subscription imports.
iOS, there is no official "Clash" app due to App Store policies. Mainstream choices are Shadowrocket (paid)、Stash or Surge, which are compatible with Clash-formatted configs and support similar import methods.
Setup & Usage
The import process is similar for most GUI clients:
1. Copy the Clash subscription URL from your provider.
2. Open the client (e.g., Clash Verge Rev, Clash for Windows).
3. Go to Profiles or Subscription Management section.
4. Paste the link and click Download / Update.
5. Select the profile and enable System Proxy option.
A subscription is a YAML config file hosted on a server; the client will automatically pull updates periodically.
By default, Clash works through system HTTP/SOCKS proxy variables. Some programs (certain games, CLI tools, UWP apps) may ignore these settings and bypass the proxy.
Enabling TUN Mode creates a virtual network card to intercept traffic at the network layer, ensuring all programs pass through Clash. If specific software ignores the proxy, try TUN mode; otherwise, it's usually not needed for daily browsing. Steps vary by client and OS permissions.
Windows: Most GUI clients (like Clash Verge Rev) have a "Start on Boot" toggle in settings. This adds a shortcut to your system startup for automatic execution.
macOS: ClashX-based clients usually have a "Launch at Login" option in the menu bar icon preferences. Enable "System Proxy on Launch" to automate the full setup.
In clients like Clash Verge Rev, go to the Profiles page, hover or right-click the subscription card, and select "Update" or "Refresh" to pull the latest config from the provider.
Manually refresh if nodes fail or the provider announces changes. Most clients also support auto-update intervals (typically 12-24 hours).
Subscription Conversion (Sub-converter) is a tool that turns ss://、vmess://、trojan:// single-node links or other formats into a Clash-compatible YAML file.
If your provider gives you a Clash URL (downloads a YAML file), paste it directly into Profiles. No conversion needed. For single-protocol links, use a trusted online converter to merge them into a Clash config, or add them manually in the client.
When using third-party conversion services, ensure the source is trusted to avoid leaking your node information.
Troubleshooting
If many nodes fail simultaneously, troubleshoot in this order:
1. System Time: Some protocols (like VMess) are sensitive to time drift. Ensure your clock is accurate within 1 minute.
2. Subscription & Plan: Confirm your data isn't exhausted or account expired, and manually refresh the subscription.
3. DNS: Try changing your client or system DNS to a trusted server (e.g., 8.8.8.8、1.1.1.1)。
4. Security Software / Firewall: Ensure antivirus or firewalls aren't blocking the Clash core process or its ports.
This is usually a Rule Configuration issue: local domains are being incorrectly routed to overseas nodes, causing high latency.
Check your Proxies interface for local or "Direct" policy groups. Ensure this traffic uses DIRECT, not a proxy node. You can also temporarily switch to "Rule" mode instead of "Global" to confirm if global mode is the cause.
Most GUI clients have a real-time log panel: Clash Verge Rev has a Logs tab, and Clash for Windows has a dedicated Logs page.
Set log level to Info or Debug, then reproduce the issue. Look for errors like connection refused、dial timeout or DNS failures. Rule matching logs also help confirm if traffic is following the expected path.
If latency is normal but the browser still fails, check these three causes:
1. System Proxy disabled: Traffic isn't reaching Clash. Confirm "System Proxy" is on, or manually set the browser HTTP proxy to 127.0.0.1 with port 7890。
2. DNS Poisoning: Enable the DNS module in Clash and use remote DNS (e.g., tls://8.8.8.8) to bypass local DNS pollution.
3. Node Unreachable: The selected node itself is down. Try switching nodes or policy groups.
The update request must be able to reach the provider's server. Common causes and fixes:
1. Expired URL: Log in to the provider's dashboard and copy the latest link to replace the old one in the client.
2. Network Restriction: Use a different connection (like a mobile hotspot) to refresh the subscription once.
3. Update via Proxy: Some clients support updating subscriptions through existing nodes. Enable this to bypass local network blocks.
If latency tests pass but speed is slow or video buffers, check:
1. Bandwidth Limits: Peak hour (8-11 PM) congestion. Switch to a node in a different region or with a lower "multiplier."
2. Protocol Performance:Hysteria2 (QUIC-based) protocols are more stable on lossy mobile networks. Ask your provider if they support it.
3. DNS Overhead: In the YAML dns section, set enhanced-mode to fake-ip to reduce DNS round-trip latency.
4. TUN MTU Settings: Adjusting MTU to 1280 or 1400 in TUN mode can sometimes improve UDP performance.
Still having issues?
Check the Clash Meta Core Upgrade Guide, or visit the Download Center for an active client with a newer core. Always verify GitHub Release notes.