Choose a platform, then check the processor architecture. GUI clients handle everyday configuration and connections; the standalone Mihomo core is for environments you manage yourself.
Clients and proxy access are provided separately. After installing, import a compatible subscription or local configuration. Subscription URLs may contain access credentials—don’t share them publicly.
Choose a client by platform
Each card lists the available packages for that platform. Version details appear only when provided by the upstream project.
Windows Clients
The GUI clients below primarily offer x64 packages. Check your system type under Settings → System → About. A 64-bit-capable processor does not mean you have a 64-bit version of Windows installed. Windows ARM devices also need a compatibility check for x64 apps.
A good starting point for importing subscriptions, choosing policies, and connecting day to day. Run the installer, import a configuration, then enable the system proxy. If you need to route traffic from more apps, follow the guide to check TUN permissions and routing settings.
For managing subscriptions, rules, and service mode from a desktop interface. Installing the service or enabling TUN may require administrator approval. Turn off the system proxy in other clients first to avoid conflicts between ports, services, and default routes.
Offers a cross-platform interface for managing configurations. AMD64 and the commonly used x64 label refer to the same architecture; the package isn’t limited to AMD processors. After launching, check that the subscription parsed successfully, choose a rule mode, then test connections in your browser and other apps.
For users who prefer organizing configurations through a desktop GUI. When migrating, import subscriptions and local rules first rather than overwriting the entire old data directory. Interface settings, service installation, and core configuration are separate—check each one individually.
Use this archived download to inspect configurations or migrate an existing setup. The older core may not support all current protocols or configuration fields. For a fresh install, choose a maintained client listed above. Before migrating, save your subscription and custom rules, then check for feature differences.
Windows requirements
Check
Requirements and steps
System and architecture
Use a 64-bit version of Windows that is still supported by Microsoft. Packages here are x64 / AMD64; check the selected client’s release notes for its minimum Windows version.
Permissions
Importing configurations and using the system proxy generally don’t require running as administrator. Grant permission when prompted to install a background service or virtual network adapter, or to change routes.
Check for conflicts
Quit other proxy software and check whether the local listening port is already in use. Test the connection with the system proxy before enabling TUN.
macOS Clients
Check your chip under Apple menu → About This Mac. Apple Silicon and Intel use different native architectures, so choose a package based on the actual file type. Some Apple Silicon download links currently point to x64 files; don’t assume the link label means the package is a native ARM build.
Choose the native package for your chip. Open the disk image and move the app to Applications before launching it, rather than running it from the disk image. After approving network access the first time, import a configuration and verify the rule mode. Quit the old process before updating.
For managing desktop subscriptions and rules. Both download links currently point to the same x64 file. On Apple Silicon, check Rosetta and app compatibility; this is not a native ARM build. Follow macOS prompts separately for background service approval and permission to launch the app.
A consistent way to manage configurations across devices. The Apple Silicon download link currently points to an AMD64 file, so check translation compatibility before installing. When importing another client’s configuration, review custom paths, scripts, and override support instead of copying the entire app data directory.
Kept for migrating older setups and reference. Both download links currently point to x86_64 files; check compatibility separately on Apple Silicon. For newer protocols, system network extensions, or current macOS support, choose a maintained client.
macOS requirements
Check
Requirements and steps
Chip
On Apple Silicon, prefer a native ARM64 package; on Intel, choose x64 / AMD64 / x86_64. Running through translation also depends on compatibility with macOS and the app.
macOS version
Minimum macOS requirements vary by client build. Check the release notes before installing; not every DMG supports older versions of macOS.
Security and permissions
Keep macOS security checks enabled and verify the app’s source when prompted. Approve the relevant permission separately if the app needs a helper service or network extension.
Android Clients
Most recent phones use ARM64, but some devices still run a 32-bit system. Check your device and system architecture before choosing an APK. Install the downloaded file with the system installer. VPN permission creates a local traffic-routing tunnel; it doesn’t provide proxy access by itself.
For everyday subscription and rule management on ARM64 devices. After installation, import a subscription and make sure the configuration works before connecting. If the connection drops when the screen locks, check battery optimization and background restrictions. Don’t let another VPN app control the network at the same time.
Packages are available for ARM64, ARM, and universal architectures. Subscription import succeeding doesn’t guarantee that the current core accepts every configuration field. If parsing fails, check the error and configuration format, then confirm the subscription is compatible with the client.
For users who want a similar interface on desktop and mobile. After switching devices, check VPN permission, per-app routing, and background settings on each one. These system-level options aren’t carried over just by importing the same subscription. Save local overrides before updating.
For Android users with configurations and protocols supported by Surfboard. It is not a drop-in replacement that can run any Clash YAML as-is. Confirm the format with your configuration provider before downloading. If the formats don’t match, get a compatible configuration rather than just changing the file extension.
Android requirements
Check
Requirements and steps
Architecture and system
ARM64 corresponds to arm64-v8a; ARM commonly corresponds to armeabi-v7a. Check each app’s installer or release notes for the minimum Android version.
Install permissions
Allow installs from only the browser or file manager you use to open the APK. If you see a signature conflict, back up your data first, then check whether the download came from a different source.
Background connections
Grant the required VPN permission and check battery optimization and background network restrictions. Typically, only one VPN service per user can route traffic at a time.
iOS Client
Install Clash Plus from the App Store. Check the store listing for supported devices and system versions. After installing, import a supported subscription or configuration. The first time you connect, follow the system prompt to add a VPN configuration, then verify rules and DNS behavior.
The App Store listing provides installation, update, and device compatibility details. Subscription management and VPN permissions are separate settings: after importing a configuration, make sure you can select a policy before connecting. If the connection fails after switching networks, check the client status, then look for another VPN configuration that may be interfering.
Check the Compatibility section of the App Store listing to confirm your device and iOS version are supported.
Network permission
Follow the system prompt to add a VPN configuration when connecting. If the device is managed by an organization, its policies may restrict this feature.
Before you start
Prepare a compatible subscription or configuration. Don’t publicly share subscription URLs or connection screenshots that contain personal access credentials.
Linux Clients
Choose one of the clients below for a Linux desktop. Packages here are AMD64 / x86_64. DEB and RPM use different package management systems; changing the file extension won’t convert one format to the other. Before installing, check your desktop environment, dependencies, and system architecture. For server use, see the Mihomo core section.
For managing subscriptions and client status from a desktop interface. Debian- and Ubuntu-based distributions generally use DEB; Fedora and other RPM-based distributions use RPM. Check package dependencies as well. Before enabling TUN, review service permissions, routing rules, and existing firewall settings.
This section provides a DEB package. Install it with your distribution’s package manager to handle dependencies and make later removal easier. Not all terminal applications use the desktop system proxy; command-line tools may need proxy environment variables set separately.
Linux requirements
Check
Requirements and steps
Processor
The GUI packages here are AMD64 / x86_64. Check your architecture with uname -m; don’t install these packages on ARM devices.
Package management and dependencies
Choose the matching DEB or RPM package and let your package manager resolve missing dependencies. Extracting the files alone usually doesn’t complete the installation.
Traffic routing
The system proxy, environment variables, and TUN route different traffic. Test the applications you actually use; a tray icon alone doesn’t confirm that all traffic is routed.
Standalone Mihomo Core
For users managing services on servers, routers, or custom environments. Desktop users should start with one of the GUI clients above. The standalone core has no full desktop configuration interface; you’ll need to provide the configuration file, launch options, directory permissions, and service management yourself.
ZIP files are archives; GZ files usually compress a single executable. After extracting, check that the file is executable. A GZ file is not an installed service.
Configuration and resources
Prepare a compatible YAML configuration and any required rule resources. Make sure the process can read the configuration directory. Run it in the foreground to check for errors before setting up automatic startup.
Traffic routing permissions
Listening on a local proxy port and changing routes require different permissions. Plan how to restore connectivity before enabling TUN, DNS interception, or policy-based routing.
How the standalone core and client work together
The core handles protocols, rule matching, DNS, and traffic forwarding. A GUI client typically also manages subscription updates, configuration editing, tray menus, and service startup. Downloading the core alone won’t set up these additional features or enable the system proxy. Before replacing a core, confirm that the client can manage external cores; otherwise an automatic update may overwrite your changes.
For a server deployment, restrict the listening address and test local access before opening the proxy to other devices. If the configuration includes external-controller, add access controls and authentication. Changing a router’s default route may interrupt remote administration, so keep a local recovery option available.
Choosing a package and migrating configurations
Identify the architecture, then check compatibility
x64, AMD64, and x86_64 generally refer to the same 64-bit desktop architecture; ARM64 and AArch64 refer to another. Matching the architecture is only the first step: system version, runtime dependencies, and app signing can also affect installation. A completed download doesn’t guarantee the app will run on your device.
Universal Android packages usually support multiple architectures and may be larger; if you know your device’s architecture, choose the matching package. Some macOS links still provide Intel builds. Check the file type shown on the page; Apple Silicon users should verify translation compatibility separately.
Keep your configuration when updating; verify each part when migrating
Before updating, record subscription URLs, custom rules, override files, and local policy settings. A subscription refresh may replace remote configuration, and manual edits to generated YAML may not persist. Prefer the client’s supported persistent rules or override features.
When switching clients, quit the old app and turn off its system proxy before importing a configuration. Verify subscription parsing, policy selection, DNS, and traffic routing in order; don’t change every network setting at once. Once the new setup works, decide whether to uninstall the old client and remove its data directory.
Clash download and installation FAQ
Which Clash client should I choose for my first install?
For Windows, macOS, Android, and iOS, start with Clash Plus; for Linux, consider Clash Verge Rev. Choose a maintained GUI client, then check system and processor compatibility. The client does not include proxy access—you’ll need a compatible configuration or subscription.
Which package should I choose: ARM64, x64, or universal?
Check System Information on Windows, About This Mac on macOS, or your device details on Android to identify the architecture. x64 and AMD64 generally refer to the same architecture; ARM64 uses a different instruction set. Universal Android packages are usually larger and useful when you can’t confirm your device architecture. System and client compatibility still apply.
What should I check if the download won’t install?
Make sure the download completed, the file extension is correct, and the system version and processor architecture are supported. Then check the specific error message. On Android, verify permission to install from that source and check for signature conflicts. On macOS, review the security warning and app source. Don’t disable all system security features.
What should I save before updating or switching clients?
Save your subscription URL, local configuration, custom rules, and overrides. Note your proxy port, DNS, and TUN settings. Different builds of the same client may use different signing certificates or data directories. After migrating, verify the subscription, rule mode, and connection history before deleting old data.
Why can’t I connect after installing the client?
The package contains only the client. Import a working, compatible subscription or configuration, choose a policy, then enable the system proxy or TUN. If you still can’t connect, troubleshoot in this order: subscription parsing, node connectivity, DNS, then traffic routing. Avoid running multiple proxy clients at once.
Do desktop users need to download the Mihomo core?
Usually not. GUI clients typically bundle or manage the required core; check the client’s documentation for details. The standalone Mihomo package is for users who manage their own configuration, service process, routing, and permissions, typically on servers, routers, or custom environments.
For more routing and connection help, see the FAQ. Note the exact error message while troubleshooting. Before sharing logs, remove subscription credentials, server passwords, and personal addresses.