Free to use · Open source · Clients for every platform

Clash Client Download

Review clients, installation requirements, and setup methods for every platform, then follow the steps to configure subscription imports, rule-based routing, and TUN mode.

  • Free forever
  • Open source
  • English documentation
  • Configuration guides
Platforms: Windows / macOS / Android / iOS / Linux Config format: YAML Common core: mihomo Routing basics: proxy groups + rules

Configuration capabilities

From subscription import to system-wide traffic capture

Clash clients typically revolve around config files, proxy groups, rules, and the way traffic is captured. The three core steps below follow the practical setup sequence, with switchable interface panels showing where to find each setting.

Common websitesProxy group
Local networkDirect
Ad domainsReject
Other requestsChoose by policy
Rule mode

RULES

Rule-based routing: determine the connection path by match order

Rule mode checks requests from top to bottom, sending domains, IPs, or rule sets to the assigned proxy group. Common entries include DOMAIN-SUFFIX, GEOIP, RULE-SET, and the final MATCH. This is more than a simple on/off switch: it lets different destinations use different connection strategies. Before applying a config, confirm the proxy-group names and review rule order; more specific rules should come before broader ones. Unlike tools that provide only a global proxy, Clash emphasizes reusable, reviewable, and individually adjustable configuration for connection policies that need ongoing maintenance.

If a website does not follow the expected path, check the connection log first to see which rule matched, then return to the config file and adjust the target policy. Reload the config afterward so the old rules are not still in use.

Read the rule configuration guide →
System proxy
Bypass LAN
Mixed port7890
Network settings

NETWORK

System proxy and TUN: cover different app traffic paths

The system proxy is suitable for browsers and desktop apps that follow the operating system’s proxy settings. It keeps the scope clear and is easy to disable temporarily. Some programs ignore system proxy settings; depending on the client, TUN mode can route more traffic through the same rule set. Before enabling TUN, confirm that the client has the required permissions and avoid running other traffic-capture tools at the same time. If connectivity problems appear, disable TUN first and keep the system proxy enabled for comparison, then check DNS, routing, and firewall settings. These modes are not performance tiers; they differ in coverage and integration method.

For a first setup, start with the system proxy. Once the subscription, nodes, and rules work correctly, enable TUN for apps that need it. This makes permission, routing, and DNS issues easier to isolate.

View the basic setup steps →
Subscription URL https://example.com/subscription Reload the current config after updating
Config management

PROFILE

Subscriptions and config files: manage connection details and policies in one place

Clash configs usually use YAML and may include ports, proxy entries, proxy groups, rules, DNS, and other runtime settings. A subscription URL retrieves a config maintained by the service provider, while a local file is better for arranging proxy groups and rules yourself. After importing, do not stop at the config name: check that the proxy list is complete, the policy groups contain selectable options, and rule references are valid. Subscription updates may overwrite provider-managed sections. For long-term custom rules, place them in the client’s supported override or merge mechanism to reduce repetitive editing after each update.

If an import fails, first determine whether the response is valid Clash YAML. Then check that the URL is complete, the network is reachable, and the client supports the format. Identifying the format is more effective than repeatedly clicking Update.

Read the subscription format guide →

Platform setup

Choose a Clash client by operating system

Installers, permission models, and network settings differ across platforms. Select your current device first, then compare available clients, system requirements, and installation methods on the download page.

Windows

Suitable for everyday desktop use. After installation, import a subscription, select rule mode, and enable the system proxy. If Store apps do not follow the proxy, review UWP loopback settings. If service mode or TUN fails to start, check administrator permissions and security-software alerts.

Go to downloads

macOS

Choose the installer that matches your processor architecture. The first launch may require app permissions in System Settings; after enabling the system proxy, verify it separately in a browser and a terminal. Apple Silicon and Intel packages are not interchangeable, so check About This Mac before downloading.

Go to downloads

Android

Clients typically use the system VPN interface to capture app traffic, and the first connection requires system authorization. Background restrictions can interrupt the connection, so adjust battery optimization for the device. After importing a subscription, select a proxy group, start the connection, and check the VPN indicator in the status bar.

Go to downloads

iOS

Get a compatible client from the App Store; the system network extension handles the connection. After adding a config, the system requests VPN permission. The workflow is broadly the same on iPhone and iPad, with attention to the active config, proxy-group selection, and on-demand connection settings.

Go to downloads

Linux

Desktop environments can use a graphical client, while servers and routers often deploy the mihomo core directly. Check processor architecture, file permissions, and service management before starting. Terminal proxy variables affect only the current session and differ in coverage from transparent proxying or TUN.

Go to downloads

Open-source ecosystem

How clients, cores, and configs fit together

Clash established a workflow centered on rule matching, proxy groups, and YAML configuration. Desktop, mobile, and command-line tools later developed different implementations around those ideas. The Clash clients available today are not all maintained by one project: the interface handles subscriptions, policy selection, and system settings, while the core handles protocol connections, rule matching, DNS, and traffic processing. Understanding this division helps distinguish interface features from core capabilities.

mihomo is one of the commonly used Clash-compatible cores. It retains the main config structure while extending protocol, rule-provider, DNS, and TUN capabilities. Whether a client supports a specific feature depends both on the integrated core and on whether the interface exposes the relevant setting. When choosing a client, compare more than its appearance: check the target platform, core type, config compatibility, and maintenance status.

Open-source project code, issue trackers, and release processes are often publicly visible, providing a traceable technical basis for configuration behavior and feature changes. However, clients follow independent release schedules, and discontinued projects may remain saved and used by their communities. The download page separates maintained options from archived clients so historical popularity is not mistaken for current suitability.

This site is organized around platform setup, getting started, troubleshooting, and protocol references. Download details and version information are centralized on the download page, while the home page avoids showing version numbers that can quickly become outdated. Guides focus on continuous, actionable workflows; protocol references explain core and protocol choices. Before updating a config, keep a working copy. Afterward, check config loading, proxy-group selection, rule matches, and system network settings in that order.

Featured FAQs

Four things to confirm before installing and configuring

Most issues can be narrowed down quickly by checking the platform, config format, proxy mode, and traffic-capture method. This overview covers the essentials; full explanations and platform-specific steps are available in the FAQ and Getting Started guide.

What is a Clash config file?

Config files usually use YAML and contain listening ports, proxy entries, proxy groups, routing rules, and DNS settings. After a client imports a subscription, it still loads a config document. Indentation errors, references to missing proxy groups, or unreadable rule providers can prevent loading or produce unexpected routing.

Review config file issues →

Should I use the system proxy or TUN mode?

For a first setup, enable the system proxy. It works with most browsers and desktop apps that follow system settings and is easier to troubleshoot. Consider TUN mode only when the target program ignores the system proxy or needs more complete traffic capture. With TUN enabled, also check permissions, routes, DNS, and conflicts with other network tools.

Review network mode options →

Why are there no selectable policies after importing a subscription?

First confirm that the subscription returns Clash-compatible YAML rather than a regular web page, a Base64 node list, or an expired notice. Then check whether the config contains proxy-groups and whether the proxy names referenced by each group are valid. A file can import successfully while its structure remains incomplete; load messages in the log often identify the problematic field.

Review subscription format detection →

What if websites still do not load after connecting?

Check in order whether the active config is enabled, the proxy group has a working policy selected, system proxy or VPN permissions are effective, and the rules are not incorrectly sending the destination to Direct or Reject. Do not change several variables at once. Establish a working baseline with system proxy and rule mode, then enable advanced settings such as TUN and DNS overrides one at a time.

Review the troubleshooting checklist →

Technical notes

Installation, subscriptions, and rule configuration

These articles cover practical platform workflows and real configuration scenarios, adding operational details that the home page cannot fit. Dates are listed from newest to oldest.

Platform Setup

Installing a Clash client on Windows: from the installer to a working system proxy and common errors

Follow each step in order: install the client, allow it through the firewall, import a config, and enable the system proxy. The guide also covers UWP loopback, port conflicts, and service-mode failures.

Read the full article →
Advanced Config

Practical Clash rule-routing setup: Direct in mainland China, proxy outside China, with rules and proxy-group design

Use real rule syntax to explain matching order for DOMAIN-SUFFIX, GEOIP, and RULE-SET, then show how to organize Direct, Proxy, and Reject policies.

Read the full article →
Getting Started

How to import a Clash subscription URL: identifying and handling URL, Base64, and YAML formats

Learn how to identify each subscription format, find the import entry in the client, and check the response and format first when a config will not load.

Read the full article →