Why switch from Premium to the Clash Meta core?

After using a Clash GUI for a while, you may notice that newer protocols such as Hysteria2 and TUIC v5 are already listed in your config but never connect. That is often not a bad node—it is an outdated core.

Clash development effectively split into two lines: the original Clash Premium core, which stopped updating in November 2023 and was archived read-only on GitHub; and Clash Meta (official repo mihomo), which the community continues to ship with regular releases.

Here is how they compare in practice:

Aspect Original Premium core Clash Meta (mihomo)
Maintenance Stopped; repo archived Actively maintained
Hysteria2 Not supported Full support
TUIC v5 Not supported Full support
REALITY Not supported Supported
Rule Providers Basic Richer, more flexible
Config compatibility Backward compatible with typical Premium YAML

For day-to-day use, moving to Meta does not break your subscription profiles: Meta is designed to stay compatible with Premium-style YAML, so in most cases you only swap the core binary—no rewrite required.

Bottom line If your provider offers Hysteria2 or TUIC v5 nodes but they never work, check and upgrade the core first—before assuming the node or remote settings are wrong.

Before you upgrade

A few quick steps reduce the risk of a failed swap or lost data:

Back up your config

Whatever client you use, save copies of:

  • All profile YAML files (often under profiles/ inside the app data folder)
  • Subscription URLs (screenshot or paste into a text file if you have several)
  • Custom rules and overrides (e.g. Mixin / Override in Clash for Windows)

Check the current core version

Open Settings or About. If the version string includes meta or mihomo, you are already on Meta and may only need an update. If you see plain clash plus a version (e.g. clash v1.18.x), plan for a full replacement.

Download the latest Meta (mihomo) build

Easier path: use a client that bundles Meta Manual swaps are tedious and architecture-specific. Prefer a build from our download center—e.g. Clash Verge Rev on Windows or ClashX Pro on macOS—so you get a current Meta core without hunting for binaries.

If you must fetch the core yourself—for example to patch an old Clash for Windows—use the mihomo GitHub Releases page and pick the archive for your CPU:

  • Windows 64-bit: mihomo-windows-amd64.zip
  • Windows ARM: mihomo-windows-arm64.zip
  • macOS Intel: mihomo-darwin-amd64.gz
  • macOS Apple Silicon (M1/M2/M3): mihomo-darwin-arm64.gz
Pick a stable release The page lists both stable and Alpha builds. For daily use, prefer the latest release without alpha in the name.

Windows: replace the core in Clash for Windows

Clash for Windows (CFW) keeps its engine as a separate file, which makes a manual swap straightforward.

Where the binary lives

By default, look under the install path: resources\static\files\win\x64\ or win\ia32\ on 32-bit systems. The file is usually named clash-win64.exe (or the name that matches your architecture).

You can also open Settings → General → Home Directory in CFW and locate clash-win64.exe from there.

Replace step by step

  1. Quit Clash for Windows completely (including the tray icon) so the old process exits.
  2. Extract mihomo-windows-amd64.zip to get the new .exe.
  3. Rename it to match the old binary name (e.g. clash-win64.exe).
  4. Rename the original file to something like clash-win64.exe.bak, then copy the new file into the same folder.
  5. Restart CFW and confirm under Settings → General → Core Version that you see a Meta/mihomo build.
A better long-term option CFW itself is no longer maintained. For new installs, we recommend Clash Verge Rev from our Windows section: it ships with up-to-date Meta, receives updates, and can refresh the core from the GUI—no repeated manual file swaps.

Windows: Clash Verge Rev with Meta out of the box

Clash Verge Rev is a community fork of Clash Verge. It bundles the Meta (mihomo) core, has a modern UI, and is among the most actively maintained Windows GUIs. New users should usually start here instead of CFW.

Fresh install

Grab the latest .msi from our Windows download page. After installation, the bundled Meta core is ready—no manual core copy.

Migrate subscriptions from CFW

  1. In CFW, open Profiles, right-click a profile, and copy the subscription URL.
  2. In Clash Verge Rev, go to Subscriptions, click import, and paste the URL.
  3. Wait for the fetch to finish, select the profile, and activate it.
  4. Under Settings → Core (or similar), confirm the active core is Meta (mihomo).

Update the bundled core

Even Verge Rev may not ship the very latest mihomo. Open the core section in settings, use Check for updates, and let the app download and apply the new binary—much simpler than manual replacement on CFW.

macOS: swap the core inside ClashX

ClashX is a long-standing macOS GUI. Its engine is a file named clash (no extension) inside the app bundle, so you replace it via Show Package Contents.

Open the bundle

In Finder, right-click ClashX → Show Package Contents, then go to Contents/MacOS and find clash.

Replacement steps

  1. Quit ClashX fully (menu bar icon → Quit).
  2. Decompress mihomo-darwin-amd64.gz (Intel) or mihomo-darwin-arm64.gz (Apple Silicon).
  3. In Terminal: chmod +x mihomo-darwin-amd64 (adjust the filename to match what you extracted).
  4. Back up the original clash to clash.bak, rename the new binary to clash, and copy it into MacOS.
  5. macOS may block launch after tampering with a signed app. Allow it under System Settings → Privacy & Security, or clear quarantine: xattr -dr com.apple.quarantine /Applications/ClashX.app
  6. Relaunch ClashX and check the core string under Help → About.
Apple Silicon On M-series Macs, use the arm64 build. Installing amd64 by mistake will prevent the core from running and break all proxy traffic.

macOS: Clash Verge Rev with built-in Meta

Clash Verge Rev exists for macOS as well. Like on Windows, it embeds a recent Meta (mihomo) core and can update it from the UI—one of the most convenient options on Apple Silicon and Intel today.

Install the latest .dmg from our macOS download page, drag the app to Applications, and launch—no bundle surgery required.

For other clients and quick links, browse the full download center.

Enable Hysteria2 and TUIC v5

After the core swap, your YAML can use the protocols Meta adds. Hysteria2 and TUIC v5 are popular low-latency options on lossy or unstable networks.

Example: Hysteria2 proxy

Hysteria2 builds on QUIC and tends to perform well when packet loss is high. Add a proxy entry like this:

proxies:
  - name: "HY2 example"
    type: hysteria2
    server: your-server.example.com
    port: 443
    password: "your-password"
    sni: your-server.example.com
    skip-cert-verify: false
    fast-open: true

Example: TUIC v5 proxy

TUIC v5 also uses QUIC and improves handshake speed and multiplexing versus older TUIC lines. Example:

proxies:
  - name: "TUIC v5 example"
    type: tuic
    server: your-server.example.com
    port: 443
    uuid: "your-uuid"
    password: "your-password"
    alpn: [h3]
    version: 5
    skip-cert-verify: false
    congestion-controller: bbr

Put nodes into a proxy group

Add the new names to a proxy-groups entry (for example a URL-test / “auto” group); otherwise they appear in the list but no rule selects them:

proxy-groups:
  - name: "Auto"
    type: url-test
    proxies:
      - "HY2 example"
      - "TUIC v5 example"
      # ... other proxies ...
    url: "https://www.gstatic.com/generate_204"
    interval: 300
Managed subscriptions If you only import a provider URL, you often do not need to hand-write this YAML—after upgrading Meta, refresh the subscription so new protocol nodes from the provider appear automatically.

Verify the upgrade and fix common errors

Before relying on the new core, run a few quick checks.

Confirm the core string

In Settings or About, the version should mention meta or mihomo plus a semver (e.g. v1.18.x). If it still looks like the old Premium build, the binary path or filename is wrong.

Reload the profile

After reloading, skim Logs / Core log. Meta usually prints clear line numbers when YAML syntax or fields are invalid.

Typical errors

Message / symptom Likely cause What to do
unknown field: xxx Stale or unsupported YAML key Remove or rename the field per the Meta docs
bind: address already in use Port conflict Change the port in YAML or stop the other process
Core exits immediately Wrong CPU architecture (amd64 vs arm64) Re-download the matching build
macOS “cannot be opened” / Gatekeeper Modified bundle or quarantine Approve in Settings or run xattr -dr on the app
Hysteria2 never connects Server/client protocol mismatch Ensure the remote runs Hysteria2 (not legacy Hy1); ask the provider

Latency tests

Use the client’s proxy list and run a latency test. HY2 nodes that used to time out should return numbers once Meta is in place; QUIC stability versus the old core is usually noticeably better on the same nodes.

Closing thoughts

Upgrading the core is like swapping in a newer engine: many “network” or “node” issues were simply capability limits of Premium. At the same time, GUIs differ a lot—some need raw YAML for every tweak; others bury options deep in menus and make debugging painful.

The Clash clients we ship focus on fast onboarding: import subscriptions, pick nodes, and manage rules from the UI, with Meta bundled and updatable without manual file surgery. If your current app feels clumsy, they are worth a try:

Download Clash — Meta core included, multi-platform, ready to use without hand-replacing binaries.

For deeper YAML topics—policy groups, Rule Providers, DNS leak control—see more guides in our tech column.