Choose a client for your platform and learn about rule-based routing, subscription imports, and system proxy settings. Clash for Windows is discontinued; check the alternatives before installing.
Setup guidesDownloads for multiple platformsCFW discontinued
Clash for Windows
General
Proxies
Profiles
Logs
Connections
Settings
General
Port7890
Allow LAN
System Proxy
TUN Mode
Service Mode
Start with Windows
config.yamlRULE
mode: rule
mixed-port: 7890
Choose a client, import a configuration, then check how traffic is routed
Understand how the settings work
Clash Core Settings
The client provides the interface; the core parses configuration and handles connections. These four groups of settings help distinguish between an imported configuration and an app that is actually using the proxy. The window on the right is illustrative and does not show your device's current status.
Rule-based routing
Match requests in order to choose where they go
Rule mode checks requests from top to bottom and applies the policy for the first matching rule. Requests that do not match continue down the list. For everyday use, route domains that need a proxy to a proxy group and send local services direct; the final MATCH rule catches anything left over. In Proxies, select Rule and check the current proxy group selection. Rule mode does not mean every request goes through a proxy. Similar rule syntax does not make configurations interchangeable: when switching cores, check rule types, proxy group names, and extension fields to avoid loading errors.
System Proxy changes the operating system's proxy settings and mainly affects apps that honor them. TUN routes traffic through a virtual network interface and typically requires additional permissions and routing setup. Browser access does not mean every app is connected; command-line tools may also need proxy environment variables set separately. Start by checking the local ports and system proxy, then consider TUN if your apps need it. If enabling it causes problems, check permissions, DNS, and conflicts with other network software instead of repeatedly toggling several settings at once. Service setup options and names vary by client.
A subscription URL retrieves remote content; a configuration file defines proxies, groups, rules, and other settings. After importing, select the entry in Profiles, then open Proxies to check that the proxy groups have loaded. Downloading a file alone does not complete the connection setup. The subscription format must also be compatible with the client's core; an ordinary webpage URL is not a configuration URL. When updating a subscription, keep local changes in mind, as a refresh may replace the remote file. Subscription URLs often contain personal access credentials. Hide the full URL before sharing logs or screenshots, and never submit it to an unfamiliar conversion service.
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
Check after importing
Profiles → Proxies
Mixin and configuration overrides
Keep local settings separate from subscriptions
Changes made directly to a remote subscription file may be lost on the next update. CFW Mixin and override features in other clients follow the same idea: manage local adjustments separately from subscription content. However, merge order and array handling can differ. Back up the original configuration, then change one field at a time, such as the log level or LAN access, and confirm the merged configuration behaves as expected before making broader changes. Overrides cannot bypass core limitations, and unsupported fields may still cause errors. Before changing DNS, TUN, or rule lists, read the documentation for your client; script interfaces are not interchangeable across products.
Clash for Windows is the name of a specific client, not a general term for installers on every platform. Phones and other desktop systems need clients made for those platforms. Subscription compatibility also depends on configuration syntax and core capabilities. The download page lists available products, architecture options, and archived releases by platform.
For a new installation, start by considering Clash Plus, then compare the interface and features of Clash Verge Rev, FlClash, and Clash Nyanpasu. Use an archived CFW build only if you need to reproduce an older setup. Before installing, check your processor architecture in system settings, quit other proxy apps, and note the current system proxy settings. Avoid running multiple clients that compete for the same local ports.
Open About This Mac to check whether your Mac has Apple silicon or an Intel processor, then choose the matching installer. The first launch may require approval under Privacy & Security, and routing network traffic may require additional permissions. ClashX Meta is discontinued, so check system compatibility before choosing an archived client. If you see a permissions prompt, read the Platform Guides rather than running an unfamiliar Terminal command.
Choose Clash Plus, Clash Meta for Android, or FlClash based on your device architecture, or check Surfboard's configuration requirements. The first connection requires approval for the system VPN. Some devices restrict background activity; if the connection drops when the screen locks, check battery optimization and background activity permissions. Running another VPN app at the same time may interrupt the connection.
Open the Clash Plus App Store page from the downloads page. After installing, follow the prompts to add a VPN configuration, then import a compatible subscription. The product website, clashplus.io, has more information. Mobile network routing works differently from desktop system proxy settings, so you do not need to follow the CFW Windows setup steps.
Desktop users can compare Clash Verge Rev and FlClash, then choose a package format for their distribution. Server and router users can find Mihomo in the core downloads section. Downloading a core alone does not provide a graphical interface; you will also need a configuration and process management. Before changing service permissions or routes, make sure you have a way to recover local access.
Before you begin, get a subscription URL from a trusted source or a compatible local configuration file. A client is not a subscription service, and installing one does not automatically give you a working connection. The steps below use common CFW menu names; menus in other clients may differ.
01
Import and select a configuration
Open Profiles, paste the subscription URL into the input field and download it, or import a local YAML file. When the entry appears, select it and check for parsing errors. Then open Proxies and confirm the proxy groups have loaded. If you get a webpage, a login prompt, or an empty file, check the URL and service status instead of repeatedly reinstalling the client. Keep subscription URLs containing personal access information somewhere secure.
02
Choose a mode and proxy
For everyday use, start with Rule so requests follow the rules in your configuration, then choose an available proxy in any group that requires manual selection. Global applies the proxy to all traffic, while Direct connects without a proxy; neither guarantees a faster connection. If the configuration includes an automatic proxy group, first understand how it selects a proxy. After changing a policy, start a new test connection so an existing long-lived connection does not make it seem like the new setting failed.
03
Enable a traffic entry point and test the connection
On desktop, check the local listening ports first, then enable System Proxy if needed. For apps that ignore system proxy settings, consider configuring them individually or using TUN. Visit a test page in your browser while checking Connections or Logs to see whether requests appear and which policies they match. Verify using actual results, not just the state of a toggle. Turn off the system proxy before quitting the client to avoid pointing it at a port that is no longer listening.
If the configuration imports successfully but you still cannot connect, check the configuration, policies, traffic entry point, and DNS in that order. Change one thing at a time. Identify the failing step before deciding whether to switch clients.
Before downloading, distinguish between three roles: this site provides download links and setup guides; client projects define the interface and how software is distributed; proxy cores determine which configuration formats and networking features are supported. This site is an independent resource, not affiliated with the teams behind these projects, and it does not provide subscription accounts.
Clash for Windows is discontinued
CFW was once a widely used desktop client, and its General, Profiles, and Proxies menus still appear in many older guides. It is now discontinued. Archived builds may help you understand the old interface or maintain an existing setup, but they do not receive security or compatibility fixes. New operating systems, protocols, and configuration extensions may exceed its capabilities, so weigh your needs carefully before continuing to use it.
When choosing a replacement, list the features you currently use: subscription management, rule-based routing, TUN, configuration overrides, and startup behavior. Check that the new client supports each one before migrating. Copying the entire old data directory may not work. A safer approach is to back up your configuration, re-import the subscription, check the proxy groups, and then migrate custom rules.
A graphical client and a proxy core are different projects
Several products in the Clash ecosystem share similar configuration concepts, but similar names do not mean they are maintained by the same team. A graphical interface organizes common settings into menus; the core handles proxy protocols, rules, DNS, and connections. Mihomo is an open-source proxy core in the Clash Meta ecosystem. Check its own documentation and release notes for supported features; do not assume every older client supports them.
“Open source” should refer to a specific project and repository. The link below goes to the Mihomo core repository, not the CFW graphical client's source code or a universal source for every client installer. Source code is useful for understanding implementation and contributing to development. For a normal installation, choose a graphical client from the downloads page; source code is not an installer.
Update the client and subscription separately
Updating a subscription refreshes remote configuration; updating a client replaces the application; some products also let you update the core separately. These actions solve different problems. A broken subscription usually cannot be fixed by updating the app, and refreshing a subscription repeatedly will not add fields that the core does not support. Note the error message and identify which layer is causing the problem before taking action.
The downloads page lists platform options and archive status for each client. Before migrating, keep the original configuration and custom overrides, and read the target project's release notes. After updating, test basic connectivity before restoring extras such as auto-start, so you can narrow down the cause if something goes wrong.
Configuration and permissions determine how you can use a client
A client does not generate a working subscription or guarantee that every remote configuration will suit your device. Before importing one, verify its provider, supported core, and terms of use. Read the documentation before enabling unfamiliar scripts or unusual settings. Never share your full subscription URL or account details with strangers to troubleshoot a connection.
When using a network proxy, follow the laws where you live, your workplace or school's network policies, and the relevant service terms. For troubleshooting, check the basic steps in the quick start guide, then review permissions, installation, and platform differences in the Platform Guides. Avoid changing several network settings at once.
Configuration details and platform tips
Clash Guides and Articles
Once the basic connection works, look up guidance for the issue you're encountering. Proxy mode determines how policies are applied, DNS affects name resolution, and mobile background restrictions can interrupt connections. Troubleshooting each separately makes the process clearer.
Explains how Android clients use VpnService and what to expect from the permission prompt. Covers battery optimization exemptions, auto-start, and background restrictions on popular Android systems to help prevent disconnects and apps being stopped.
Walks through each field in the dns section, explains the roles of nameserver and fallback, how fallback-filter works, the difference between fake-ip and redir-host, and how to configure DNS hijacking with TUN.
Explains the differences between Rule, Global, and Direct by showing where traffic goes, when to use each mode, where to switch, and common pitfalls—helping new users choose the right mode for everyday use.