Platform downloadsChoose an architectureConfiguration guides
Clash downloads
Choose your operating system, then select an installer. Graphical clients are for everyday configuration and connections; the Mihomo core is for running your own services.
Choose in this orderDevice platform → processor architecture → install → import configuration
Get the client installer and subscription configuration separately. If you already have a client installed, back up your local configuration and overrides before updating.
Windows clients
The graphical client installers in this section are x64 builds for most Intel and AMD desktop PCs. Check your system type under Settings → System → About. On ARM devices, also confirm that Windows can run x64 apps. After installing for the first time, import a configuration before enabling the system proxy. You don’t need to turn on every traffic-routing option at once.
A good choice for everyday use, from installation and subscription import to connecting in rule mode. Run the installer and follow the prompts, then open the Clash client and add a subscription link or local YAML file on the configuration page. Set it as the active configuration before enabling the system proxy—importing a configuration alone doesn’t make it active.
A desktop option for managing configurations, proxy modes, and local overrides. The system proxy and TUN route traffic differently, so first check that the system proxy works. If you need TUN, install or start the service as prompted by the client, then check permissions and virtual network adapter status. Installing the service doesn’t mean your configuration is active.
A good fit if you want a similar workflow across desktop and mobile devices. Install the app using the setup wizard, or fully extract the ZIP to a writable folder before launching it. Don’t run the app from the archive preview. Before changing the storage location or updating, check where user data is stored and back up your local configuration.
An alternative desktop interface for managing configurations. When moving from another Clash client, import the original YAML file or subscription source instead of copying the entire app data folder. Interface settings, service status, and core options may differ. After importing, check the parsing results and confirm that your rules match as expected.
Kept for recreating older setups, organizing legacy configurations, and reference during migration. Archived builds aren’t maintained for newer systems or configuration fields. For a fresh install, choose one of the clients above. Before migrating, save your subscription URL, local rules, and proxy group settings. If a configuration field isn’t supported, check for core differences instead of repeatedly overwriting the original file.
Windows requirements
Item
What to check
Windows version
Use a version of Windows 10 or 11 that still receives security updates. Check the client’s installer for its minimum version requirement.
Processor
The downloads here are x64 builds. ARM devices need a compatible way to run them; the Mihomo ARM64 core is not an ARM64 graphical client.
Permissions and services
Standard proxy and TUN use different permissions. Installing a service may require administrator approval.
Before launching
Quit other clients, check that no other process is using the system proxy port, and import a valid configuration before connecting.
macOS clients
Check About This Mac for your chip or processor: Apple silicon and Intel Macs require different architectures. After downloading the DMG, move the app to Applications before opening it. The current Clash Verge Rev, FlClash, and ClashX Meta downloads are x64 builds for both architecture options; Apple silicon devices may need Rosetta. Clash Plus offers a separate ARM64 build.
Choose ARM64 for Apple silicon and x64 for Intel Macs. After installation, add a subscription configuration and set it as active, then grant any network permissions macOS requests. If you’re migrating from an older app, back up your local rules first. Check the system proxy setting again in the new client—don’t assume it matches the old app.
Manage configurations, rule mode, and desktop traffic routing. This compatibility build is not native ARM64, so Apple silicon users should first confirm that their system supports it. If you enable TUN, check service permissions, routing, and DNS. When testing the connection for the first time, change one advanced setting at a time to make issues easier to isolate.
A convenient way to manage subscriptions and configurations across devices. The amd64 in the filename means 64-bit Intel / AMD architecture, not AMD-only. After launching, check the configuration source and update status. If a subscription fails to load, review the request error first, then check for network, credential, or configuration format issues.
An archived option for older setups that use a menu bar client. This x86_64 download may need compatibility support on Apple silicon. Archived apps may use different core fields from newer clients. During migration, keep the original YAML and check DNS, rule sets, and proxy groups separately. For new devices, choose a client that’s still maintained.
macOS requirements
Item
What to check
Windows version
Minimum macOS versions vary by client. Check the app’s documentation and any system installation prompts.
Apple Silicon
Choose a native ARM64 build when available. x64 builds listed for compatibility use require system support to run.
Intel
Choose a macOS installer labeled x64, x86_64, or amd64.
Install location
Move the app to Applications before opening it. If macOS blocks it, verify the source; don’t disable system-wide security protections.
Android clients
Choose an Android APK that matches the device’s supported app architecture. Most newer phones support ARM64; older devices may only support 32-bit ARM. A 64-bit processor doesn’t necessarily mean the system can install 64-bit apps. After installing, approve the VPN connection. If another VPN is active, disconnect it before testing the Clash client.
This arm64-v8a build is for Android devices that support 64-bit ARM apps. When installing, approve the current download source if prompted. Then open the Clash client and add a subscription. Approve the system VPN prompt when connecting. If the connection drops when the app goes into the background, check battery optimization and background activity restrictions.
Importing a configuration and starting a connection are separate steps: after adding one, set it as the active configuration. If you’re unsure which architecture your device supports, consider the universal build, though it’s usually larger than an architecture-specific APK. Before setting up per-app routing, confirm that rule mode works. Changing proxy mode alone won’t fix drops caused by background restrictions.
A good fit if you want a similar configuration workflow on desktop and mobile. arm64-v8a is 64-bit ARM; armeabi-v7a is 32-bit ARM. If installation fails, check the architecture, Android version, and signature compatibility with any existing app. Export your configuration before uninstalling an old app so you don’t lose subscription details stored only on the device.
Surfboard
Android universal APK · Different configuration format
An alternative Android proxy app with a configuration system different from Clash YAML. Don’t assume Clash subscription links or configuration files are compatible; first check whether your subscription provider supports the required format. Rules, proxy groups, and protocol fields may not map one-to-one when converting formats. Verify the connection after importing.
Android requirements
Item
What to check
System compatibility
Check the client’s minimum Android version. If installation fails, check the Android version and APK architecture.
Architecture
ARM64 is for ARM systems that support 64-bit apps; ARM is for 32-bit environments. If you’re unsure, consider the universal build.
Install permission
Allow installation for the browser or file manager you’re using, and follow the system prompts. Don’t grant this permission to unrelated apps.
VPN permission
Approve the VPN permission prompt when connecting for the first time. If the connection drops in the background, check battery settings and conflicts with other VPNs.
iOS clients
Install Clash Plus on iPhone or iPad from the App Store. Check the store listing for system compatibility, then import a valid subscription or local configuration. The first connection prompts you to add a VPN configuration. After approving it, return to the Clash client, select the active configuration, and start the connection.
The App Store listing includes app details, system compatibility, and the installation option. After installing, paste a subscription link and confirm that the configuration loads before granting VPN permission and testing the connection. Downloading the app doesn’t include a proxy service; you’ll need to provide a subscription separately. Don’t share access credentials from a personal subscription.
Check the iOS / iPadOS requirements listed under Compatibility on the App Store page.
Install
Open the App Store listing and install Clash Plus by following the prompts for your account and device.
Network permission
Approve the system prompt to add a VPN configuration. Check the client logs along with the connection status.
Configuration source
Prepare a valid subscription link or supported local configuration, set it as active, then connect.
Linux clients
The graphical clients in this section are AMD64 / x86_64 builds. Choose DEB for Debian, Ubuntu, and other DEB-based distributions; choose RPM for RPM-based distributions, and check desktop dependencies. Servers and routers usually don’t need a graphical interface: use the Mihomo core below to manage services, listening addresses, and routing yourself.
For managing configurations on a Linux desktop. Install the local package through your distribution’s package manager so it can report and resolve dependencies. Whether apps use the system proxy depends on the desktop environment and the apps themselves. Command-line tools may need proxy environment variables configured separately. For broader traffic routing, look into TUN and routing settings.
For AMD64 desktop systems that support DEB packages. After opening the app for the first time, import a subscription and check that the configuration parses correctly and the proxy mode is set as intended. Grant service permissions if prompted, but don’t run the entire desktop app with elevated privileges long-term. Quit old processes before updating to avoid conflicts with services or listening ports.
Linux requirements
Item
What to check
Architecture
Run uname -m to check. The graphical packages here are for x86_64; for ARM servers, consider the corresponding core.
Package format
Choose DEB or RPM based on your distribution’s package management system. Changing the file extension won’t convert the package.
Desktop dependencies
Graphical apps need a desktop environment and related runtime components. Check the package manager’s dependency prompts during installation.
Traffic routing
TUN requires the appropriate system permissions and routing configuration. Not all terminal apps automatically use the system proxy.
Servers / routersmihomo
Download the Mihomo core
The core package contains the executable, not a graphical configuration interface. It’s for users who manage YAML files, service startup, and network routing themselves. Most desktop and mobile users should choose a graphical client above. Don’t use the core archive as a desktop installer. Before deployment, check the target device’s architecture, system environment, and storage location.
Extract ZIP and GZ files before use. GZ archives usually contain a single executable, not an installer. On Unix-like systems, make sure it has execute permission. Specify a configuration directory before starting, check the configuration syntax, and only then consider setting up a system service. Ensure the service account can read the configuration directory.
Architecture and network security
ARMv7 is not the same as ARM64. For MIPS, check the endianness and floating-point ABI as well. A router’s brand alone doesn’t tell you which build it can run. When deploying on a server, restrict access to proxy listening ports and the external controller interface. If you need to expose them, configure authentication and firewall rules explicitly.
Download and installation FAQs
Before switching clients, check the relevant details—from package selection and configuration import to updates and migration. For help diagnosing connection issues, see Troubleshooting.
Which Clash client should I download first?
Start by choosing your device platform. For Windows, macOS, Android, and iOS, start with our recommended option, Clash Plus. For Linux, consider Clash Verge Rev. Most desktop users should choose a graphical client; use the Mihomo core only if you want to manage services and configuration files yourself.
Which installer should I choose: ARM64, x64, or universal?
Check your system information for its processor architecture. Most Intel and AMD desktop devices use x64. Android devices that support 64-bit ARM apps use ARM64; older 32-bit ARM devices use ARM. If you’re unsure which architecture your Android device supports, consider the universal build. On macOS, check the architecture supported by the actual installer: some downloads listed for Apple Silicon are x64 builds and may require system compatibility support.
Why do I need a subscription configuration after installing a Clash client?
The installer provides the app and its runtime components, not a proxy service for personal use. Import a valid subscription link or local configuration, then set it as the active configuration. Subscription links may contain access credentials, so don’t share them publicly. After importing a configuration, start in rule mode and check the connection and logs.
What should I do if macOS says the installer can’t be opened?
First check your macOS version, processor architecture, and the architecture supported by the installer. Apple Silicon devices may need Rosetta to run Intel builds. Move the app to the Applications folder before opening it. If macOS blocks the app, verify its download source and the warning, then follow the instructions in Privacy & Security. Don’t disable system-wide security protections.
What should I save before updating a client?
Back up your local YAML configuration, override rules, subscription sources, and any interface settings you need. Quit the old client and its background services before installing the update. Don’t run multiple system proxies or TUN services at once. After updating, check the active configuration, proxy mode, and DNS settings, then test the connection.
Are discontinued clients suitable for new devices?
Archived clients are mainly useful for recreating older setups or migrating legacy configurations. They may not support newer operating systems, core fields, or security changes. For a new device, choose a client that’s still maintained. When migrating, keep the original configuration and check rules, proxy groups, and DNS fields one by one. Never overwrite your only backup.