Before You Import: Is It a Subscription URL or a Single Node?
The Config page in Clash Verge Rev is where you manage configuration files. A remote subscription is a URL that returns configuration content: the client fetches the file and passes it to the core to load. The subscription provider supplies nodes and related settings; the client retrieves, parses, and uses them. They are separate things.
Start by checking the export format provided by your service. Choose a subscription labeled “Clash,” “Clash Meta,” or “mihomo,” and make sure it matches your current core. Clash Verge Rev uses the mihomo core, but that does not mean it can automatically turn any protocol link or any client’s configuration into usable YAML.
- Starts with
https://: It could be a subscription URL or just an account page. Check the actual response to determine whether it’s usable. - Starts with
ss://,vmess://, ortrojan://: This is usually a link for sharing a single node, not a complete Clash configuration. - File ends in
.yamlor.yml: It may be a configuration file, but the extension alone doesn’t confirm that the content is complete or valid. - QR code: It’s just a way to store text. It may contain a subscription URL, a single-node link, or a deep link for opening another client.
Method 1: Paste a Subscription URL on the Config Page
Remote URLs are convenient for ongoing use: when your nodes change, the client can fetch the latest configuration from the same address. Before importing, copy the complete URL. Don’t select nearby explanatory text or remove anything after the question mark.
- Open Clash Verge Rev and go to Config in the left sidebar.
- Find the subscription URL field and paste the Clash or mihomo URL provided by your service.
- Click Import and wait for the configuration card to appear. Button placement may change between client versions, so follow the label in your current interface.
- Select the new configuration card to make it active. Seeing the card alone does not mean the configuration has been switched.
- Go to Proxies and check that your groups and nodes are listed. Then choose a node or an automatic selection group as needed.
After Importing, Check the Configuration and Traffic Separately
First, check whether the configuration loads: the logs should not show recurring YAML parsing errors or references to nodes that don’t exist. Next, check how traffic is routed. Most browsers require System Proxy to be enabled; apps that ignore system proxy settings may need a proxy configured separately or TUN mode. A page failing to load doesn’t automatically mean the subscription import failed.
For testing, enable just one traffic-routing method at first to reduce variables. In Connections, check which rule matched a request and which policy group handled it. A node latency test only reports the result for that test request; it doesn’t confirm that every site, protocol, or app will work.
Method 2: Import a Local YAML Configuration File
Local files are useful for offline transfers, keeping a known-good configuration, or testing custom rules. On the Config page, choose New or the file import option, select the local configuration type, and import your file. The exact option name varies by version. If your version supports drag and drop, you can use it as prompted; don’t assume every version has this option.
- Get the YAML file from a trusted source. Open it in a text editor to make sure it contains configuration text, not a login page, error message, or download instructions.
- Keep a copy of the original and check for the configuration sections you need, such as
proxies,proxy-groups, andrules. - After importing, select the configuration and check the logs and Proxies page. If parsing fails, check indentation, colons, and policy group names first.
Local configurations generally don’t have a remote source for scheduled updates. If your provider adds nodes or changes passwords, the old file won’t update itself—you’ll need to download and import it again. If the file defines remote proxy-providers, those providers can update according to their own settings, but that updates resources referenced by the file, not the local file itself.
Understand YAML Structure with a Minimal Example
This minimal example shows how fields and indentation work; all traffic goes direct, with no proxy nodes. 7897 is an example mixed port. The actual listening port depends on the port setting in the client’s Settings and the final active configuration.
mixed-port: 7897
allow-lan: false
mode: rule
log-level: info
proxies: []
proxy-groups:
- name: Manual Select
type: select
proxies:
- DIRECT
rules:
- MATCH,Manual Select
YAML uses indentation to represent hierarchy. This example uses two spaces; don’t use tabs for indentation. The “Manual Select” reference in rules must match the policy group name. If you rename the group but not the rule, the reference will fail. Online subscription files may also be affected by client overrides, so check whether your changes will be overwritten during the next update before editing the original file.
Method 3: Scan a QR Code and Import Its Contents
Scanning a QR code is simply a way to retrieve text, not a separate configuration format. If your desktop version doesn’t have a QR scanner, use a phone or a local QR code reader to extract the text. Then securely send the subscription URL to your computer and paste it on the Config page. Don’t upload QR codes containing tokens to unfamiliar online scanning sites.
- If it’s an HTTPS subscription URL: Check that the domain matches your provider, then follow the URL import steps.
- If it’s a single-node URI: Go back to your provider and choose a Clash or mihomo subscription export. Don’t use a single-node link as a complete YAML configuration.
- If it’s a deep link for a specific client: Check which client it targets and what action it performs. If there’s no handler for that protocol, the browser can’t open the link; use the original subscription URL instead.
After copying the URL from your phone to your computer, check that your messaging app hasn’t truncated it and that it contains no line breaks, non-ASCII punctuation, or trailing spaces. A successful QR scan only means the text is readable; it doesn’t prove the subscription is still valid or that its response is compatible with Clash Verge Rev.
YAML vs. Base64: Configuration Structure and Encoding
Clash YAML is structured configuration text with fields for nodes, policy groups, rules, DNS, and more. Base64 is an encoding method—not a proxy protocol or encryption. A typical “Base64 subscription” decodes into multiple lines of node-sharing links. It usually doesn’t include complete Clash policy groups and routing rules.
| What to Check | Clash YAML | Typical Base64 Node List |
|---|---|---|
| Text Format | Fields, colons, indentation, and lists | Encoded text, often multiple lines of URIs when decoded |
| Node Definitions | Usually under `proxies` or proxy providers | Usually described by each individual sharing link |
| Policies and Rules | Can include `proxy-groups` and `rules` | Usually need to be generated separately |
| Import Process | Check that the core supports the fields and protocols before loading | Ask the source for a Clash-format export |
| Privacy Risks | May contain node passwords and remote resource URLs | Can be read by decoding; don’t share publicly |
Don’t change the file extension to convert formats
Saving Base64 text as subscription.yaml won’t create proxies or rules. Likewise, changing a file extension from .txt to .yaml won’t fix invalid syntax. Always judge the content itself—not the filename, the icon on the download button, or the URL’s ending.
The same subscription service may return different content depending on the export option, request parameters, or User-Agent. A browser showing a node list while the client gets YAML isn’t necessarily a problem. Use the Clash export URL explicitly provided by your service whenever possible. If you need to convert the content, choose a trusted tool and understand how it handles your data. Conversion services can access sensitive subscription information, so don’t submit it casually.
Update Intervals: Remote Configs vs. Proxy Providers
Set the remote configuration update frequency in the configuration card’s edit screen. The usual path is Config → the card’s menu or right-click menu → Edit. Look for the update interval field. Field names and units vary by version, so check the label before entering a value: if the unit is minutes, 360 means six hours; if it’s seconds, enter 21600 for six hours. Don’t copy a value from a screenshot of a different version.
A good starting point is every six hours; adjust based on your provider’s recommendations. If nodes rarely change, there’s no need to fetch updates every minute. Excessive requests may trigger rate limits. Click Update once and check the result, then see whether automatic updates work as expected. Automatic updates generally require the client to be running and a network connection to be available, so they won’t run like a regular online task while your computer is shut down or asleep.
`proxy-providers` interval is measured in seconds
HTTP proxy providers in a mihomo configuration can use interval to set the update frequency in seconds. For example, interval: 3600 fetches the provider’s content once an hour. This only applies to that provider; it doesn’t mean the client downloads the entire remote configuration every hour. Providers also have a separate health-check interval for testing nodes—don’t confuse it with subscription updates.
Import Failed? Troubleshoot the Request, Content, and Load Stages
- First, check whether the request succeeded. For a connection timeout, check your network and subscription domain resolution. For HTTP
401or403, check your token, authorization status, and server access restrictions. A429means too many requests; wait, then lower the update frequency. Don’t keep clicking Import. - Next, check the response content. An HTTP
200response can still contain a login or error page. If the content starts with<!DOCTYPE html>, check whether you copied an account page or the request was redirected to a verification page. - Then, check configuration parsing. If a YAML line error appears, check indentation, quotes, and colons on that line and the one before it. If a node type isn’t supported, check the export target and current core capabilities instead of repeatedly changing the listening port.
- Finally, check that the configuration is active. If the expected nodes aren’t on the Proxies page, make sure the right configuration is selected, then check whether it references proxy providers that haven’t downloaded successfully.
Importing, updating, and connecting through a proxy are three separate stages. Enabling TUN won’t necessarily fix a failed subscription download, and reimporting the same configuration may not fix a node connection failure. Note when the issue occurred, what you were doing, and the key error in the logs. Then change one setting at a time and compare the results.
Once setup is complete, do a quick check: the configuration card is selected, the Proxies page shows the expected policy groups, a manual update succeeds, and the Connections page shows where your traffic is going. New users can also follow the client setup guide to check system proxy settings and the first connection steps.