Choose your operating system first, then confirm the CPU architecture. Use a GUI client on desktops and phones; use the standalone core on servers and routers.
01Operating system
02CPU architecture
03Package format
Clients are listed by platform below. Package filenames and client version details are shown separately; check each card's architecture notes before installing. For your first setup, start with the Quick Start. See the YAML guide for field details.
PLATFORM / WINDOWS
Windows Clients
The desktop clients in this section are x64 builds for most 64-bit Intel and AMD PCs. Check Settings > System > About to confirm your system type before choosing a client. Installers and portable ZIP archives work differently: follow the setup wizard for an installer, or extract a ZIP to a fixed folder and launch it from there. Close the old process before updating.
A good first choice for a new installation. Run the EXE installer, then import a profile and choose a proxy mode. For your first test, run just one proxy client to avoid multiple apps changing system proxy settings and causing browser traffic to behave differently from what the UI shows.
Format: EXE · Architecture: x64 · Official site: clashplus.io
For desktop users who need profile management and rule-based proxying. After installation, make sure the core starts correctly before importing a subscription. If you need TUN, follow the client's prompts to grant service permissions; there's no need to change ports, DNS, and routing all at once on first launch.
Choose between an installer and an archive. The installer is the usual choice for desktop use; choose ZIP if you want to manage the program folder yourself. Running an extracted app won't automatically grant proxy service permissions. Features that use a virtual network adapter still require authorization through Windows.
AMD64 and x64 refer to the same class of 64-bit architecture.
A desktop GUI built on mihomo for managing profiles and overrides. After installation, check which profile is active and review the effective fields after overrides are applied. Keep a working copy of your config before changing rules to help distinguish config issues from system proxy problems.
This archived download is for reproducing older setups and planning migrations. For new installations, choose a maintained client. Older cores may not support newer protocols or config fields. A successful YAML import doesn't mean every feature in the config will work.
Back up subscription details, local rules, and overrides before migrating.
Windows installation requirements
Check
Package and installation details on this page
Processor
x64 / AMD64. On Windows ARM devices, first check app compatibility. This section does not offer a native ARM64 GUI installer.
Supported OS
Use a Windows version that still receives security updates. Check the selected client's installer prompts and release notes for its minimum OS version.
Permissions
Importing a regular profile and installing a service require different permissions. If TUN or service mode prompts for authorization, verify what is requesting access and why.
Before launch
Close the old client and note its port and system proxy settings. If a port is already in use, identify the process using it rather than repeatedly downloading another installer.
PLATFORM / MACOS
macOS Clients
Check the chip in the Apple menu > About This Mac. Apple Silicon uses ARM64; Intel uses x64. Some architecture links in this list share the same x64 file, as noted below. The link label does not guarantee the package's actual architecture. Open the DMG and follow the app's installation instructions, then grant any network permissions required by macOS.
Choose the DMG that matches your chip. After installing the app, import a profile and test the regular system proxy before enabling broader traffic routing. When upgrading, back up your profiles and avoid running both the old and new app at the same time.
For managing subscriptions and rules on desktop. Both links currently point to the same x64 DMG. Apple Silicon may require Rosetta to run it; this is not a native ARM64 build. If the app won't open, note the macOS message first, then check the architecture and supported OS versions.
Current listings: both Intel and Apple Silicon links provide an x64 build.
Both macOS links currently use the same AMD64 file. Check compatibility requirements before using it on Apple Silicon. After importing an existing profile, review DNS, proxy groups, and rule references; UI settings specific to another client are not necessarily portable YAML fields.
AMD64 is another name for x64; this is not a native ARM64 installer.
Keep this for maintaining existing setups and migrations. Both links point to an x86_64 file, which may need a compatibility environment on Apple Silicon. This archived client isn't recommended for new installations; check that its older core supports your current config first.
Archived app · Choose a maintained client for new installations.
macOS installation requirements
Check
What to check
Chip
Choose a native ARM64 build for Apple Silicon. Before using an x64 build, check Rosetta availability and app compatibility.
macOS version
Minimum requirements vary by app. Check the release notes and installer prompts for the app you download.
Package format
A DMG is a disk image. Complete the app installation before launching it; mounting the image alone doesn't install the app.
Permissions
System proxy, helper services, and network routing may each require separate permissions. Follow the prompts for each feature and avoid changing multiple settings at once.
PLATFORM / ANDROID
Android Clients
Most recent devices use ARM64; older devices may need ARMv7. A universal package can help when you're unsure of the architecture, but the app's system requirements still apply. When installing an APK, grant install permission only to the source you're using. The first connection usually requires Android VPN permission; make sure another VPN app isn't already connected.
For ARM64 devices. After installation, import a valid profile, check your proxy selection, and then connect. If Android's background restrictions interrupt the connection, check the app's battery and background activity settings instead of changing your subscription.
Architecture: arm64-v8a · Official site: clashplus.io
Offers ARM64, ARM, and universal builds for different device architectures. After importing a remote profile, check when it last updated. Subscription update failures and VPN startup failures happen at different stages, so check the update message and core logs separately.
If you know your device's architecture, choose the matching package.
Choose an APK for ARM64 or ARMv7. When migrating a profile, keep the original YAML and test the default network options first. Then adjust per-app settings and DNS one at a time to pinpoint whether an issue comes from system permissions or the config.
For users with a compatible Surfboard config. Its config format differs from Clash YAML; changing the file extension won't make it compatible. Before installing, confirm that your config provider supports this client and that your subscription's rules and protocols are supported.
Local universal APK · Requires a compatible config
Android installation requirements
Check
What to check
Architecture
arm64-v8a is ARM64; armeabi-v7a is ARMv7. Choose based on the app ABIs supported by your device, not just the processor's marketing name.
Supported OS
Minimum Android versions vary by client. If the installer reports incompatibility, check your OS version and device architecture first.
Connection permissions
Approve Android VPN permission when connecting for the first time. Disconnect any other active VPN before starting this client.
Background activity
If the connection drops when the screen locks, check battery optimization, background activity, and the manufacturer's auto-start settings.
PLATFORM / IOS
iOS Client
Install Clash Plus from the App Store. The store listing shows the app's current OS compatibility and release notes; check it before installing. For your first setup, import a compatible profile, add the VPN configuration when prompted by iOS, then start the connection in the app.
The App Store handles installation and updates. After importing a profile, make sure the subscription parsed successfully before granting network access. If another network app has an active VPN configuration, disconnect it before switching clients to avoid mistaking a system connection issue for a broken subscription.
Check the Compatibility section of the App Store listing for the current minimum iOS version.
Installation
Use the App Store link above. App updates are also handled through the store.
Network permissions
Add the VPN configuration when prompted by the app. On organization-managed devices, follow your device management policies as well.
Profiles
Have a valid subscription or local config ready. Installing the app only makes it ready to use; it doesn't import a profile.
PLATFORM / LINUX
Linux Clients
This section offers AMD64 desktop GUI clients. Choose DEB for Debian, Ubuntu, and other DEB-based systems; choose the matching RPM for RPM-based distributions. Check your distribution, desktop environment, and CPU architecture first. Don't rename a package extension to install it in a different format. For headless servers, use a core package instead of a GUI client.
For users with a desktop environment who want to manage profiles through a GUI. Install with your distribution's package manager to keep dependency checks and uninstall records in sync. If the window won't open, check the launch output in a terminal and verify desktop dependencies before troubleshooting proxy settings.
This AMD64 package is for DEB-based distributions. Check that your desktop environment and dependencies are supported before installing. The system proxy toggle usually affects only apps that honor desktop proxy settings. Terminal programs may need proxy environment variables of their own, so the toggle alone doesn't show where all traffic is going.
Format: DEB · Architecture: AMD64
Linux installation requirements
Check
What to check
Architecture
Run uname -m. The GUI packages here are for x86_64; for ARM hosts, see the core section.
Distribution
Choose DEB or RPM to match your package manager. Check installer dependency results for required library versions.
Desktop environment
A GUI client requires a working desktop session. Use a command-line core on servers and configure it as a service yourself.
Traffic routing
TUN affects permissions and routing. Keep a recovery path for remote access before enabling it, so you don't lose your current SSH session.
CORE / MIHOMO
Standalone Mihomo Core
For servers, routers, and users managing processes themselves. The standalone core has no GUI; you'll need to prepare the YAML config, startup options, and system service yourself. Desktop users should choose one of the GUI clients above; you don't need a separate core just to use a proxy.
The extracted binary must match the target device's OS, architecture, and runtime environment. For your first deployment, run it in the foreground and check the logs to confirm the config loads before setting up a service. Set the listen address, control API, and routing rules for your network. Never expose the control API directly to the public internet.
Check
Before deployment
Configuration
Prepare a readable YAML config and check its file paths and resource references. See the YAML guide for field details.
Permissions
Regular listening ports and TUN have different permission requirements. Follow the principle of least privilege and grant access only to features you actually need.
Process management
Confirm the startup command, working directory, and log location. Test shutdown and restart before enabling automatic startup.
Routers
Check the firmware architecture, endianness, floating-point ABI, and available storage. Keep your existing network configuration if installation fails.
BEFORE INSTALL / CHECKLIST
Installation and migration sequence
Confirm the package before changing network settings
Once the download finishes, install and launch the app, then confirm the UI and core run correctly. Don't import multiple subscriptions, enable TUN, and replace DNS all at once. Start with a config from a trusted source and establish a working baseline before adding overrides one by one. An app that won't open, a config that won't parse, and failed requests are three separate stages; keep the original messages from each when troubleshooting.
Keep your profiles; don't copy the entire data directory
For a migration, note your subscription URL, local YAML, custom rules, and any required port settings. Client databases, service paths, and window preferences may not be compatible across products, so don't overwrite the new app's data directory. Subscription URLs may contain credentials; keep backups somewhere secure and remove full URLs and authentication details before sharing logs or screenshots.
DOWNLOAD / FAQ
Clash download FAQs
Should I download a GUI client or the Mihomo core for my first setup?
Start with the GUI client for your operating system. It provides options to import profiles, switch modes, and view logs. The Mihomo core is for server and router users who want to write configs, manage processes, and set up system services themselves.
How do I identify x64, ARM64, and ARMv7?
On Windows, check System type in Settings > System > About. On macOS, check the chip or processor in About This Mac. On Android, check your device's processor specifications. On Linux, run uname -m. aarch64 usually means ARM64, x86_64 means AMD64, and armv7l means ARMv7.
Why might the Apple Silicon download link provide an x64 file?
For some clients, the Apple Silicon and Intel links point to the same x64 installer; the link label does not guarantee a native ARM64 build. Check the note under the button before downloading. Running an x64 app on Apple Silicon may require Rosetta. For a native ARM64 build, choose the Clash Plus package marked on this page.
Do I still need to import a profile after installation?
Yes. The installer provides the client, but you'll also need a valid local config or subscription. Import a Clash YAML config, check the proxy groups and rule targets, then enable the system proxy or configure TUN if needed.
How do I migrate an existing Clash for Windows setup?
Back up your subscription URL, local YAML, and override rules, then import them into a maintained client. Don't replace the entire application data directory. After importing, check that the core supports the fields you use, verify proxy group names and rule references, and make sure the old client is closed.
What should I check if the download won't install?
First, make sure the package format matches your operating system. Then check the CPU architecture, supported OS versions, and installation permissions. On Linux, also check the distribution's package format and dependencies. Keep the full error message instead of repeatedly reinstalling based only on a vague “won't open” description.