First-Time Setup · Four Steps to Connect

Clash Subscription Setup and Connection Guide

This guide follows a straightforward workflow: import a subscription → choose a proxy mode → connect → verify that it works. If you already have a client and a working subscription, allow about 10 minutes for the initial setup and checks. If installation or the subscription is the problem, fix that first. This guide skips advanced rules and network stack settings and focuses on a basic setup you can repeat and troubleshoot.

Before You Begin: Check Your Client and Subscription Source

Clash clients load configurations, run a proxy core, and provide a settings interface. Installing a client does not mean you have a working proxy route. Before continuing, get a subscription URL or configuration file from a trusted source and make sure it’s compatible with your client. Subscription links often contain access credentials. Treat them like passwords: don’t post them in public comments, screenshots, or unfamiliar online conversion tools.

First, make sure your device can connect to the current network without a proxy. Complete any required captive portal sign-in before continuing; subscription updates and node connections may fail if the underlying network is unavailable. Then quit other proxy or VPN tools that are controlling network settings to avoid conflicts. If you have an existing configuration, back it up before starting. You don’t need to delete all your old configurations to follow this guide.

This guide leaves the client’s basic settings unchanged. You don’t need to adjust DNS, enable TUN, or write rules first. If an unfamiliar term comes up, consult the glossary. For a complete overview of installation, overrides, and ongoing maintenance, see the user guide. Change one thing at a time during your first connection; it’s easier to track down problems that way than by enabling several advanced options at once.

Step 1: Import a Subscription and Enable the Configuration

Open Clash Verge Rev and select “Profiles” in the left sidebar. Find the field for entering a subscription URL, paste the full link from your provider, then click “Import” or the equivalent add button. Button locations may vary between versions, but make sure you’re adding a remote subscription URL—not a node name. If your provider offers several formats, choose one specifically marked for Clash or mihomo. Don’t use a regular web page URL as a configuration URL.

After pasting, check that your messaging app didn’t truncate the URL and that no spaces, line breaks, or punctuation were added at the end. The example below only shows what a URL looks like; it cannot be used to connect. Copy your own URL from your service’s account page. Don’t try to use the example by replacing just a few characters.

https://example.com/sub?token=xxxx

After a successful import, the subscription list usually shows a new configuration card with its name and update details. Select the card and make it the active configuration; adding a subscription to the list does not always switch the configuration currently in use. Next, open “Proxies” and check that proxy groups and available nodes appear. If the list still shows old content, return to the Profiles page, confirm the selected item, and update it. Don’t keep adding the same URL and end up with multiple hard-to-distinguish copies.

If you have a local .yaml or .yml file, use the client’s file import option, select the file, and then enable it. File imports and remote subscriptions update differently: a local file usually won’t fetch future changes from the provider. Configuration files may also contain node passwords, so limit who can access backups and shared files. Before editing one, save a copy of the original so you can undo changes.

If you see a download error, parse error, or empty list, first identify which stage failed. A download error usually means the URL, network, or subscription status needs attention. A parse error may indicate an incompatible format—or that the server returned a login page or error message instead of configuration data. A filename appearing in the client doesn’t necessarily mean the import succeeded. Changing proxy modes repeatedly won’t fix invalid configuration syntax. Get a compatible URL from your subscription provider, or see the installation, setup, and troubleshooting sections of the FAQ.

Step complete when: The subscription is active and the Proxies page shows the expected groups and nodes. Once confirmed, choose how to route connections.

Step 2: Choose a Rule Mode and Proxy Group

Open “Proxies” and find the mode switch for “Rule / Global / Direct.” Choose “Rule” for your first setup. In Rule mode, the client routes each connection according to the rules in the active configuration: some requests connect directly, while others go through a designated proxy group. This mode works well for everyday use and makes it easy to check whether rules are working. Switching modes won’t add a missing subscription or change whether the provider’s nodes are available.

Once you’ve chosen a mode, review the proxy groups on the page. Group names come from the subscription and may be “PROXY,” a localized name, or something else entirely; they don’t need to match this guide. Find the selector used by the configuration, expand it, and choose a node. If groups are nested, keep going until you reach an actual node rather than an unconfigured intermediate group. If the client offers a connectivity test, use it to help choose a node—but remember that it only tests a specific endpoint and doesn’t replace the real-world test later in this guide.

Some subscriptions select an automatic test group by default. If so, you don’t need to switch to a manual node. Check that the group has available options and isn’t set to DIRECT or REJECT: the former means direct connection, and the latter blocks the connection. If your subscription has groups for different purposes, check only the general proxy group and the group you plan to test. Leave the others as they are for now so you can troubleshoot one change at a time.

Mode How it works Recommendation for this setup
Rule Routes connections handled by the core according to the configuration’s rules. Use this for your first setup and everyday browsing.
Global Applies the global policy to connections handled by the core. Use temporarily to compare behavior when troubleshooting rules.
Direct Connects directly to destinations for connections handled by the core. Not suitable for verifying proxy egress.

Keep in mind that Global mode does not automatically route all traffic from every app on your device. The mode controls how traffic is handled after it reaches the core. System proxy or TUN settings determine how traffic gets there. So if no traffic-capture option is enabled, switching to Global mode may still leave browser requests untouched. If something fails in Rule mode but works in Global mode, check the rules and proxy groups. Restore Rule mode when you’re done troubleshooting.

Step complete when: Rule mode is active and the relevant proxy group has a selected node or automatic strategy. Next, send the app traffic you want to test through the client.

Step 3: Enable the Proxy and Connect

On desktop, go to “Settings” or the quick settings area on the home screen and enable “System Proxy.” Clash Verge Rev adds a local proxy to the operating system; browsers and apps that follow system proxy settings can then use it. Keep the client and its core running, then reopen the browser page you want to test. The connection may remain active if you close the window and leave the client in the system tray. If you quit the app, don’t assume the local proxy is still running.

For your first setup, use the system proxy only and leave TUN mode off. It’s a straightforward way to test common apps such as browsers and reduces variables related to virtual adapters, permissions, and routing. Some apps don’t follow system proxy settings, which doesn’t necessarily mean the subscription is broken. Once the basic connection works, decide whether you need TUN for those apps. For details on service mode, virtual interfaces, and permissions, see the relevant sections of the user guide.

If the system proxy switch turns itself off immediately or you see a port-in-use warning, check whether another proxy client is running. Don’t let two tools control the system proxy at the same time, and don’t delete system services you don’t recognize. The system proxy setting is useful only if the local listener is running. Check the port shown in the client’s settings. Defaults vary by client and configuration, so use the value shown in your setup rather than copying a number from a screenshot.

To configure a proxy manually in one app, the host is usually the local loopback address. For the port, use the HTTP or mixed port shown in the client. The examples below show only the local proxy settings; the port must match your client. For a first setup, the system proxy is enough—don’t add a separate proxy configuration in your browser as well.

Host: 127.0.0.1
Port: HTTP or mixed port shown in the client’s settings
Type: Choose a proxy protocol supported by the app

On mobile, look for “Start” or “Connect” on the client’s home screen rather than a desktop-style system proxy switch. The first time you connect, the system may ask to add a VPN configuration or approve a VPN connection. Check that the app name matches the client you installed before allowing it. The VPN indicator means the system connection is active; it doesn’t prove that the remote node is working. Verify actual access after granting permission.

If another VPN is already running on your mobile device, disconnect it before reconnecting with this client. After connecting, don’t immediately change background app settings, DNS, or advanced routing options; test in the foreground first. Work- or school-managed devices may restrict proxy settings or VPN permissions. Follow your device’s management requirements rather than repeatedly toggling the connection switch.

Step complete when: The desktop system proxy stays on, or the mobile client shows an active system connection, with no startup errors. This means the traffic entry point is ready; next, check whether traffic reaches the expected destination through the right route.

Step 4: Verify Access and Rule Matches

Return to your browser, open a new tab, and visit one destination that should use the proxy under your configuration, followed by one that should connect directly. Choose sites you know based on your own setup. Don’t assume every connection is working just because one page loads. Browser cache, existing long-lived connections, and the site itself can all affect what you see. Reload the page, close and reopen the tab if needed, and note the specific destination when something goes wrong.

At the same time, open the client’s “Connections” page and search for the domain you just visited. Some clients show the matched rule, proxy chain, or policy group in the connection details. If the configuration routes the domain through a proxy, the record should show the expected group and node. If it matches DIRECT, first check whether that’s what the configuration intends instead of assuming the proxy switch is broken. Short-lived connections may disappear quickly, so watch the list while refreshing the page.

Checking your public IP can be helpful, but don’t rely on it as your only proof. Rule mode can use different routes for different destinations, so an IP lookup page showing your local network’s egress may simply be configured for a direct connection. A more reliable check combines the destination domain, matched rule, active policy, and access result. An IP lookup page also can’t tell you whether DNS is leaking. For a dedicated DNS test, see the DNS section of the FAQ; avoid changing DNS settings before confirming the basic connection works.

If you can’t find any browser requests, revisit Step 3: is the system proxy still on, does the browser have its own proxy extension, and does the app follow system settings? If connections appear but time out, revisit the node selected in Step 2 and try another known-working option. If every node returns an authentication or connection error, return to Step 1, update the subscription, and check the service status. Don’t keep switching between TUN, DNS, and Global mode.

If you need logs, note when a failure occurs, then open “Logs” and check the entries around that time. Distinguishing a configuration load error from a remote connection failure or DNS resolution failure is usually more useful than just seeing “can’t connect.” When asking for help, share the client name, operating system, failed step, and a redacted error message. Never post a full subscription URL, node password, or configuration file containing credentials. You don’t need to keep the log level at its most verbose; restore your usual setting after troubleshooting.

If a destination loads in Global mode but fails in Rule mode, the issue is more likely in a matching rule or a proxy group referenced by that rule. Switch back to Rule mode, then check the connection details. Don’t change the routing behavior for everything just to make one site work temporarily. Advanced topics such as rule order, persistent overrides, and Fake-IP are beyond this getting-started guide; continue with the user guide for more.

Before quitting, check how the connection is stopped: on desktop, turn off the system proxy before exiting the client; on mobile, use the client’s Disconnect button. If the app crashes and your browser suddenly can’t connect, check whether a local proxy is still set in your system network settings. Configure startup on boot only after the basic connection is stable, then restart and test it. A client starting automatically doesn’t mean the proxy connection is working.