Client downloads · Platform selection · Configuration guides

Clash Official Download Site
Cross-platform clients

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.

  • Free forever
  • Open-source code
  • Five platform entry points
  • GUI and core separation
  • Configuration documentation
PLATFORM Windows / macOS / Android / iOS / Linux CORE Clash / Clash Meta / mihomo CONFIG YAML · Rules · Policy groups · DNS LICENSE Open-source ecosystem

Platform entries

Open the download list by operating system

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.

PLATFORM 01

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.

Go to downloads
PLATFORM 02

macOS

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.

Go to downloads
PLATFORM 03

Android

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.

Go to downloads
PLATFORM 04

iOS

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.

Go to downloads
PLATFORM 05

Linux

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.

Go to downloads

Configuration lanes

Rules, cores, and configuration management

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.

CURRENT LANE / 01

Rule-based routing determines where each type of connection goes

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.

  • Rules are matched from top to bottom; the first match takes effect.
  • Policy groups choose the exit; rules send requests to policy groups.
  • Keep temporary tests separate from long-term configuration, and avoid editing the original subscription content.
View mode selection steps →

Quick start

A three-step path from installation to verification

Complete the shortest working path first, then handle rules, DNS, and automatic updates. This separates installation issues from configuration issues.

01
INSTALL

Choose a platform and client

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.

02
IMPORT

Import a configuration and choose a policy

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.

03
VERIFY

Connect, verify, and save

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.

View the complete guide

Open source context

From the Clash configuration system to the mihomo core

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.

Project history

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 ecosystem

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.

Core relationships

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.

Update mechanisms

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

Common questions before downloading and connecting

Confirm the platform, core, and traffic-capture method first to avoid repeatedly replacing the client after installation.

Which Clash Windows client should I choose?

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 comparison
Clash is connected but there is no internet. What should I check first?

First 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 FAQs
What is the difference between Rule mode and Global mode?

Rule 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 steps
Do I need to reinstall the client when a subscription update fails?

Usually 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 sequence
View all troubleshooting answers

Latest references

Configuration and deployment articles

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.

View all articles