Windows
Best for users who need a desktop GUI, system proxy controls, and startup management. The download page lists Clash Plus, Clash Verge Rev, FlClash, Clash Nyanpasu, and archived clients in order, with notes on where each fits.
Client downloads · Platform selection · Configuration guides
Choose a client by operating system, processor architecture, and usage needs, then use free forever, open-source code, and English documentation to understand the boundaries of rule-based routing, subscription imports, and the mihomo core.
Platform entries
The home page only helps identify the right platform. Specific clients, processor architectures, system requirements, and package links are consolidated on the download page to avoid maintaining duplicate file links in multiple places.
Best for users who need a desktop GUI, system proxy controls, and startup management. The download page lists Clash Plus, Clash Verge Rev, FlClash, Clash Nyanpasu, and archived clients in order, with notes on where each fits.
Before installation, check “About This Mac” to identify an Intel or Apple Silicon chip. The two builds of the same client are not interchangeable. The download page lists each architecture separately and covers first launch, system proxy settings, and permission prompts.
Mobile devices usually use ARM64 builds. If you cannot confirm the architecture, use the general-package notes on the download page. Clients take over traffic through the system VPN interface, so connection status, background restrictions, and battery-saving policies directly affect continuous operation.
On iPhone and iPad, use Clash Plus with the appropriate configuration. The download link points to the App Store, and official information is available at clashplus.io. On first connection, the system asks to add a VPN configuration; after authorization, return to the client and choose a policy group.
Desktop environments can use a GUI client, while servers, software routers, and containers are generally better suited to running the mihomo core directly. The two approaches use similar configuration formats, but differ substantially in service management, permissions, log locations, and traffic-forwarding paths.
Not sure which one to choose? Read the client selection guide first, then download the client for your platform.
Configuration lanes
Common capabilities are divided into five configuration lanes. Select an item on the left to see the related issue, usage method, and important limitations on the right.
Clash matches domains, destination IPs, processes, or rule sets against rules from top to bottom, then sends each connection to a direct route, a reject action, or a selected policy group. Its purpose is to handle different traffic in different ways, not to force every request through one fixed exit. Before troubleshooting, confirm that Rule mode is active, then check the matched rule and selected policy group.
Compared with proxy tools that offer only a single switch, a rule system can maintain detailed traffic categories over time, but it also requires a clear rule order. An overly broad rule near the top can hide later entries, so troubleshooting should focus on the actual match result rather than repeatedly switching nodes. Use Global mode for temporary unified testing, then return to Rule mode when diagnosis is complete.
Desktop and mobile clients mainly handle configuration imports, policy switching, system-interface controls, and log display. The core parses the configuration and processes connections. The original Clash established the configuration structure; Clash Meta expanded protocol and rule support, and later development continued under the mihomo name. When choosing a client, confirm which core the GUI includes or supports.
Most basic fields work within the same configuration system, but extensions from a newer core may not be recognized by an older client. Before migrating a configuration, keep the original file and review field-parsing messages in the client log. Server and router users can run mihomo directly; ordinary desktop users will generally find a GUI client with an integrated core easier for managing system proxies and updates.
Windows and macOS desktop clients usually take over traffic through the system proxy for applications that honor proxy settings. Where the core and permissions allow it, TUN mode can cover more connections. Android and iOS rely on the system VPN interface, so the first connection shows a system authorization prompt. Linux may use desktop proxy settings, environment variables, transparent forwarding, or service-level deployment.
Platform differences directly affect failure symptoms. If a browser works but a command-line tool cannot connect, the tool may not have inherited the system proxy. If a mobile connection drops after the screen locks, check background execution and battery restrictions. Selection should consider more than the interface: verify the OS version, processor architecture, traffic-capture method, and ongoing maintenance cost.
A subscription URL retrieves configuration content, which the client parses into proxies, policy groups, rules, and DNS settings. Editing the generated configuration is quick, but an update may overwrite those changes. A more reliable approach is to keep the original subscription and place lasting adjustments in supported overrides, scripts, or a separate configuration copy, while recording why each change was made.
When a subscription update fails, check the URL for completeness, confirm that the current network can reach the source, verify that the response is valid configuration content, and inspect the cache for corruption. Do not change the URL, core, rules, and DNS all at once; change one condition at a time to determine whether the issue occurs during download, parsing, or runtime.
DNS does more than translate domains into IP addresses. Clash enhanced mode, nameserver, fallback, domain rules, and system DNS capture can all affect the resolution result and rule match. When pages fail to open, some domains behave abnormally, or connections repeatedly time out, first confirm that the request entered Clash, then identify which resolver handled it and whether the result is expected.
Start troubleshooting with a simplified configuration: keep one clearly reachable primary resolver, temporarily reduce complex filters, then restore fallback and rules one at a time. Switching nodes alone often cannot fix a DNS path problem. On mobile, check system Private DNS; on desktop, check whether browser Secure DNS and client DNS capture are creating two separate paths.
Quick start
Complete the shortest working path first, then handle rules, DNS, and automatic updates. This separates installation issues from configuration issues.
On the download page, select the operating system first, then confirm the processor architecture. Windows users generally choose an x64 desktop client; macOS requires a choice between Intel and Apple Silicon; ARM64 is most common on Android; Linux users must also decide between a GUI and direct mihomo deployment.
After installation, launch the client and confirm that the core loads correctly before changing advanced settings. If the system requests network, VPN, or firewall permission, authorize it for the current platform. Otherwise, the interface may open while traffic still never reaches the core.
Paste a valid URL into the configuration or subscription page and wait for the client to download and parse it. After a successful import, you should see the configuration name, policy groups, and rule information. If the list is empty, check the parsing log first instead of adding the same URL repeatedly. Do not share subscription URLs that contain sensitive information.
After enabling the configuration, open the policy groups and choose from the available options. For first-time use, Rule mode is recommended so domain and IP rules determine where traffic goes. Global mode is useful for short diagnostic tests, but bypasses the original classification logic and should not be the default fix for every problem.
Turn on the system proxy or establish a VPN connection for the platform, then visit a stable site and check whether the client log records the request. If requests appear but the connection fails, traffic has reached the core, so inspect the policy and connection settings. If there are no logs at all, check the system proxy, VPN authorization, or the application’s own proxy settings first.
Once the basic connection works, configure the subscription update interval, startup behavior, and DNS options. Change one setting at a time and keep a configuration copy that can be restored. If an update later causes problems, this makes it easier to identify whether the difference came from subscription content, a client upgrade, or a local setting.
Open source context
Understanding how the projects are related makes it easier to assess configuration compatibility, update sources, and where a problem belongs than looking only at client names.
Clash established a workflow centered on YAML configuration, policy groups, and rule-based routing, followed by a client ecosystem spanning desktop, mobile, and router deployments. Clients may use different UI frameworks and release cycles, but their common configuration structures, rule concepts, and policy operations come from the same technical lineage. After the original project stopped receiving ongoing maintenance, existing clients remained usable while ecosystem development gradually shifted toward newer cores and clients.
Open-source repositories publicly record code changes, issue discussions, and release notes, making them useful for confirming feature boundaries and version changes. When downloading a client, distinguish between the interface project, core project, and configuration provider: the interface supplies controls, the core handles network processing, and configuration content comes from the source you choose. They are not the same project, so use logs and observed behavior to identify which layer needs inspection.
Clash Meta expanded the original Clash implementation with additional protocol, rule, and DNS capabilities, and later development continued under the mihomo name. Many newer clients bundle mihomo as their core, allowing them to read common Clash configurations and support some extended fields. Compatibility does not mean every field is identical across all versions; before using a new protocol or advanced DNS configuration, confirm the core actually loaded by the client and its supported feature range.
Client versions, core versions, and subscription content update independently. A UI upgrade may replace the bundled core, a subscription update may change policy groups and rules, and a local override may continue applying to the new configuration. Stable maintenance depends on recording all three types of change instead of updating everything at once when a problem occurs. The download page reads the release list for current installation links, while the technical articles explain migration and troubleshooting by topic.
Selected questions
Confirm the platform, core, and traffic-capture method first to avoid repeatedly replacing the client after installation.
For a standard desktop GUI, start with the recommended client on the download page. If your configuration relies on mihomo extension fields, confirm the core integrated into the client. Consider the OS version, processor architecture, update status, and configuration migration path together; do not judge solely from interface screenshots.
View the complete client comparisonFirst check whether application requests appear in the client log. If there are no requests, inspect the system proxy, VPN permissions, or TUN status. If requests appear but connections fail, check the current policy group, configuration validity, and DNS resolution path. Change only one condition at a time during troubleshooting so the actual cause remains identifiable.
View troubleshooting FAQsRule mode assigns requests to different policies according to domains, IPs, and rule sets, making it suitable for everyday use. Global mode sends most requests to one policy and is useful for briefly testing whether an exit works. Global mode does not replace rule troubleshooting; restore the original mode after testing according to the configuration’s purpose.
View mode setup stepsUsually not. First confirm that the subscription URL is complete and still reachable, then check whether the response can be parsed by the current core and inspect the local cache and system time. Reinstallation or a version change is warranted only after confirming damaged client files or an incompatible version.
Read the subscription update troubleshooting sequenceLatest references
Continue with articles on DNS, startup failures, and router deployment. Each article follows a troubleshooting sequence and explains relevant conditions and limitations instead of applying one setting to every scenario.
Trace Clash DNS request paths, the roles of primary and backup resolvers, fallback filters, and the recommended order for diagnosing common failures.
Diagnose clients that fail to launch by checking corrupted configurations, permission restrictions, core files, and system components.
Compare main-router and bypass-router setups, covering architecture choices, device resources, forwarding paths, and ongoing maintenance boundaries.