Packages · Platforms & Architectures

Clash Downloads.

Choose your device’s operating system, then select a package format. Use a graphical client on desktop or mobile; for servers and routers, see the Mihomo core.

Installers and subscription configurations are managed separately. Before switching clients, keep your existing configuration and local overrides so you can migrate them one at a time.

Windows clients

Start with an installer that includes a graphical interface. Desktop downloads here are primarily for x64 systems. If your device runs Windows on ARM, check system and app compatibility first; an ARM64 core is not a graphical client installer.

Clash Verge Rev

Clash Verge Rev

A good fit if you want to manage configurations and rules with desktop integration. After installation, check the service and core status. The system proxy and TUN work differently; when prompted for permission, verify which feature is requesting access instead of toggling everything.

Follow the installer’s runtime requirements. If it reports a missing desktop component, resolve that first before troubleshooting your subscription.

FlClash

FlClash

A good fit if you want a similar workflow across desktop and mobile. After importing a configuration, check that its policy groups contain selectable options, then test access. A successful import only means the configuration was read—it doesn’t mean every app on your system is using the proxy.

Before upgrading, keep copies of your local rules and configuration. This helps keep interface preferences separate from subscription data during migration.

Clash Nyanpasu

Clash Nyanpasu

Another Windows graphical client option. When comparing clients, consider more than the interface: check how configurations are merged, what the core supports, and whether service permissions fit your workflow. Don’t overwrite the old client’s data directory; test with a configuration copy first.

Before switching clients, quit the old one and turn off the system proxy it configured to avoid port conflicts and overlapping traffic control.

Clash for Windows

No longer maintained

This archived installer is mainly for recreating older environments and referencing configurations during migration. It’s not recommended for new installations: older cores may not support newer subscription fields or protocols. Being able to import a file doesn’t mean every setting in it will work.

Keep a copy of your old configuration before migrating. For help choosing a client, see Compare clients.

Windows Requirements & Setup

Windows pre-installation checklist
ItemWhat to chooseBefore installing
Processor architectureThis section mainly offers x64 installersCheck the system type in Settings. For ARM devices, verify compatibility separately.
System and dependenciesFollow the selected client installer’s requirementsInstall system updates. If a runtime component is missing, resolve that dependency first.
Traffic permissionsConfigure the system proxy and TUN separatelyGrant permissions only when you need the service or virtual interface. Avoid having multiple clients manage traffic at once.

Three checks before installing

System, architecture, and configuration

These determine whether the app can install, launch, and connect. Check them in order to pinpoint problems more easily than by changing several settings at once.

First, check your system architecture

AMD64 doesn’t mean it only works with AMD processors; it’s the x86 64-bit architecture used by common Intel PCs too. ARM64 is a different build target. Even with 64-bit hardware, your operating system may support only certain app architectures. Check your system information before downloading.

Next, check the package format

EXE, DMG, APK, DEB, and RPM each require a compatible environment. A compressed core is usually just an executable; it won’t create a graphical interface, desktop shortcut, or complete service for you. If your Linux package manager reports missing dependencies, resolve them before starting the client.

Finally, check your configuration source

The client, subscription, and core are separate components. Updating the app won’t fix an expired subscription, and refreshing a subscription won’t update the app. First confirm the configuration loads, then check the policy groups and traffic routing mode. For protocol compatibility, see the core technical reference.

Command-line deployment

Mihomo core

For servers, routers, and users who manage their own startup process. Desktop users should choose a graphical client above. The core package has no subscription management interface; you’ll need to manage configuration directories, listening ports, logs, and system services yourself.

Mihomo core packages and archives
SystemArchitectureFormat and deployment notesDownload
WindowsAMD64ZIP; extract, then run from a terminal Download AMD64 ZIP
WindowsARM64ZIP; for compatible ARM64 systems Download ARM64 ZIP
macOSIntel / AMD64GZ; set executable permissions after extraction if needed Download Intel GZ
macOSApple Silicon / ARM64GZ; native ARM64 core Download Apple Silicon GZ
LinuxAMD64DEB; for compatible package management systems Download AMD64 DEB
LinuxAMD64GZ; manual extraction and deployment Download AMD64 GZ
LinuxARM64GZ; for common aarch64 devices Download ARM64 GZ
LinuxARMv7GZ; for compatible 32-bit ARM environments Download ARMv7 GZ
LinuxMIPS-softfloatGZ; check byte order and software floating-point support Download MIPS-softfloat GZ

Before starting

Prepare your own configuration file and make sure its ports aren’t already in use. Run the core in the foreground first to check that the configuration parses, then set up a background service. Enabling automatic restarts right away can turn a configuration error into a restart loop, making the original error harder to spot.

Permissions and services

A standard proxy listener and a TUN interface have different permission requirements. Configure the relevant permissions only when you use those features; don’t grant the entire service broader privileges just to make it start. For rules, DNS, and protocol compatibility, see the protocol and core reference.

Download FAQs

Set up the configuration after installation, then adjust advanced features once the connection works. These questions can help distinguish package issues from runtime settings.

Should I download a client or the Mihomo core to get started?

For everyday desktop and mobile use, choose a graphical client. It provides options to import subscriptions, select policies, and review connection logs. The Mihomo core is for users who manage configuration, startup parameters, and system services themselves; downloading the core alone does not provide a graphical interface.

What’s the difference between AMD64, ARM64, and ARMv7 downloads?

AMD64 is also called x64 or x86_64 and works with common 64-bit Intel and AMD processors. ARM64 is also known as aarch64 or arm64-v8a. ARMv7 is for some older 32-bit ARM devices. Choose an architecture supported by your operating system—not just one based on the processor brand.

Which Linux download should I choose: DEB, RPM, or a core archive?

Choose DEB for Debian, Ubuntu, and compatible systems; choose RPM for Fedora and other RPM-based distributions. Check the package architecture too. A graphical client is suited to everyday desktop use, while a core archive is for manual deployment—you’ll need to manage services, permissions, and configuration directories yourself.

Why can’t I connect right after downloading and installing?

Client installers don’t include a ready-to-use personal subscription. After installation, import a subscription you’re authorized to use or a local configuration, select the configuration and policies, then enable the system proxy or TUN if needed. Follow the Getting Started guide to establish a basic connection before adjusting rules.

Should I install a client that’s no longer maintained?

Archived clients are mainly useful for recreating older environments, opening legacy configurations, and migration. For a new installation, choose a maintained client: older cores may not support newer protocols or configuration fields. Keep a copy of your original configuration during migration, and remove the old client only after confirming the new setup works.

What should I keep before upgrading a client?

Keep your subscription source, local configuration, rule overrides, and any essential connection settings. Note the status of the system proxy, TUN, and launch-at-startup options. Data directories and configuration merging vary between clients, so test an imported copy in the new client first. Don’t let two clients manage the same network settings at once.

Already installed but still having trouble? Search the FAQ by issue. For subscription format help, see Subscription guide.