Migrate from ClashX to ClashFX: Backup, Import, Verify & Rollback
Understanding Product & Directory Differences
Before beginning migration, understand how ClashFX handles configurations compared to legacy ClashX:
- Active Development Focus: Development focus has shifted to ClashFX. The legacy ClashX website remains accessible as an archive for older builds, documentation, and troubleshooting resources.
- Independent Configuration Directories:
- Standard ClashX default directory:
~/.config/clash - ClashFX 1.1.11 default directory:
~/.config/clashfx
- Standard ClashX default directory:
- One-Time Copy Behavior: On its very first startup, ClashFX 1.1.11 checks if
~/.config/clashfxexists. If the folder does not exist, ClashFX copies your legacy~/.config/clashdirectory into~/.config/clashfx. If~/.config/clashfxalready exists (even if empty), this auto-copy is skipped to protect existing files. - Subscriptions Must Be Re-Added: Remote subscription URLs are stored in application preferences, not inside the configuration directory. You will need your subscription links handy to register them in ClashFX.
- No License Needed: ClashFX current core features (Enhanced Mode, remote subscriptions, and the YAML editor) are completely free. ClashFX Pro is a separate concept plan in preparation and is not required for migration.
Step 1: Create a Timestamped Terminal Backup
Before modifying any configuration files, create a safe, isolated backup of both directories. Open Terminal (Cmd + Space → Terminal) and execute this shell script:
(
set -e
task_stamp="$(date +%Y%m%d-%H%M%S)"
task_backup_dir="$HOME/.config/clashfx-migration-backup-$task_stamp"
mkdir -p "$HOME/.config"
mkdir "$task_backup_dir"
if [ -d "$HOME/.config/clash" ]; then
cp -a "$HOME/.config/clash" "$task_backup_dir/"
fi
if [ -d "$HOME/.config/clashfx" ]; then
cp -a "$HOME/.config/clashfx" "$task_backup_dir/"
fi
printf 'Backup successfully created at: %s\n' "$task_backup_dir"
)
Verify that the command outputs the backup directory path without errors. Keep this path handy in case you ever wish to roll back.
Step 2: Fully Quit ClashX
To avoid local port collisions on port 7890 or 9090:
- Click the ClashX icon in your top menu bar.
- Uncheck Set as System Proxy.
- Select Quit ClashX.
- Confirm that the icon disappears from your menu bar.
Step 3: Install & Launch ClashFX
- Download the latest Universal binary from our Download Page.
- Open
ClashFX.dmgand drag ClashFX to your Applications folder. - Launch ClashFX from
/Applications. - If prompted with a developer verification alert, navigate to System Settings → Privacy & Security and click Open Anyway.
- Once launched, ClashFX creates
~/.config/clashfx(copying your older configs if this is a fresh install).
Step 4: Re-register Remote Subscriptions
Because subscription links are stored in application preferences rather than YAML files, re-add your providers into ClashFX:
- Click the ClashFX menu bar icon.
- Select Remote Config Management → Manage Remote Configs.
- Click the + button.
- Input your subscription name and paste your provider’s subscription URL.
- Set the auto-update interval (e.g., 24 hours) and click Confirm.
- Repeat for any secondary subscription providers you maintain.
Step 5: Post-Migration Verification Checklist
Follow this checklist to confirm that ClashFX is operating correctly:
- Config Loaded: In Config, verify that your preferred YAML file is selected and has a checkmark.
- Nodes Available: Open Proxies and confirm your proxy nodes and groups appear.
- Latency Test: Click the latency test icon to ensure servers respond with valid millisecond ping times.
- System Proxy Active: Toggle on Set as System Proxy, then test web browsing in Safari or Chrome.
- Enhanced Mode (TUN): Toggle on Enhanced Mode, enter your macOS password once to approve the helper tool, and verify that terminal commands (
curl https://api.ipify.org) route successfully.
Step 6: Safe Rollback Procedure
If you encounter unexpected issues and need to revert back to ClashX immediately:
- Open ClashFX menu, turn off Enhanced Mode and Set as System Proxy.
- Quit ClashFX completely.
- Launch your original ClashX application.
- If configuration files in
~/.config/clashwere altered, restore them from your backup:# Replace with your actual timestamped backup folder cp -a ~/.config/clashfx-migration-backup-<TIMESTAMP>/clash/* ~/.config/clash/ - Select Set as System Proxy in ClashX to resume your previous setup.
Next Steps
- Explore the Enhanced Mode (TUN) Guide for system-wide routing.
- Check out the Built-in Config Editor to customize rules without external tools.
- Consult the macOS Troubleshooting Guide if any connectivity issues arise.
Get Started with ClashFX
Download and use ClashFX core features for free. Pro is in preparation with final features and pricing to be announced.
Frequently Asked Questions
No. ClashX stored subscription URLs inside its macOS application preferences (NSUserDefaults), which are not accessible by ClashFX. You must re-add your subscription URLs in ClashFX via Remote Config Management.
No. Both applications attempt to bind to the same default proxy ports (7890/9090) and install conflicting system proxy settings or TUN routing table entries. Fully quit one before launching the other.
Open the file in ClashFX's built-in YAML editor to check the error message. In most cases, errors stem from obsolete syntax or incompatible external rule file paths. ClashFX runs the mihomo core, which supports modern syntax.
Yes. By following our timestamped backup procedure, your original ~/.config/clash directory and ClashX settings remain untouched, allowing immediate rollback at any time.