Choose your operating system, then check the CPU architecture. Use a GUI client for everyday tasks; choose the standalone core for server or router deployments.
Clash is a proxy-tool ecosystem, not a single installer. Clients differ in interface, permissions, and how they merge configurations, and the same subscription may need adjustments for different core capabilities. Browse downloads by platform below; archived projects are clearly marked.
Use the platform tabs to switch between installer lists, or open a platform directly with its page anchor. Each card shows download links first, followed by compatibility notes.
Windows clients
Check your system type under Settings → System → About. The desktop installers below are for x64 systems. Windows on ARM compatibility depends on both Windows app emulation and the client’s dependencies; an x64 installer is not a native ARM64 build. For your first install, don’t enable both the system proxy and TUN at once. Test one traffic-routing method first to make troubleshooting easier.
A good place to start for a new install. Import your config after installation, then check your policy groups, rule mode, and system proxy status. For product information, visit clashplus.io.
Quit the running client before updating. If you’re switching from another client, import your subscription and test the connection first, then migrate custom rules one by one.
A good fit if you want to manage subscriptions, rules, and runtime logs on desktop. Installing a service or enabling TUN may require administrator approval. Importing a config alone does not route traffic through the proxy; check that traffic interception is enabled.
If the app won’t launch, note the error and check system components. Reinstalling over and over won’t tell you whether the problem is in the config.
If you’ve used a mobile version, the familiar config-management approach may make it easier to get started. AMD64 in the filename also works with common Intel x64 processors; it isn’t limited to AMD-branded devices.
After importing, check which config is currently active. With multiple subscriptions, refreshing one and switching the active config are separate actions.
Another desktop client option. During migration, handle subscriptions, rule overrides, and interface preferences separately. Data directory layouts vary between projects; copying the entire old directory can bring along caches or incompatible settings.
Keep the default log level on first launch. Adjust ports and advanced settings after you’ve confirmed the basic connection works.
Kept for recreating legacy setups and comparing configurations during migration—not recommended for new installs. Older cores may not recognize newer protocols or fields. A subscription downloading successfully doesn’t mean every setting in it will load correctly.
Looking for a Clash for Windows alternative? Back up your subscription URL, policy group names, and local rules, then import them into one of the clients above. Don’t let two clients manage the system proxy at the same time.
Windows installation requirements
Check
Requirements and notes
Processor
This section offers x64 / AMD64 installers. For other architectures, check system compatibility first.
System
Use a supported Windows release where possible. Check the selected client’s release notes for its minimum version and runtime requirements.
Permissions and networking
Installing a service or virtual network adapter may require administrator access. After importing a config, enable the traffic-routing method you need.
macOS clients
Check your chip under Apple menu → About This Mac. Apple M-series models use Apple Silicon; Intel Macs generally use x64 builds. A download channel’s name doesn’t guarantee the binary architecture, so check the actual filename too. Some clients currently serve the same x64 file through both channels; this is noted below. Before using one of these builds on Apple Silicon, check compatibility with Rosetta and the app itself.
Choose the DMG for your chip, open it, and follow the installer. Then launch the app from Applications. Product website: clashplus.io.
Read system authorization prompts carefully the first time you enable networking features. If you have another proxy app installed, quit it before checking whether this client controls the system proxy.
Both channels currently serve the same x64 DMG, so the channel name does not mean this is a native ARM build. Apple Silicon users should check Rosetta compatibility before installing.
After importing a subscription, check policy group references, especially for configs migrated from an older core. Supported fields depend on the core actually running.
The Apple Silicon channel listed here also serves an AMD64 build. If you need a native ARM app, choose a client that explicitly offers an ARM64 installer rather than relying on the button’s channel label.
After switching clients, check your system proxy and DNS settings again. Quitting the old client doesn’t always restore the previous system settings.
This archived download is for preserving older setups. Both channels point to an x86_64 build, so check Apple Silicon compatibility separately. For a new install, consider one of the maintained clients above.
When migrating an older config, keep the original YAML and check DNS, policy groups, and custom rules one by one. Don’t copy the old project’s entire data directory into the new one.
macOS installation requirements
Check
Requirements and notes
Chip architecture
For Apple Silicon, choose ARM64. For Intel, use an x64 / AMD64 / x86_64 build.
System and translation
Check the client’s release notes for the minimum macOS version. On ARM devices, confirm Rosetta compatibility before using an x64 app.
System permissions
Grant network or service permissions as needed. If macOS blocks a file, check its source and the specific warning; don’t disable system protections broadly.
Android clients
Most recent Android phones use ARM64, but older devices, TV boxes, and emulators may differ. Check the ABI supported by your system before installing. The VPN permission prompt lets Android route local traffic through the app. Usually only one app can use this system VPN slot at a time, so other VPN, filtering, or firewall apps may conflict.
For Android devices that support arm64-v8a. After installation, add a subscription or config, start the connection, and approve the system VPN prompt. Official website: clashplus.io.
If background connections keep dropping, check battery optimization and background activity restrictions first. There’s no need to change DNS or rules right away.
Installers are available for specific architectures, with a universal build as another option. If you can’t confirm your device’s architecture, try the universal build. If Android says the app can’t be installed, check the system version, signing key of any existing app, and available storage.
Back up your config before updating an existing app. A signing key mismatch can’t be fixed by installing over the current app; make sure your local data is saved before uninstalling.
Choose a build that matches your device’s supported architecture. On first launch, keep the default routing settings. Once you’ve imported a subscription and selected a proxy, you can adjust per-app routing, background activity, and DNS options.
A successful node test only confirms that the test request completed; it doesn’t verify the connection from your target app. Also check that the app isn’t excluded from traffic routing.
For users with a compatible config. Surfboard and Clash use different YAML syntax, so don’t import a full Clash config as if it were compatible. Check whether your subscription provider offers a suitable format.
Successful installation and config compatibility are separate requirements. If importing fails, check the config type and protocol support before troubleshooting permissions or connectivity.
Android installation requirements
Check
Requirements and notes
Processor ABI
arm64-v8a is ARM64; armeabi-v7a is 32-bit ARM. Check which ABI your device supports.
Install permissions
When prompted, allow your browser or file manager to install apps. Check the installer’s requirements for the minimum Android version.
Connection permissions
Approve the VPN permission prompt. Ongoing connections may be affected by battery optimization, background restrictions, and other VPN apps.
iOS clients
Install Clash Plus on iPhone or iPad through the App Store. The listing shows current system requirements and app details; check it on your device before installing. The first time you connect, follow the system prompt to add a VPN configuration, then return to the app to check the connection status.
After installing, import a valid subscription or config, choose a proxy, and approve the system prompt. Even if the subscription downloads successfully, confirm that the newly imported config is active rather than testing with an older one.
iOS network routing is governed by system capabilities, so desktop steps for listening ports or installing services don’t apply. If apps behave differently, start by checking the config, rules, and logs.
iOS installation requirements
Check
Requirements and notes
System version
Check the current iOS / iPadOS compatibility requirements shown on the App Store listing.
Install method
Open the app listing using the App Store link above. The store handles installation for your device.
Before connecting
Prepare a valid config and approve the system prompt to add a VPN configuration. Installing the app does not include a proxy service.
Linux clients
Run uname -m to check your architecture, then confirm your distribution’s package format. The desktop builds here are for AMD64 / x86_64: choose DEB for Debian- and Ubuntu-based systems, or RPM for distributions that use RPM packages. A matching file extension doesn’t guarantee that all dependencies are available; use your distribution’s package manager to check the installation result.
For Linux desktop users who want a GUI to manage proxy settings. Launch it from a regular user session after installation. Configure service installation and TUN permissions as prompted; there’s no need to run the entire desktop app as an administrator.
Desktop system proxy settings and command-line proxy environment variables are separate. A browser working through the proxy doesn’t mean terminal tools are using it too.
For AMD64 desktops that use DEB packages. Let the package manager resolve dependencies before launching the client and importing a config. If it fails to start, keep the terminal error output; it can help distinguish missing GUI components from a core startup failure.
No ARM desktop installer is available in this section. For ARM servers or routers, see the core downloads below. The standalone core does not include a desktop configuration interface.
Linux installation requirements
Check
Requirements and notes
Architecture and distribution
Desktop builds here are AMD64 / x86_64. Choose DEB or RPM according to your distribution’s package management system.
Desktop dependencies
A working graphical session and the client’s dependencies are required. Check the project’s release notes for minimum distribution and runtime library versions.
Permissions and traffic routing
Installing a package requires appropriate permissions. System proxy settings, terminal proxy environment variables, and TUN are separate traffic-routing methods.
Standalone Mihomo core
For users managing servers, routers, or services themselves. Mihomo parses configs, listens on ports, and applies rules; it does not include a full desktop GUI. Most users should choose one of the GUI clients above and don’t need a separate core download. Running another core can occupy the same ports and cause the client to fail to listen.
Prepare your own config.yaml and confirm that referenced rule sets, geodata, and file paths are available.
Permissions and listening
Standard proxy listeners and TUN require different permissions. Choose ports that don’t conflict with other services.
Service management
Set up the working directory, service user, log storage, and startup behavior yourself. Test the config before restarting after changes.
GZ files are usually compressed single executables; extracting one doesn’t install it as a service. Check execute permissions and config paths, then test whether the config loads. For config field details, see Clash configuration field reference. Don’t use desktop-client-only override fields as core configuration.
Post-install checks
Installing the app is only the first step. Follow these checks in order; it’s easier to isolate issues than changing ports, DNS, and rules all at once.
Import and activate a config
First confirm that the subscription provides a format supported by your client, then import it. A full YAML config, a list of nodes, and a single-node link are different types of content. Pasting a node link into a field that expects a full config will fail.
After importing, check the active config name and policy groups. Refreshing a subscription updates its contents but may not switch the config currently in use.
On desktop, enable the system proxy and test in a browser first. Use TUN if you need to route traffic from apps that don’t read system proxy settings. On mobile, approve the VPN permission and confirm the connection is active in the app.
Turn off traffic routing in the old app before switching clients. If multiple apps compete for a port or virtual network adapter, connections can fail even when the config is valid.
Test a real destination, then check the matching connection’s rule and any error messages. DNS resolution failures, connection timeouts, and incorrect rule routing are different problems; a node test alone can’t identify the cause.
Logs help with troubleshooting, but don’t publish them in full. Remove subscription URLs, credentials, and personal browsing records before sharing diagnostic details.
First distinguish the app, core, and config, then decide what actually needs to be downloaded again. Repeatedly switching installers won’t fix an expired subscription or an incorrect rule reference.
Which Clash client should I choose for my first install?
For Windows, macOS, Android, and iOS, start with Clash Plus for your platform. For Linux, consider Clash Verge Rev. Check your CPU architecture before choosing an installer. Clients manage proxy connections; you’ll still need to import a valid config or subscription after installation.
If your current config works reliably, focus on format compatibility, system support, and the traffic-routing method you need. There’s no need to install several clients just to compare their interfaces.
ARM64, x64, or universal: which build should I choose?
x64 and AMD64 generally refer to the same 64-bit Intel and AMD architecture. ARM64 is for 64-bit ARM devices, while armeabi-v7a is for 32-bit ARM. Check your processor in system information first. If you can’t confirm your Android device’s architecture, choose the universal build. Some macOS architecture channels currently serve the same x64 file, so check the actual filename to see whether Rosetta is needed.
Check the filename, system architecture, and app compatibility together. The download channel provides a link, but isn’t the only way to identify the architecture of the packaged app.
Why can’t I connect after installing a client?
The installer doesn’t include a proxy service you can use out of the box. Import a valid config or subscription, select an available proxy, then enable the system proxy or TUN as needed. Test in rule mode first, and check the logs for DNS, connection, and rule activity.
If only one app can’t connect, check whether it reads system proxy settings, is excluded from per-app routing, and which rule it actually matches. Don’t reinstall the client right away.
Clash for Windows is no longer maintained. Should I still install it?
Clash for Windows remains available for recreating legacy setups and comparing configurations during migration. For a new install, choose a maintained alternative. Before migrating, back up your subscription URL, custom rules, and overrides. Don’t replace the new client’s entire data directory.
An older client opening a config doesn’t mean it supports every field added to that config. After migrating, check the startup logs and policy group references again.
Will updating the client also update my subscription and core?
The client, core, and subscription are separate components, and update behavior varies by client. After updating, check the client version, running core, and subscription refresh status separately. Automatic subscription updates also require a valid URL and network connection; installing a newer client won’t fix an expired subscription.
Version details on these cards come from the release manifest; no version text is shown when the manifest doesn’t provide one. Confirm that an update has taken effect in the installed client.
Do I need to download Mihomo separately for everyday desktop use?
Usually not. A GUI client manages the core and is suited to everyday tasks like importing subscriptions, switching policies, and viewing logs. The standalone Mihomo core is mainly for users managing servers, routers, or services themselves, who must also set up the config, permissions, and service startup.
If the client is already running its core successfully, launching a separate core may cause port conflicts. If you need a different core, first check whether the client supports managing it.