· Multi-Device · 10 min read
Share a Clash Subscription Across PC and Phone: Syncing Configs Across Devices
Compare sharing a subscription link, copying config files, hosting configs in private cloud storage, and reusing overrides—with steps and key precautions for each.
First, know what syncs: a subscription isn’t the same as all your settings
If Clash is already working on your computer, do you need to buy another subscription for your phone? First check your provider’s device limit, simultaneous connection limit, and data policy. If multiple devices are allowed, you can usually import the same subscription link on both your computer and phone. Each client fetches its own config; the phone doesn’t need to connect to the computer. Data usage is generally counted against the same account. Check your provider’s terms for details.
A subscription is a remote source for nodes or a complete config. The client imports and updates that config, then manages network traffic on its device. Using the same link on two devices only means they may fetch data from the same source; it doesn’t guarantee identical rules, node selections, or runtime settings.
- Subscription contents: May include nodes, proxy groups, rules, and DNS settings—or just a list of nodes.
- Local customizations: Include added rules, config overrides, scripts, and proxy group selections saved by the client.
- Device settings: Include the system proxy, TUN, startup behavior, and permissions. These usually need to be configured separately on each device.
How to choose among four sync methods
| Method | Best for | Updates and limitations |
|---|---|---|
| Import the same subscription link on each device | Using the same nodes on a personal computer and phone | Each device updates independently; local settings aren’t synced through the link |
| Copy config files manually | Migrating a config, keeping an offline copy, or maintaining a fixed test setup | Creates a snapshot when copied; later changes must be transferred again |
| Host a config in private cloud storage | Maintaining one complete custom config | Requires a directly accessible source file and reliable access controls |
| Reuse override rules or scripts | Keep personal rules consistent while nodes update from the subscription | Set up separately on each device; must match the client’s processing method |
For most personal setups, start by importing the same subscription link on each device. Add overrides only if you need to share custom rules. Cloud hosting means managing credentials, updates, and access permissions; there’s no need to set it up just to sync two devices.
Method 1: Import the subscription link on your computer and phone
Check the format before importing
- Find the subscription option in your provider account labeled specifically for Clash or mihomo. If only a generic subscription is available, first check whether your client can parse that format.
- On your computer, open the subscription management page. In Clash Verge Rev, for example, the usual path is “Subscriptions” → the link field at the top → “Import.” Button locations may vary by version.
- After importing, select the config and open “Proxies” to check that the proxy groups and nodes appear. Adding a subscription entry doesn’t necessarily activate that config.
- Send the link to your phone using a trusted, direct method. In the phone app, choose URL import from the “Config” or “Subscription” page, then save and enable it.
- Update the subscription on both devices, note when each update completes, and check that newly added or renamed nodes from your provider appear on both.
If the phone app requires a different config format, don’t assume the link is broken. First ask your provider for the correct format. If conversion is necessary, use a service you control or explicitly trust; the conversion provider can access your subscription credentials and node details.
Manage update intervals and node selection separately
If your computer updates every 6 hours and your phone every 24 hours, it’s normal for them to show different nodes at a given moment. These intervals are examples, not recommendations; follow your provider’s guidance. Background restrictions on phones can also delay updates, so don’t expect a scheduled update to run at an exact time.
Even proxy groups with the same name may not select the same node. Manual selections, automatic latency tests, and connection history are usually managed separately on each device. To troubleshoot a difference, temporarily select the same specific node in the matching proxy group on both devices. Once verified, restore your preferred automatic selection method on each.
Method 2: Copy a YAML config file manually
YAML is a common text format for Clash configs, and indentation defines its structure. Manual copying works well for migrating a verified config, but first distinguish the original subscription file from the runtime config. A runtime config may already include ports, DNS settings, overrides, and local paths added by the client, making it more likely to cause compatibility issues on another device.
- In the source client’s config manager, find the relevant config and use the open-file or export option to save it as
personal-config.yaml. Menu names vary by client. - Use a text editor to check
proxy-providers,rule-providers, and other external file references. Make sure the target device can access those resources too. - Transfer the file locally or through encrypted file transfer. On the target device, import it from a file and keep the existing working config as a fallback.
- First confirm that the config loads, then test the proxy connection. Switch to it for everyday use only after both checks pass.
Ports and file paths are the most likely things to break during migration
For example, the mixed proxy port in a computer config might be 7890, while another client listens on 7897. These are examples only; use the port shown in the target client and its final config. If your browser still points to 127.0.0.1:7890, the client may be running while the browser can’t connect to the internet.
Likewise, a Windows disk path can’t be copied as-is to Android. If the config references local rule files, move those resources too and update their paths to locations supported by the target client. A single YAML file may not contain everything needed to run the config.
A config imported from a file is usually just a snapshot of that moment. Even if some providers in the YAML can still update remotely, that doesn’t mean the entire config will automatically track the original subscription. Check that the target client has retained and recognized the remote subscription source.
Method 3: Host a complete config in private cloud storage
If several devices need to use a complete config you maintain yourself, you can host it at a controlled HTTPS URL. But being able to download a file from cloud storage doesn’t mean the client can use it for subscription updates. The client needs the raw config, not a login page, preview page, or download page with a CAPTCHA.
Check these four requirements before deployment
- Response content: The request must return YAML text, not HTML. Being able to view the file after signing in on the website doesn’t prove the subscription updater can access it.
- Authentication: If access requires request headers, cookies, or WebDAV authentication, make sure every client’s subscription updater supports it. A file manager’s WebDAV support doesn’t mean the Clash client supports the same authentication method.
- Link expiration: Temporary signed URLs may expire. If they need to be rotated, plan the update steps for every device in advance.
- Access controls: Grant only the file-reading permissions needed and keep backups of previous versions. Never put your cloud account’s admin key in a subscription URL.
Start by uploading a config you’ve verified locally, then manually update it on your computer and phone. Next, change one easy-to-identify test rule and update both devices again to confirm they received the new content. If one still shows the old version, check file caching, the subscription update result, and the actual request URL instead of repeatedly restarting every device.
Avoid creating a dependency in the update path: if the config URL is only reachable through a proxy, the first import may fail when the device has no working nodes yet. Make sure you have an accessible network for the initial import or a local file backup, so you can recover if routine updates fail.
Method 4: Maintain subscription updates and personal overrides separately
An override modifies the final config after the subscription loads, using a method supported by the client. This lets the subscription continue to manage nodes while you keep personal direct-connection rules and policy preferences locally. Editing the file generated by a subscription download can cause your changes to be overwritten at the next update.
Here’s an example rule for a domain you own and use for testing. example.com is a reserved example domain, not a real service address to add to your config. This snippet demonstrates rule syntax only; it isn’t a complete, runnable config or an override file supported by every client:
rules:
- DOMAIN-SUFFIX,example.com,DIRECT
DOMAIN-SUFFIX matches the specified domain and its subdomains; DIRECT sends traffic directly. Rules are matched from top to bottom, so personal rules that need to take priority should generally go before broader rules and any final catch-all rule.
Confirm how merging works before copying overrides to other devices
- Check whether the client supports rule insertion, YAML merging, or script processing. These are different interfaces.
- Read how the client handles arrays. Some merge tools replace the existing
rulesarray with the new one instead of appending to it; pasting the snippet above directly could remove the subscription’s existing rules. - Check the final config on the source device. Make sure personal rules are in the right order and the original proxy groups and fallback rules are still there.
- Set up the override again on the target device using a format it supports, then check the connection log to verify which rule actually matched.
If your computer supports JavaScript overrides but your phone only supports YAML merging, don’t copy the script and expect it to run. Sync the intent—what rules you need and in what order—and implement it separately on each device. Proxy group names referenced by rules must also match exactly; if the subscription renames a group, rules pointing to the old name may cause the config to fail to load.
Same subscription works on your computer but not your phone? Troubleshoot in this order
Step 1: Check whether the subscription parsed successfully
Open the subscription update result or log. For HTTP 401 or 403, first check credentials, access permissions, and account restrictions. For 429, check for request rate limits and don’t keep clicking Update. If the request succeeds but the config format is rejected, check whether the response is actually a login page and whether the target core supports the node protocol.
Step 2: Check whether app traffic is going through the proxy
A desktop system proxy only affects apps that follow the system proxy settings. TUN routes traffic through a virtual network interface and involves permissions, routing, and DNS; sharing a subscription won’t enable it automatically on another device. On Android, check that VPN access is authorized. On desktop, check the system proxy or TUN setting separately.
Step 3: Compare rules, DNS, and the target app
Select the same node on both devices, use rule mode, and visit the same destination. Compare the matched rule and exit route in the connection logs. If one device connects directly and the other uses a proxy, check local overrides and the final rules first. If both use the same node, check DNS, IPv6, network conditions, and any restrictions the destination service places on the exit IP. Differences between Wi-Fi and mobile data don’t necessarily mean sync has failed.
Step 4: Check plan limits and account status
Seeing nodes doesn’t guarantee your account can connect. Check your remaining data, expiration date, and simultaneous connection limit. When two devices share an account, background downloads on your computer can use the same data allowance as your phone. Repeatedly updating the subscription won’t solve data or connection-limit issues.
A low-maintenance setup for personal devices
For two or three personal devices, try this combination: import the same subscription separately, maintain personal rules through separate overrides, and manage device-level switches independently. For each device, note the client and core versions, subscription update time, actual port, operating mode, and override file location. Record only what each file is for and where it’s stored—never copy the full subscription key.
- Initial setup: Test the original subscription on both devices before adding personal rules.
- Routine changes: Change one type of setting at a time and keep the previous working config.
- After updates: Check the node count, proxy group names, and the match result for one key rule.
- Retiring a device: Remove its local subscription and backups. If you suspect the link has been exposed, reset the subscription credentials in your provider account and update the devices still in use.
The goal of syncing is to reduce duplicate maintenance, not make every device identical. You can standardize node sources and rule intent, while configuring permissions, routing, ports, and background behavior separately for each device. Keeping that distinction clear makes multi-device configs easier to update and troubleshoot.