Clash Client · Setup Guide

Clash Client Downloads

Choose a client for your platform, then complete subscription import, rule-based routing, and connection verification.

Open-Source CoreYAML ConfigurationEnglish Documentation
Platform Downloads

Clash Downloads by Platform

Browse all clients →

Check your operating system first, then confirm your processor architecture. The downloads page covers client options, installation methods, and system requirements. These links take you straight to the relevant platform page.

Windows

Ideal for desktop browsing and everyday apps. Check your processor type in system information, install a client, import your profile, then enable the system proxy. If an app does not use system proxy settings, follow the TUN guide. Avoid changing several network settings before your first connection.

Go to downloads

macOS

Choose the right installer for Apple Silicon or Intel. Check your chip under About This Mac, then grant network permissions when prompted. Before switching clients, turn off the old client's system proxy to prevent background processes from occupying ports or changing network settings.

Go to downloads

Android

For phones and tablets. Choose an installer for your device architecture, import a subscription, and allow the VPN connection. Most systems let only one app use the VPN at a time, so check for other VPN apps if the connection fails to start. If background connections drop, review battery optimization and background activity permissions.

Go to downloads

iOS

For iPhone and iPad. The downloads page links to Clash Plus on the App Store; the official site is clashplus.io. After installation, import a profile, grant VPN permission, then start the connection in the client. Check that your subscription format is supported by the client.

Go to downloads

Linux

Desktop users can choose a graphical client and install it using their distribution's package manager. Server and router users can find core downloads on the downloads page, but must manage configuration, service permissions, and routing themselves. A successful launch does not mean traffic is being routed; check the proxy entry point and matching rules.

Go to downloads
Configuration Features

Clash Features

From traffic routing to network interception, each of these five features serves a different purpose. Understand what each layer does before enabling it. The examples below illustrate mihomo configuration; client menus and available options may differ. These snippets are not complete configurations and should not be imported as-is.

Rule-Based Routing: Match First, Then Apply a Policy

Rule mode checks connections against the configured rules in order, then applies the policy for the first match. Put specific domain rules before broader ones, and use MATCH to handle anything left over. Policy groups define the available outbound options; rules decide which connections use them. In contrast to Global mode, which sends everything through one outbound, Rule mode preserves direct connections and routes proxy traffic by purpose. After making changes, check the connection log for matched rules before adjusting their order.

config.yaml · rules
mode: rule
rules:
  - DOMAIN-SUFFIX,example.com,DIRECT
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - MATCH,DIRECT

Rules are checked from top to bottom; put MATCH last.

Start with the client's defaults to establish a stable baseline, then add features one at a time. For advanced parameters, policy group types, and rule set management, see Advanced Configuration. If a field is unfamiliar, check its purpose in the Glossary.

Getting Started

Import a Subscription and Verify the Connection

View the full guide →

For your first setup, follow the shortest path to verify that the configuration loads, connections reach the client, and requests are handled as expected. These three steps cover the essentials—you don't need to learn every parameter first. Button locations vary by client, but the relationship between profiles, modes, and network entry points is the same.

01 / Profile

Import and Activate a Subscription

Open profile management, paste the subscription URL into the link field, and click Import. When the profile appears, select it as the active one. To use a local file, import it from disk and make sure it contains YAML supported by the client—not a web page or an error message.

Next, check for parsing errors. Seeing a profile name in the list does not confirm that the core loaded it. If importing fails, check that the URL is complete, the subscription is valid, and the system clock is accurate. Leave DNS and TUN settings alone for now to avoid obscuring the cause.

02 / Routing

Choose a Mode and Network Entry Point

For everyday use, start in Rule mode, then select a policy group and outbound on the proxy page. On desktop, enable the system proxy; on mobile, grant VPN permission when prompted. If you need TUN, enable it only after the basic connection works, and install any required service or grant permissions as instructed by the client.

Global mode can help distinguish a rule issue from a connection issue during troubleshooting; Direct mode sends requests without applying proxy policies. Switching modes is not a substitute for checking your configuration. If an app has its own proxy settings or another VPN is running, first work out which network entry point is handling the request.

03 / Verify

Make a Request and Check the Log

Open a page you want to access, then check the connection log in the client. Confirm that the request appears, the matched rule is expected, and the selected policy and outbound are correct. Also test a site that should connect directly or a local network service, so you don't overlook normal network access by checking just one website.

If a page won't load, first distinguish between no connection entry and an entry showing a failed connection. The former usually points to system proxy settings, VPN permissions, or app settings; the latter calls for checking the outbound, subscription, and DNS resolution. Save the error message and test changes one at a time to narrow down the cause.

Open-Source Ecosystem

mihomo Core and Clients

About the project →

Project History: Names and Maintenance Status

The Clash ecosystem includes cores, graphical clients, configuration tools, and dashboards. Similar names do not mean they belong to the same project. The original Clash project and later community implementations are distinct; mihomo continues the Clash Meta technical lineage and is the open-source core used by many current clients. Screenshots, menus, and fields in older guides may come from clients that are no longer maintained. Follow the documentation for the project you're actually using.

Archived clients are labeled separately on the downloads page to help users identify options for older environments. Prefer actively maintained implementations compatible with your current system rather than choosing based on a familiar name. The homepage does not list specific release numbers; client releases are covered on the downloads page to keep core releases distinct from graphical client releases.

How the Core and Client Work Together

The core parses configuration, establishes connections, matches rules, and handles DNS and network interception. The graphical client provides controls for managing subscriptions, switching modes, setting the system proxy, and viewing logs. As a result, the same core feature may have different names in different clients or be managed by a service component. Before using a configuration field, check both that the core supports it and that the client allows direct editing or overrides.

Updating a client is not the same as updating its core. A new interface version may not change network behavior; replacing the core may affect configuration compatibility. When troubleshooting, record the client name, system environment, active mode, and error message—this is more useful than saying only that the software is updated. To reproduce an issue, use a minimal configuration and remove unrelated rules and overrides first.

Open-Source Community: Verify Features in Code and Documentation

The public mihomo repository includes source code, licensing, issue discussions, and release notes. It is licensed under GPL-3.0. Open source makes the implementation available for inspection, and public records help assess maintenance status—rather than relying on claims on a download page. Check the core documentation and release notes for protocol support, field behavior, and known issues. For features in a specific client interface, consult that client's documentation.

Before filing an issue with the community, search for similar reports and prepare clear reproduction steps. Logs may contain sensitive information, including subscription URLs, access secrets, outbound addresses, and browsing history. Don't publish them unredacted. Share a sanitized error excerpt, relevant configuration fields, and what you observed to make discussion more useful. This site provides navigation and setup guidance; each project's repository is the authority on its maintenance and license.

Updates: Manage the App and Subscription Separately

Software updates change the client or core; subscription updates refresh connection details, policies, and rules. Handle them separately. Before updating a subscription, make sure personal changes are saved as local overrides. Before updating software, back up your current configuration and essential settings, and review changes that affect network behavior. Don't use the remote subscription source to store personal settings permanently—an update may overwrite your edits.

If something breaks after an upgrade, check whether the core loaded successfully, overrides are still applied, and the system proxy or TUN is enabled again. If your network is working, there is no need to change settings repeatedly just to chase a version number. Update when you need a feature or want to address a known issue, following the release notes. Keep a recoverable baseline before each change so you can tell whether a difference came from the software, configuration, or network.

Recent Articles

Clash Configuration & Troubleshooting

View all articles →

Once the basic connection works, troubleshoot further based on the specific symptoms. These articles cover certificate verification, startup logs, and connection paths. Each explains which layer is involved before giving you an order of checks. Keep your current configuration and test one change at a time.