Installation and Migration · Clash Technical Blog

Should You Upgrade to Clash Verge Rev v2.5.4-rc?

Clash Verge Rev v2.5.4-rc is still a pre-release. It fixes TUN in Windows service mode and removes portable mode. This guide covers backup migration, TUN validation, and rollback to v2.5.2.

  • Clash Verge Rev
  • v2.5.4-rc
  • TUN
  • Portable mode
  • Configuration migration
On this page

First Confirm That v2.5.4-rc Is Still a Pre-release

Clash Verge Rev v2.5.4-rc was released at 19:36 on 9/17/2026 (Asia/Shanghai), and the GitHub Release is explicitly marked Pre-release. At that time, the project's Latest stable version was still v2.5.2; seeing the v2.5.4 version number does not mean it has replaced the stable release.

This RC and the rolling AutoBuild include changes to the system proxy, service mode, subscription editing, node selection, port-conflict avoidance, and TUN. They also remove portable mode in favor of a single system app data directory. The build is suitable for people who will keep a complete backup, can validate desktop networking, and can roll back immediately, not for anyone planning to overwrite their only daily environment merely because the version number is higher.

If v2.5.2 currently works and you do not need to validate a specific fix from the release notes, staying on the stable version is a complete solution. Schedule a test with a rollback window only if you are troubleshooting an incorrect system proxy state, a service-mode timeout, Windows system/mixed TUN failing to capture traffic, or an urgent portable-mode migration.

Release Channels and Recommended Actions

Version ShownProject StatusRecommendation
v2.5.2Latest stable versionKeep it for daily use and wait for the next stable Release
v2.5.4-rc / AutoBuildPre-releaseTest only after backing up and confirming you can roll back
Only an in-app update prompt is visibleChannel not yet confirmedOpen the official Release first and verify the tag, date, and asset filename
Third-party package or extracted buildNot covered by the official release assurancesDo not use it to judge the v2.5.4 migration result

First Decide Whether You Need to Test These Changes

The release notes list many fixes, but before upgrading, choose only one target you can reproduce. If the interface shows the wrong state after a system proxy toggle fails, record the toggle state, the actual system proxy value, and one real request. If a service-mode operation times out, record the first error and whether later operations remain abnormal.

The recent issue #7915 has a narrow scope: a specific v2.5.4 AutoBuild in Windows service mode carried no traffic with the system or mixed TUN stack, while gVisor worked and rolling back to v2.5.2 restored traffic.

Service IPC then added a firewall rule for the core staged in %ProgramData%, and the main repository upgraded to 2.7.0 with that fix; the v2.5.4-rc release notes include it.

This does not mean every case of TUN carrying no traffic is caused by the firewall, nor should users disable Windows Firewall manually. Treat it as a reason to test the RC only when the version, Windows service mode, stack-specific behavior, and no-traffic symptom all match.

For portable-mode users, the first goal is not network validation but confirming where the configuration is read from. v2.5.4 explicitly removes portable mode and standardizes on the system app data directory. If the old installation stored data beside the program, in a Scoop directory, or in a custom location, find that old directory and save it separately first.

Scoop is a community-maintained distribution listed in the official documentation, which notes that it can support a changed configuration directory or portable use. The project also explicitly does not support issues caused by downstream channels. That is not the same assurance as v2.5.4 removing portable mode inside the app; Scoop users must also verify Scoop's own persistence directory and upgrade behavior.

The stable version works; you only want the newer version

Stay on v2.5.2 and wait for a stable release instead of taking migration risks for AutoBuild.

You use a portable build or custom data directory

Record the old data location and launch method, then back up both the old directory and the system data directory.

The system proxy toggle disagrees with the actual system state

Save a pre-upgrade baseline, then validate only the system proxy after upgrading without changing TUN and ports at the same time.

The system/mixed stack for Windows TUN does not capture traffic

Record the current stack, service status, and a consistent test target before evaluating the RC that includes the related fix.

The app, core, or all subscriptions fail to start

Restore the existing stable environment first instead of attributing every startup failure to this release.

Fully Back Up the System App Data Directory Before Upgrading

Exit Clash Verge Rev completely, confirm that the tray process and service operations have ended, and then copy the app data directory.

The official privacy documentation lists the Windows directory as %APPDATA%\io.github.clash-verge-rev.clash-verge-rev and the macOS directory as ~/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev.

Linux uses $XDG_DATA_HOME/io.github.clash-verge-rev.clash-verge-rev, usually under ~/.local/share.

The verge.yaml, config.yaml, profiles.yaml, and profiles/ entries in the directory are essential for restoring settings, subscriptions, and the Profile. logs/, service-logs/, cache.db, and Geo data can also help with comparison, but do not save only the logs and omit the configuration.

Store the backup outside the app's working directory and label it with the system, architecture, original version, and time. verge.yaml may store a WebDAV address, username, and password in plain text, while the Profile may contain a subscription token, node password, and UUID. Do not upload the raw backup to a public cloud drive or attach it directly to an Issue.

Official Data Directories

PlatformsApp Data DirectoryWhat to Back Up
Windows%APPDATA%\io.github.clash-verge-rev.clash-verge-revverge.yaml、profiles.yaml、profiles/、config.yaml
macOS~/Library/Application Support/io.github.clash-verge-rev.clash-verge-revThe complete directory and current app version
Linux$XDG_DATA_HOME/io.github.clash-verge-rev.clash-verge-revUsually under ~/.local/share; also record the actual XDG_DATA_HOME

Backup Completion Checklist

  • Clash Verge Rev is fully closed and is not writing configuration while the copy is made
  • The entire system app data directory has been copied to a separate location
  • The old portable or custom data directory has also been saved separately
  • The original version, system architecture, installation source, and backup time have been recorded
  • The raw backup remains private, and token, password, UUID, and accessed domain details have been removed from public evidence

Migrate the Data Before Leaving Portable Mode; Do Not Overwrite the Old Directory

The v2.5.4 release notes confirm only that portable mode is removed and the system app data directory is used consistently. They do not promise to discover every third-party portable package or custom directory automatically. Do not delete the old files first, and do not extract the new program directly into the old program directory expecting it to read the old configuration automatically.

While the old version still opens, record the current Profile name, subscription source, overrides and scripts, system proxy, TUN, service mode, and ports. Then back up both the data directory beside the old program and the official system app data directory. After installing the RC, let it create and use the new system data directory before restoring through the app's import or backup-recovery entry point.

If manual restoration is the only option, close the new version, preserve a copy of the directory it just created, and then copy the complete backed-up configuration set in one operation. Do not select only profiles.yaml, copy only profiles/, or mix old and new verge.yaml files; references and current selections across these files may fall out of sync.

Migrate from the Old Portable Environment

  1. Record the Old Environment

    Save the version, launch path, data directory, Profile list, overrides, ports, system proxy, and TUN state.

  2. Create Two Independent Backups

    Copy the old portable or custom directory and the current system app data directory separately; do not overwrite backups with the same name.

  3. Let the New Version Create Its Directory

    Install the official v2.5.4-rc, launch it once, confirm that it uses the system app data directory, and then exit completely.

  4. Restore from the Complete Backup

    Prefer the in-app restore function. For a manual restore, keep the file set consistent and preserve a copy of the new version's initial directory.

  5. Verify the Profile Before Enabling TUN

    After confirming that the subscription, policy groups, and selected node are correct, test the system proxy first and restore service mode and TUN last.

Install the Matching Architecture Only from the Official GitHub Release

The official Clash Verge Rev documentation says the project currently publishes only through GitHub Release. To test v2.5.4-rc, open the official Release for that RC, confirm that the page is marked Pre-release and targets commit c7ffb212, record the publication time and asset filename, and then choose the asset for your system and architecture.

Standard Windows devices usually use x64; ARM Windows uses arm64. Consider the larger build with fix_webview2 in its filename only when WebView2 is missing and cannot be installed, or when the normal package cannot open the interface. On macOS, distinguish Apple silicon from Intel. On Linux, match both the distribution package format and CPU architecture.

Before installing, save the asset filename and download time. Do not use a third-party portable build, download a similarly named installer from a search ad, or mix the resource directories of the stable version and RC. If you have only one production environment, prepare the official v2.5.2 installer and a complete data backup before starting the test installation.

Final Pre-installation Checks

  1. Verify the Release Tag

    The page must be the v2.5.4-rc Release in the official repository and must be explicitly marked Pre-release.

  2. Verify the System and Architecture

    Do not mix Windows, macOS, and Linux installers; x64, arm64, Apple M, and Intel must also match the device.

  3. Keep Rollback Materials

    Keep the official v2.5.2 installer, the complete data backup, and the old portable directory.

  4. Close the Old Instance Before Installing

    Exit the old version completely so that two interfaces or cores cannot modify the same data directory at once.

Do Not Edit Cached Copies in Service Mode

The v2.5.4 Release leads with an important warning: in service mode, rule-set and proxy-set files in the configuration directory are only cached copies, so editing them manually does not affect the running core. Files you maintain yourself should use type: file in the configuration instead of editing service-generated caches.

This AutoBuild also adds multi-user isolation in service mode and migration for upgrades from the old service, and fixes continuing errors or abnormal state after an operation times out. After upgrading, confirm the service installation status and current user in the interface, then inspect the app logs and service-logs. The continued presence of an old cache does not prove that the new core loaded a manual edit.

If the original configuration relies on manually edited provider caches, restore the backup first and convert the rule sets or proxy sets you actually maintain into explicit local file providers. Migrate only one file at a time, then reload and verify it through connection records or rule matches. Do not perform the service migration, provider migration, and subscription update simultaneously.

Verify the System Proxy First, Then Test TUN Separately

After restoring the Profile, turn off TUN and enable only the system proxy. Complete one real HTTPS request through the same node, then confirm its target, rule, and outbound in Connections. Next, turn off the system proxy and confirm that the operating system's proxy state is restored in sync. This step validates the system-proxy state and restoration fixes from the release notes.

Only after the system proxy is stable should you install or upgrade the service and enable TUN. On Windows, if the original problem occurred only with the system or mixed stack, retest with the same node and target. Do not change gVisor, DNS, ports, and overrides at the same time. On macOS and Linux, focus on confirming that authorization, bypass rules, and service logs no longer show the old permission error.

v2.5.4 adds the Mips stack option for TUN, and the Release explicitly requires Mihomo v1.19.31 or later. If you do not have that core version or a specific test objective, do not switch stacks merely because the option is new.

Layered Validation

LevelWhat to VerifyFirst Action on Failure
App and ProfileSubscriptions, policy groups, selected nodes, and overrides are all presentStop at the app layer and restore the complete backup first
System proxyThe toggle matches the actual system state, and a real HTTPS request appears in ConnectionsTurn off the toggle, restore the system proxy, and then inspect the logs
Service modeThe current user can install, start, and perform operations, with no persistent errors in service-logsUninstall or disable the service and return to the system proxy
TUNThe same target is captured, DNS and routing work, and networking recovers after capture is disabledDisable TUN and do not switch through multiple stacks in succession
MipsThe core is at least v1.19.31, with a separate traffic-capture testRestore the pre-upgrade stack

Use the Same Requests for Upgrade Acceptance Testing

A version number and a working interface prove only that installation completed, not that migration succeeded. Restart the system and Clash Verge Rev once, then use the same Profile, node, and HTTPS target saved before the upgrade to validate app startup, system proxy, service mode, and TUN in order.

Also verify that the system app data directory actually saved the new changes and that the Profile, selected node, overrides, and ports do not revert after restart. When using a local rule set or proxy set with type: file, confirm that the runtime configuration references the source file rather than a service cache copy.

During testing, do not delete the old portable directory, the v2.5.2 installer, or the pre-upgrade backup. Complete at least one restart and one direct-connectivity recovery after disabling the proxy before deciding whether to keep using the RC.

v2.5.4-rc Acceptance Checklist

  • The running version clearly shows v2.5.4-rc, and the target commit and asset filename are recorded
  • Data comes from the system app data directory, while the old portable directory remains a read-only backup
  • Subscriptions, Profile, overrides, scripts, policy groups, and the selected node are intact
  • The system proxy state shown in the interface matches the operating system's actual state
  • Service-mode operations complete, with no persistent errors after a timeout in the logs
  • TUN completes a real request with the original stack, and system networking recovers after it is disabled
  • Manually maintained providers use type: file, and cached copies are no longer edited
  • The configuration persists after restarting the system and app, and two instances are not running at once
  • The v2.5.2 installer, complete data backup, and rollback steps remain usable

Roll Back Completely to v2.5.2 If Anything Goes Wrong

If the RC will not start, configuration migration is incomplete, or the system proxy or TUN develops a new regression, disable TUN and the system proxy first, exit the app completely, and confirm that the operating system has recovered direct connectivity. Do not keep updating subscriptions or repeatedly overwrite the data directory while the system is in an abnormal state.

After saving a copy of the v2.5.4 failure state, restore the program with the official v2.5.2 installer and restore the complete pre-upgrade data backup as one unit. Do not replace only the executable while continuing to use configuration files partially rewritten by the new version, and do not combine old and new resource files.

After rolling back, confirm the version and Profile first, then validate the system proxy, service mode, and TUN in that order. If the old portable version was stable, you can temporarily restore the old program and data directory, but keep them separate from the system data directory while waiting for clear migration guidance in a later stable release.

Safe Rollback

  1. Restore Direct Connectivity

    Disable TUN and the system proxy, exit the RC completely, and confirm that normal networking works without a local proxy.

  2. Preserve the Failure State

    Copy the current v2.5.4 data directory and redacted logs without overwriting the pre-upgrade backup.

  3. Restore the Stable Program

    Install v2.5.2 for the original system architecture from the official Release.

  4. Restore the Complete Data Set

    Restore the complete pre-upgrade backup without mixing individual old and new files.

  5. Validate Each Layer

    After confirming the Profile, test the system proxy first, then service mode and TUN, and finish by restoring direct connectivity after disabling them.

Use a Stable Release to Decide When the Migration Is Complete

As of 9/17/2026, v2.5.4-rc and AutoBuild were both pre-releases, while v2.5.2 remained the Latest stable version. Going forward, rely on the project's official Release page to see whether a new stable version is published and whether it retains the portable-mode removal and data-directory guidance. Do not infer a stable release date from a pre-release version number.

When a stable release arrives, repeat the same migration validation: make a complete backup, confirm the system data directory, restore the Profile, test the system proxy first, test service mode and TUN next, and validate rollback last. A successful AutoBuild test does not replace validation of the stable release.

If you need to report an issue, provide the system, architecture, installation channel, old and new versions, old data directory and new system directory, first relevant log entry, and minimal reproduction steps. Before posting publicly, remove the subscription token, node credentials, WebDAV details, accessed domains, and complete local paths.

References