Choose your operating system, then pick an installer. Desktop and mobile users can use a GUI client. For a self-managed deployment, see the Mihomo core.
Check these two things before installing
Your operating system and processor architecture determine which installer you need. After downloading, you’ll also need to import a subscription link or local YAML configuration.
A good fit if you want a GUI for importing configurations, choosing proxy groups and managing connections. After downloading the EXE, follow the setup wizard. On first launch, import an existing subscription from the configuration page, then enable the system proxy. Learn more at clashplus.io.
Replacing an older client? Exit its proxy process first and note the port it used. Two clients managing the system proxy at the same time can overwrite each other’s settings. Decide whether to keep the old app after migration is complete.
A desktop GUI for managing configurations, rules and core status. After installation, import a configuration and make sure it loads successfully before choosing a proxy group. System proxy and TUN are different traffic-routing methods; you don’t need to enable both when getting started.
Configure a service component only if you need a feature that requires extra permissions, and follow the client’s prompts. If another network tool is using a listening port, close the conflicting app or change the port in your configuration instead of repeatedly reinstalling the client.
An option for users who prefer a cross-platform interface and consistent workflows. AMD64 and the commonly used term x64 refer to the same architecture; it isn’t limited to AMD processors. Compatible Intel devices use it too.
After launch, check that your imported configuration appears in the list and that proxy groups have selectable options. Seeing the main screen doesn’t mean your traffic is being routed. Enable the system proxy or another connection mode as needed, then test access to your target site in a browser.
Another desktop GUI option for managing existing Clash configurations. Menus and override settings vary between clients. During migration, verify what the configuration actually loads rather than copying settings based only on how they appeared in the old app.
Back up your local configuration first, then restore ports, proxy groups and rules one at a time. If a field isn’t recognized, check whether it’s supported by your core. Before deleting an error-causing line, find out what it does so you don’t accidentally change how traffic is routed.
This archived download is mainly for restoring or migrating older setups. The project is no longer maintained, so newer protocols, configuration fields and OS behavior may not be supported. For a new installation, choose one of the maintained clients listed above.
When migrating from an older version, save your configuration and subscription URL, then note your system proxy port and proxy group names. Don’t copy the entire old application folder over the new client’s directory. After importing, check rule matching and DNS behavior before removing the old setup.
Windows system requirements
Requirement
What to check
Processor
This section provides x64 / AMD64 packages. Windows on ARM users should separately check app emulation and driver compatibility.
Windows version
Use a Windows version that is still supported by Microsoft. Check the installer for the specific minimum version and runtime requirements.
Permissions and traffic routing
Follow the setup wizard for a standard installation. Service mode or TUN may require administrator approval; enable these only if needed.
macOS clients
Check your chip under Apple menu → About This Mac. Choose ARM64 for Apple Silicon and x64 for Intel. Cards note when different listings point to the same package.
Choose the DMG for your chip. Open it, move the app to the Applications folder, then launch it from there. Import a configuration on first use, check its proxy groups, and grant system proxy access if needed. See clashplus.io for project details.
When macOS displays a permission prompt, check the app name and why it needs access. Network routing and launching a regular app involve different permissions; granting one doesn’t grant the other. Follow the prompts in System Settings to find the relevant controls.
A desktop GUI for managing configurations and connection settings. Both Mac architecture links in the current download listing point to the same x64 file, so the Apple Silicon option is not labeled as a native ARM64 build. Whether it runs depends on macOS and Rosetta compatibility.
If you’re on Apple Silicon and prefer a native installer, start with the option above explicitly labeled ARM64. Check the filename before opening the DMG. If you see an architecture warning after installation, don’t keep downloading the same file.
A good fit if you want a similar workflow across desktop and mobile. The current Mac downloads are all AMD64 files, including the Apple Silicon option. Check compatibility with Rosetta and the features you need.
When migrating a configuration, keep the subscription as the configuration source and save local overrides separately. This makes it easier to tell changes from subscription updates apart from device-specific port or DNS adjustments.
An archived client for older configuration setups; no longer maintained. Both download links point to an x86_64 file, so they do not provide a native Apple Silicon build. Compatibility with newer systems should be verified separately.
Existing users can export their YAML and move to a maintained client. Check whether the old menu bar proxy setting is still enabled during migration. After closing the old app, macOS may still point to its old proxy port, leaving your browser unable to connect.
macOS system requirements
Requirement
What to check
Processor architecture
Prefer ARM64 for Apple Silicon and x64 / x86_64 for Intel. This page identifies when multiple listings point to the same file.
macOS compatibility
Check the app’s installation or launch prompts for the minimum macOS version; the DMG extension alone doesn’t indicate compatibility.
Installation and permissions
Move the app to Applications and launch it. Grant permissions for network extensions, helper components and system proxy access as prompted.
Android clients
Most recent ARM phones use ARM64. Check whether an older device supports 64-bit apps. If you’re unsure of its architecture, consider the universal package for Clash Meta for Android.
This link provides an arm64-v8a APK for compatible devices. Open the download from your browser’s downloads list or a file manager, allow installation from that source when prompted, then import a configuration in the app. Official site: clashplus.io.
When you first connect, Android asks for permission to set up a VPN connection. Confirm the app before allowing it. If another VPN app is active, disconnect it first; Android usually allows only one app at a time to use the VPN interface for a user profile.
Choose ARM64, ARM or universal based on your device’s architecture. Universal packages typically include multiple architectures and may be larger; use one if you can’t identify your device’s architecture. If your phone supports ARM64, choose the matching single-architecture package.
After importing a configuration, select it before starting the connection. If the app frequently disconnects in the background, check whether battery management is restricting background activity. Rule out power-saving settings first, then check for subscription updates and available proxies to pinpoint the cause.
A GUI experience similar to the desktop version, suited to users who manage configurations on both phone and computer. arm64-v8a is for 64-bit ARM; armeabi-v7a is for 32-bit ARM. Choose based on your device’s supported architecture, not the file size.
When switching from another client, disconnect it first. Then import your configuration into FlClash and grant VPN access. The same subscription may show different group names or settings in another client, so confirm your selected proxy before testing access.
An alternative rule-based proxy tool for Android. Surfboard uses a different configuration format from Clash YAML. You can’t import an arbitrary Clash configuration just by changing its file extension, so check which formats your configuration provider supports before downloading.
If you only have a Clash subscription, use one of the compatible clients above. Converting a configuration involves differences in protocols, rules and proxy groups, so check the result carefully. Don’t submit configurations containing private connection details to unfamiliar conversion services.
Android system requirements
Requirement
What to check
Architecture
ARM64 corresponds to arm64-v8a; 32-bit ARM corresponds to armeabi-v7a. Universal packages must also meet the app’s system requirements.
Installation permissions
Grant install permission only to the browser or file manager you’re using. Revoke it afterward if you no longer need it.
Connection permissions
The first connection requires VPN permission. Background operation may also be affected by battery management and manufacturer-specific settings.
iOS clients
Install Clash Plus from the App Store. Check the store listing for current device compatibility, system requirements and app updates.
Open the App Store listing, confirm the app name and install it. On first launch, add an existing subscription link or import a supported configuration, then check the proxy groups. When connecting, allow the VPN configuration when prompted by iOS and confirm using your device’s authentication method.
Installation only prepares the client; proxy endpoints and rules come from the configuration you import. If the connection is on but websites won’t load, check that the configuration is valid, the right proxy is selected and no other VPN configuration is routing your traffic.
App updates usually come through the App Store; subscription updates happen on the client’s configuration page. These are separate actions. If a subscription fails to parse, check its contents and format first. You don’t need to delete the app, which could erase local settings you haven’t backed up.
iOS system requirements
Requirement
What to check
Device and OS
Check the App Store’s Compatibility section for current requirements; your device’s installation result is the final check.
Configuration
Have a valid subscription or supported local configuration ready. Installing the app does not provide proxy endpoints.
Connection permissions
Allow the VPN configuration when prompted on first connection. Disconnect any other VPN before switching clients.
Linux clients
Choose DEB or RPM based on your distribution. The GUI packages below are for AMD64 / x86_64. For servers, routers and other architectures, see the core downloads.
For users who want a desktop GUI to import subscriptions, manage proxy groups and monitor connections. Debian- and Ubuntu-based distributions typically use DEB; Fedora and other RPM-based distributions use RPM. Check your distribution’s dependencies as well.
Install through your distribution’s software installer or package manager so dependencies are handled by the system. Whether the system proxy covers an app depends on your desktop environment and the app itself. Terminal programs may not automatically use desktop proxy settings.
This section provides an AMD64 DEB package for desktop environments that use this package format. Check your architecture with uname -m before downloading. The common value x86_64 corresponds to AMD64 here; aarch64 does not.
After installation, launch the app in a regular user session and import your configuration. If you need transparent routing or TUN, configure permissions and routes as required. Don’t run the entire desktop app as a superuser for convenience; this can cause ownership and permission problems.
Linux system requirements
Requirement
What to check
Architecture
The GUI packages here are for AMD64 / x86_64, not ARM64 or MIPS routers.
Package format
Choose DEB or RPM for your distribution. Don’t convert a package by simply changing its file extension.
Desktop and dependencies
GUI clients require a working desktop environment and the necessary runtime libraries. For a headless service, consider the standalone core.
Command-line / service deployment
Mihomo Core Downloads
For users managing servers, routers or services themselves. Most desktop and mobile users can use one of the GUI clients above.
The standalone core has no graphical configuration interface. Before deployment, prepare a YAML configuration, a writable working directory and a clear startup method. Then plan for startup on boot, log retention and traffic routing. Choose a file for the target system and architecture, not the computer you’re using to download it.
Extract GZ files before use, and set executable permissions on Unix-like systems. Install DEB files with a package manager. Check your configuration syntax before starting. For field definitions and examples, see the Clash configuration reference.
After downloading: configuration steps
Load the configuration before setting up traffic routing. This makes it easier to identify where a problem occurs.
Install and open the client
Make sure the installer reports no architecture or OS compatibility issues. Before updating an older client, save local configurations and overrides, then exit the old process.
Import a configuration and choose a proxy
Add an existing link on the configuration or subscription page, or import a local YAML file. Once it loads, check the proxy groups. Rule mode is a good starting point for everyday use.
Enable traffic routing and test access
On desktop, enable the system proxy if needed. On mobile, approve the VPN request. Test with one app first, then check whether other apps follow the same proxy settings.
Installers, clients and configurations serve different purposes. Check the layer where the issue occurs.
Which Clash client should I install first?
For Windows, macOS, Android and iOS, start with Clash Plus. For Linux, consider Clash Verge Rev. Check your operating system and processor architecture before choosing an installer. A client reads your configuration and handles connections; you’ll still need a valid subscription link or YAML file to get started.
What’s the difference between x64, AMD64, ARM64 and universal packages?
x64 and AMD64 generally refer to the same 64-bit x86 architecture; ARM64 is a different 64-bit architecture. Android’s armeabi-v7a targets 32-bit ARM, while universal packages typically include multiple architectures. Check your processor in your system’s About settings. If the download listing and package name don’t match, rely on the package name and the installer’s compatibility information.
Can I still use Clash for Windows after it was discontinued?
Clash for Windows is no longer maintained. This page keeps an archived download for migrating older setups. Existing configurations may still work, but newer protocols and fields may not be supported. For a new installation, choose a maintained client. Before migrating, export your configuration and note your ports, proxy groups and rules.
What should I check if a download won’t install or open?
First, make sure the download completed, then check the file type, processor architecture and OS version. On Windows, check System type; on macOS, check About This Mac; on Android, review the installation prompt; on Linux, confirm whether you need DEB or RPM. If you see a permission warning, verify the file’s source and follow your system’s guidance. Don’t bypass it by disabling security protections.
Why do I need to import a configuration after installing the client?
A client installer is not a proxy service. Configuration files provide proxy endpoints, proxy groups, DNS settings and routing rules. Open the client’s configuration or subscription page and import an existing subscription link or local YAML file. Then choose a routing mode and an available proxy. See this site’s Getting Started guide for instructions.
Do regular desktop users need to download the Mihomo core?
Usually not. GUI clients typically bundle or manage the core, so most users only need the client for their system. The standalone Mihomo core is mainly for users managing servers, routers or services themselves, who need to provide their own configuration, startup options, permissions and service management.