• Clash Ecosystem · Clients and Setup Guides

Clash Official Site Clash Client Downloads and Setup Guides

Choose a client for your platform, then use the mihomo core to import subscriptions and apply routing rules.

  • Open-source core
  • Configuration docs in Chinese
  • Choose an installer for your system

Get started with Clash in three steps

Get one connection working first, then add advanced settings. Change one thing at a time.

  1. Step 1 · Install

    Choose a client for your OS and architecture

    Check your device's operating system, then confirm its processor architecture. For desktop use, start with a graphical client that's still maintained. After installation, open Settings and note the mixed port and service status. Keep the default network settings for your first setup. Don't run multiple proxy tools at once, and leave TUN off for now. If installation requests system permissions, check whether they're needed to install a service, create a network interface, or change proxy settings before proceeding to import your config.

  2. Step 2 · Configure

    Import a subscription and activate the profile

    Open profile management, paste the Clash subscription URL from your provider, and click Import. Wait for the client to finish parsing it. Once imported, select the profile and check that its proxy groups appear. Saving a link in the list alone doesn't make it active. For a local file, use the YAML import option. Subscription URLs often contain access credentials: don't upload them to public converter sites or include the full URL in screenshots or support requests.

  3. Step 3 · Verify

    Select Rule mode and test the connection

    Select Rule mode, choose an available exit in the proxy group, then enable the system proxy. Visit sites that should connect directly and sites that should use the proxy, and check the Connections list to see which rules and exits were matched. If your browser works but other apps don't, first check whether they follow the system proxy before considering TUN. Save the working settings when you're done. If something goes wrong, revert changes in reverse order; that's easier to troubleshoot than reinstalling everything.

Clash downloads for every platform

Choose your platform here. Installers, architecture details, and client comparisons are on the downloads page.

Windows clients

Start with graphical clients such as Clash Plus, Clash Verge Rev, or FlClash. If you're looking for a Clash for Windows alternative, compare maintenance status, core compatibility, and config migration options—not just interface similarities. Before switching, export custom rules, note the current port, and restore system proxy and service settings one at a time.

Make sure the installer architecture matches your system. If an older client is still running in the background, quit it and check the system proxy to prevent both programs from competing for the same port. For UWP app access, check loopback restrictions separately.

Download for Windows

macOS clients

Check whether your Mac has Apple silicon or an Intel processor, then choose the matching installer. Compare Clash Plus, Clash Verge Rev, and FlClash based on the features you need. If you're using an older ClashX Meta config, keep in mind that core fields and client settings aren't fully interchangeable. Check system proxy and TUN permissions separately.

If macOS displays a warning on first launch, follow the instructions in System Settings. Don't disable your device's security protections just to open the app. If the proxy behaves unexpectedly after startup, check Login Items, background services, and proxy settings for the current network location.

Download for macOS

Android clients

Choose Clash Plus, Clash Meta for Android, or FlClash for your device architecture. The downloads page also explains how Surfboard handles configuration differently. Android clients typically route traffic through the system VPN interface. Before starting, make sure no other VPN app is using that interface, then check the connection log after granting permission.

Background disconnects don't necessarily mean there's a subscription problem. First check whether the behavior changes after the screen locks, then review battery optimization and background restrictions. Adjust permissions only for apps that need to stay active; avoid disabling all background limits at once.

Download for Android

iOS clients

Find the Clash Plus App Store link and official site, clashplus.io, on the downloads page. After installation, import a supported subscription format and allow the VPN configuration when prompted. Desktop steps for service mode, system proxy toggles, and port settings don't necessarily apply to mobile.

After connecting, test a webpage while the app is in the foreground, then check behavior when switching networks and returning from the lock screen. If one app behaves differently, investigate its client policy and system network permissions. Check the client documentation and store listing for feature availability.

Download for iOS

Linux clients

Desktop users can start by comparing Clash Verge Rev and FlClash, then choose a package for their distribution. For servers and routers, check the core section for processor architecture, runtime permissions, and service management. A graphical interface setting the system proxy and a command-line program reading proxy environment variables are two separate things.

Record existing DNS and routing settings before deployment, especially if you're working over a remote session. Don't replace the entire network configuration without a way back. Before enabling TUN, prepare a rollback path and check whether routing changes could disrupt your current management connection.

Download for Linux

Key Clash configuration topics

Start with a specific problem and distinguish the config file, traffic entry point, and routing policy.

After importing, make sure the profile is active

Paste the subscription URL into the import field in profile management. Wait for it to download and parse, then set the new profile as active. A Clash config and a Base64 node list are different formats; if parsing fails, ask your provider what type of subscription they supplied. Auto-update fetches config changes but can't tell whether the policies are right for you. Start with daily updates; if they time out, try updating through the proxy. Subscription URLs contain access credentials, so remove the URL and authentication details before sharing logs.

See how to import a subscription →

Open-source ecosystem and config maintenance

Understand how projects relate, keep a rollback-ready config, and verify each change against connection logs.

Clash refers to an ecosystem of projects

The Clash ecosystem began with a rule-based proxy core and grew to include multiple graphical clients. As the original project's maintenance status changed, the community continued developing compatible implementations and clients for different platforms. Search for Clash downloads today and you'll find legacy clients, community forks, and core projects side by side. Check the project, its maintenance status, and the core it uses separately; an installer's name alone doesn't tell you what it supports. This site brings platform downloads and configuration guides together to help you go from installation to verification. The site name doesn't mean every listed community project comes from the same team.

The mihomo core and graphical clients have different roles

mihomo is an open-source proxy core that evolved from the Clash ecosystem and was previously known as Clash.Meta. It handles protocol connections, DNS, and rule matching. Graphical clients build on it to provide subscription management, system proxy settings, service installation, and a user interface. Interface toggles don't always map directly to config fields, and clients may merge or override settings at startup. When troubleshooting, inspect the final active config, not just the original subscription. Check the documentation for the core you're actually running to confirm which options it supports.

Check repositories for implementation details and changes

Open-source repositories provide source code, issue discussions, commit history, and release notes—more useful for checking compatibility than isolated feature claims. If a field fails to parse, search for the option name and exact error message, check for known limitations, then decide whether to update the core or change the config. The command below downloads mihomo source code only; it won't install a graphical client or change system proxy settings. Most users can use a client without compiling anything. For development or code review, check the repository's build instructions and license.

Keep subscription, client, and core updates separate

Subscription updates can change nodes, proxy groups, or rules. Client updates may change the interface, permissions, or system integration. Core updates can affect protocol and config compatibility. Treat these as separate operations. Before updating, keep a working config and any necessary custom overrides, then review the release notes and update one component at a time. If an issue starts after an update, identify which layer changed and roll back that layer. Refreshing a subscription repeatedly won't fix a port conflict, and reinstalling a client won't fix a malformed config.

Choose your next step based on what you see

Subscription update failed: First distinguish a download timeout from a certificate or parsing error. Confirm the provider returned config content rather than a login page, then adjust the update interval or try updating through the proxy if needed. See subscription update troubleshooting.

Connected, but webpages won't load: Check whether requests appear in the Connections list, then check the system proxy, port conflicts, proxy selection, and DNS in order. A lit connection button only indicates that the service may have started; it doesn't mean the destination is reachable. See the webpage loading troubleshooting checklist.

Custom rules disappeared after a config update: A remote subscription may replace the original file. Use the client's override, merge, or extension feature to preserve local changes, and confirm the order in which they're applied. For a maintainable config structure, read the complete guide, from basics to advanced configuration.

You still can't connect after closing the client: Check whether the system still has a proxy pointing to a local port and whether virtual interfaces shut down cleanly. Restore basic system networking first, then restart the client. Find help with fundamentals, installation, configuration, and troubleshooting by symptom on the FAQ page.

Clash guides and troubleshooting

Browse the three latest articles by date, or start with a specific issue for step-by-step help.

Download the latest Clash version