On this page
When many entries disappear from the configuration list, clicking Restore can overwrite more of the current data. Preserve the remaining files and older backups before comparing which contains the pre-failure content. A local configuration that was deleted without a copy cannot be recreated from nothing, so save the entire application data directory first, then check each backup’s date and contents.
Profiles and overrides vanished after restart: did the log record a cleanup?
First check what is missing after restarting Clash Verge Rev v2.5.2: whether multiple subscriptions, local Profile entries, or global Merge/Script disappeared together and overrides returned to empty templates. A Profile is a configuration saved by the app. If this scope matches, check the startup logs for file deletion; a single subscription update failure or empty node list needs separate investigation.
Official issue #7577 records 30 of 32 Profile files being deleted during startup on macOS. Issue #7804 records 18 of 20 files being deleted on the next Fedora startup after a normal shutdown, with later comments also reporting Windows and macOS cases. These reports point to orphan-file cleanup during startup, not a subscription provider simultaneously removing every node.
Open the app log first and look for Removed file, Profile 文件清理完成, and an unusually high deletion count during a single startup. If the Profile still exists on disk and only the Proxies page is blank, troubleshoot core communication first. If the file exists but reports Invalid YAML, fix its formatting or fields first. If only one subscription update failed while other Profiles remain, do not immediately restore the entire app backup.
Use this guide only when all four signals appear together
| Check | Matches this article | If it does not match |
|---|---|---|
| Client version | Clash Verge Rev v2.5.2 or a build based on that code | Check the Release and issue for the version actually installed |
| Scope of the loss | Multiple subscriptions, local Profiles, or Merge/Script settings disappear together | For one subscription, check its response and update log first |
| When it happens | The first startup after exiting, shutting down, or restarting | If it disappears immediately after editing, check save and validation errors |
| Log evidence | Removed file or a cleanup-complete message with an abnormal deletion count | Without evidence, preserve the log instead of assuming files were deleted |
Preserve the entire app data directory before recovery
Restoring a backup rewrites the app data directory with config.yaml, verge.yaml, profiles.yaml, and the profiles directory from the archive. First copy the entire current directory and its clash-verge-rev-backup subdirectory to another location.
Keep a copy even if the current directory already looks incomplete. If you select the wrong backup or an old configuration overwrites newer changes, that directory copy lets you return to the state before the restore.
A standard installation usually stores data in the io.github.clash-verge-rev.clash-verge-rev folder under the system data directory. A portable installation uses the .config directory next to the program instead. If you are unsure, use the app-directory shortcut in the client settings. Do not delete data based only on a similar folder name.
Common app data locations
| System | Typical location for a standard installation |
|---|---|
| Windows | %APPDATA%\io.github.clash-verge-rev.clash-verge-rev |
| macOS | ~/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev |
| Linux | $XDG_DATA_HOME/io.github.clash-verge-rev.clash-verge-rev; when unset, it is usually under ~/.local/share |
| Portable version | Application directory/.config/io.github.clash-verge-rev.clash-verge-rev |
What to preserve before recovery
- A read-only copy of the entire app data directory
- Every existing ZIP in clash-verge-rev-backup
- The logs directory and the latest.log from when the failure occurred
- Any remaining profiles.yaml, profiles directory, Merge.yaml, and Script.js
- The original subscription URL or the provider's reimport option
The ZIP must contain both profiles.yaml and profiles/ and predate the failure
Clash Verge Rev v2.5.2 stores local backups in clash-verge-rev-backup inside the app data directory. Automatic backup filenames may include -auto-scheduled, -auto-merge, or -auto-script.
The official v2.5.2 backup includes the profiles directory, config.yaml, verge.yaml, optional DNS configuration and profiles.yaml in one ZIP. The reporter in issue #7804 recovered a global script from an auto-script ZIP made three days earlier. This type of backup may contain the complete configuration, not just a script.
Do not restore a ZIP merely because it opens. Copy it first, confirm that the archive contains both profiles.yaml and profiles/, then choose the newest one created before the failure.
A complete ZIP from before the failure
Prefer the built-in backup history for recovery, and keep a copy of the ZIP.
Only an auto-script or auto-merge ZIP is available
Check its timestamp and contents; it may still contain the complete configuration set, not just one script.
The ZIP is missing profiles.yaml or will not open
Do not write it into the active directory. Use an earlier backup or rebuild from the original subscription instead.
No ZIP is available
Preserve the remaining profiles files, then rebuild each item from its original source.
v2.5.8 removes this cleanup logic; back up before upgrading
The fixed v2.5.8 source no longer calls Profile cleanup at startup and preserves files if the configuration index fails to load. To upgrade, get the package for your platform from the official v2.5.8 Release. Keep your complete backup: upgrading cannot recover content that was deleted without a backup.
After installation, check the app version first. Recover missing content from a backup or its original source using the following sections. After recovery, check the Profile count and a real connection, then fully quit and restart the app to check again. Keep the current backup.
- Cleanup logic removed on the development branch
- On 9/2/2026, the maintainer confirmed in issue #7804 that commit 44f6f6e removed the unreliable cleanup logic and closed the issue. The commit is titled “preserve files until explicit deletion”; its code directly removes the startup call to cleanup_orphaned_files and the entire automatic-deletion implementation.
- Release status at the time
- As of 9/3/2026, the latest stable version in the official Releases is still v2.5.2, published on 7/19/2026, and its release notes do not include this later fix. Therefore, “issue closed” does not mean “fixed in v2.5.2,” and you should not move an everyday device to a development build solely to avoid this risk.
If the client opens, restore from its backup history
Keep the system proxy and TUN off. Go to Settings → Verge Advanced Settings → Backup Settings → Local Backup → View History. Select a backup from before the failure, export it outside the app data directory, then click Restore and confirm. Wait for the app to restart automatically; do not force it to quit. Check the Profiles after restart before enabling the proxy.
If the ZIP was moved elsewhere, use "Import Backup" to add the copy to the local backup list, then restore it from the history. Do not extract the ZIP directly into the directory of a running app. Built-in recovery reloads config, profiles, and interface settings after writing them; manual replacement can leave the files on disk out of sync with in-memory state.
Without a complete backup, rebuild each item from its source
When no usable ZIP exists, do not invent profiles.yaml references or arbitrarily rename randomly named files. Reimport each remote Profile from its saved subscription URL. For a hand-written local configuration, identify the copied profiles files from before the failure one at a time, create a new local Profile, paste in the content, and let the client regenerate the index relationship.
If an older copy of the global Merge.yaml or Script.js still exists, compare it in an offline copy first, then restore it through the client's global extension editor. Rewrite it only when no older content exists in any backup. Do not reconstruct complete rules that may contain secrets or internal domains from public screenshots.
If the subscription URL is also lost, retrieve or reset it through the original provider instead of piecing together a token from browser history, public logs, or someone else's configuration. Save the state after restoring each source so that a problem is traceable, rather than importing everything at once.
Choose the recovery method by content source
| Missing content | Preferred source | Recovery method |
|---|---|---|
| Remote subscription | The original provider account or a saved URL | Reimport it, then verify the node count and last-updated time |
| Local Profile | A saved YAML or a copy of the app directory | Create a new local configuration, import the content, and validate it |
| Merge/Script | A pre-failure ZIP or offline copy | Restore and save it through the global extension editor |
| Only scattered, randomly named files remain | The copied profiles directory | Inspect and identify each file; do not overwrite the index directly |
Verify Profiles, overrides, and a real connection after recovery
Do not enable TUN immediately after the app restarts. Check the Profile count, names, types and selected entry. Open Merge and Script to ensure key rules are not empty templates. Remote subscriptions should update manually, and a local Profile should pass validation and start Mihomo.
Next, select one known-good node, enable only the system proxy, and complete a real HTTPS request. Confirm the domain, rule, and outbound in Connections. Finally, fully quit and reopen the app once more, then check the Profile count and logs again. Recovery is stable only if the second startup also shows no abnormal deletions.
If recovery fails, restore the entire data directory saved before the operation
If restoring prevents startup, reduces the Profile count or fails configuration validation, fully quit from the tray and confirm the related processes have stopped. Do not try multiple ZIP files in succession. Save the restored directory and logs separately, then restore the entire original directory copy without mixing in unknown backups.
Keep TUN and the system proxy off first. If the client still does not work after rollback, leave it closed for now. Preserve the log, backup ZIP, and directory copy, then submit the redacted version, operating system, deletion count, and first error to the official issue. Do not uninstall virtual adapters, reset the entire system network, or delete all app data to repair a configuration.
Keep both automatic backups and an external copy going forward
After recovery, enable scheduled local backups in Backup Settings and keep “Back up automatically on critical changes” enabled. The v2.5.2 implementation creates archives on schedule and after global Merge/Script changes, retaining up to 20 automatic archives. This limit means the local directory is not a permanent history.
Export at least one verified ZIP outside the app data directory, or configure a WebDAV service you control. Before a major subscription-override change, client migration, or upgrade, manually create and export a backup. Run recovery drills only when a rollback copy is available.
Check local backups and external copies
- Scheduled local backups are enabled at a frequency that matches how often you make changes
- Automatic backups on critical changes remain enabled
- The newest ZIP has been exported outside the app data directory
- The archive has been confirmed to contain profiles.yaml and profiles/
- Subscription URL values, Profiles, and backups are never shared publicly
- When upgrading, use the official v2.5.8 verified in this guide or another stable release with evidence of the fix. If you already use a newer version, do not downgrade for this guide, and keep a complete backup
References
- Clash Verge RevmacOS report of v2.5.2 deleting active Profiles during startup
- Clash Verge RevFix commit that removes the unreliable Profile cleanup logic
- Clash Verge Revv2.5.2 local backup and recovery interface implementation
- Clash Verge RevConfiguration files included in a v2.5.2 backup archive
- Clash Verge Revv2.5.2 automatic backup triggers and retention of twenty archives
- Clash Verge RevClash Verge Rev v2.5.8 stable release and platform packages
- Clash Verge RevFixed v2.5.8 source with Profile cleanup at startup removed
- Clash Verge Revv2.5.2 backup import, restore, and in-memory state synchronization
