Set Up Clash for Windows
Import a subscription, choose Rule mode, enable the system proxy, then check the connection log. Follow this sequence for a straightforward first setup, usually in about 10 minutes. Subscription and network issues may need separate troubleshooting.
Before You Start
On the download page, choose an installer that matches your Windows architecture. Most PCs use x64; check client support for ARM devices rather than relying on a similar-looking filename. Run the installer, follow the setup wizard, and open the main window. If you see a permission prompt, make sure it comes from the program you just installed before allowing it.
Next, get a subscription URL compatible with Clash or mihomo, or a valid YAML configuration. The client loads the configuration and routes traffic; it does not provide proxy servers. If you don't have a subscription yet, get a configuration from your service provider before continuing. Subscription URLs may contain access credentials, so don't post them on public forums or in screenshots.
For your first test, quit other proxy clients and note your existing Windows proxy settings. If your work device is managed by an organization, don't override its network configuration without permission. Leave the client's default settings unchanged at first; there's no need to modify DNS, listening ports, or override scripts in advance. Add features one at a time after the basic connection works.
Import a Subscription and Activate the Configuration
Open Clash Verge Rev and select “Subscriptions” in the sidebar. Find the field for the subscription URL, paste the complete link, and click the import button. Use a URL explicitly marked as compatible with Clash or mihomo by your service provider—not an account page, purchase page, or regular web address. Check that no spaces, line breaks, or punctuation from a chat app got copied along with the link. Don't remove any URL parameters.
After clicking Import, wait for the client to fetch and parse the subscription. A configuration entry should appear in the list; its name may come from the subscription or be generated by the client. Select the entry to make it the active configuration. If there are several, check that the highlight or selection indicator is on the one you just imported. Seeing a card in the list doesn't necessarily mean it's active.
Next, open the “Proxies” page and check for policy groups and available proxies. Group names depend on the subscription and don't need to match the examples in this guide. If the page is still empty, return to the subscription page to confirm the active configuration, then check for an error message or log entry. Don't repeatedly enable the system proxy before the configuration has loaded; your browser could be pointed to a local port that isn't working.
If you have a local .yaml or .yml file, use the file import option on the subscription page, select the file, and activate it. Don't paste the file contents into the URL field. Unlike a remote subscription, a local configuration usually won't fetch updates automatically. How you update it depends on its source, so keep a copy of the original file for recovery.
If the import fails, start by checking the error type. A request timeout usually means you should check whether your network can reach the subscription service. A parse error may mean the response isn't YAML but a login page, expiration notice, or another format. Opening a link in a browser doesn't guarantee the core can parse its contents. Never give a URL containing credentials to an unfamiliar online conversion tool. For a detailed checklist, see Troubleshooting Subscription Import and Parsing Errors.
At this point, you should have an active configuration and see its groups on the Proxies page. Before connecting, decide how traffic should be handled and which proxy to use for requests that need one.
Choose Rule Mode and a Proxy
Find “Outbound Mode” in the main window or Settings and select “Rule.” Rule mode matches each request against the rules in the active configuration—based on its domain, address, or other conditions—and sends it to the assigned policy group or direct connection. It's a good starting point for everyday use, but which sites use a proxy depends on the subscription's rules, not just this mode setting.
“Global” mode generally sends requests that reach the core to the GLOBAL policy group, making it useful for quick comparison tests. “Direct” mode sends those requests without a proxy. Global mode doesn't mean every program on your computer is covered: an app that doesn't use the system proxy and isn't handled by TUN may never send traffic to the core. For your first setup, don't change the traffic interception method and outbound mode at the same time; otherwise, it's harder to identify the cause of a problem.
Next, open the “Proxies” page and find the policy group used to select the main proxy. It may be called “Proxy” or have a custom name from your subscription. Expand it and choose an available proxy from your provider. If the list includes DIRECT, that means a direct connection, not a remote proxy. When testing access through a proxy, make sure the main selection group isn't set to this option by mistake.
Some configurations point the main policy group to an automatic selection group rather than directly to a proxy. You can keep this setup; just expand the next level and check that it contains an available proxy. The client's test button can help check whether a test destination is reachable, but the result only reflects that destination and the network at that moment. One successful test doesn't mean every site is accessible, and there's no need to switch proxies repeatedly to chase a particular number.
If the selected proxy is unavailable, first check whether the subscription has expired or been disabled, then try another proxy from the same subscription. If all proxies fail, check your local network and the subscription service before rewriting rules. For the difference between policy groups, proxies, and rules, see the Glossary. To add custom rules, consult the YAML guide to rule syntax.
Keep Rule mode and a clearly selected proxy for the next step. If you switch to Global mode for a comparison test later, note the current selection and restore it afterward so a temporary troubleshooting setting doesn't become your everyday configuration.
Enable the System Proxy and Connect
Open the client's “Settings” and check that the core has started normally, with no repeated startup, configuration loading, or listening errors. Find “System Proxy” and turn it on. This directs Windows proxy settings to the client's local listening address for browsers and apps that follow system proxy settings. Keep TUN off for the first test to make the traffic path as simple as possible.
Once the system proxy is on, return to your browser and reopen a page that should use the proxy. Existing long-lived connections may continue using the old route, so toggling the switch may not affect them right away. Close the old tab and try again in a new one. If you use a browser extension that manages proxies separately, check whether it's overriding the system settings. Otherwise, the client and extension may send traffic through different proxies than expected.
To check the Windows settings, open “Settings → Network & internet → Proxy” and see whether the manual proxy address and port match the client. Use the mixed proxy port shown in the client; don't copy a port from another guide. Avoid changing settings back and forth in both Windows and the client. Use the client's toggle when possible so you can more easily confirm that settings are restored when you exit.
If enabling the proxy immediately causes a local connection refused error, check the core status and logs in the client. Another proxy program using the same port can prevent the core from listening. Quit other clients and try again instead of changing several port fields at once. If you do need to change a port, update it in the client and re-enable the system proxy so Windows points to the new listening port, not the old one.
When to Enable TUN
If your browser works but a particular app still bypasses the client, first check whether the app has its own proxy settings. Some apps don't read the Windows system proxy; that's when you might need TUN. TUN uses a virtual network adapter to capture traffic and involves routing, DNS, and permissions. It's not simply a more powerful system proxy. Don't enable multiple traffic interception options just to load a web page for the first time.
When needed, follow the client's prompts to install or enable service mode, grant the required permissions, and then turn on TUN. The option may differ slightly between versions; use the service status and error messages shown in your client. Running another VPN or virtual network adapter at the same time can cause routing conflicts. If problems occur, turn TUN off and return to the system proxy setup that worked, then check each setting in turn. For further DNS adjustments, see the DNS configuration reference; there's no need to change DNS during your first connection.
Turning on the switch only configures traffic interception. You'll still need to verify it with an actual request and the connection log. Keep the current window open and move on to the final step.
Verify Rule Matches and the Connection
In your browser, open a site that should use a proxy according to your configuration, then switch to the client's “Connections” page. Refresh the site and check for a new connection to its domain or address. Review the matched rule, policy group, and actual proxy chain: the request should enter the expected group and use the proxy you selected. Don't consider the setup verified just because “System Proxy” is on.
If the connection list has no matching request, check that no filters are enabled, then review your browser's proxy extension, app-specific settings, and Windows system proxy. A page may reuse an existing connection, so close the tab and visit it again. If the page loads but the client shows no connection, it may simply be reachable directly; that doesn't prove the proxy is working.
If a connection appears but the actual route is DIRECT, the request was handled directly. Check which rule matched, then confirm whether the destination is supposed to connect directly. A direct connection doesn't necessarily mean the configuration is broken; Rule mode allows some traffic to bypass the proxy. For a quick comparison, switch to Global mode, make sure GLOBAL uses a proxy, and retry the same destination. Restore Rule mode afterward.
Next, use a trusted exit IP lookup site to compare the connection details before and after enabling the proxy. The lookup site is also governed by your rules, so it's normal to see your local network's exit address if it connects directly. Consider the exit IP, site accessibility, and connection log together; none of them alone shows how all traffic on your computer is routed. For apps with their own network stack, make a request from within the app to verify its route.
Finally, visit a commonly used site that should connect directly and check that your regular network access still works. If both the proxied destination and direct destination are accessible, and the connection log matches your configuration, the basic setup is complete. You can also try updating the subscription to confirm the updated configuration still loads. Only then consider enabling startup options. Check separately whether the client can automatically enable the system proxy; don't assume that starting the client will automatically route your traffic.
How to Disconnect and Restore Your Settings
When you're done using the proxy, turn off the system proxy first. If TUN is enabled, turn it off too, then quit the client from the system tray menu. Closing the window may only minimize the client to the tray, not quit the program. Following this order makes it easier to confirm that proxy settings and the virtual network adapter are restored without force-quitting the process.
If your browser can't connect after the client exits unexpectedly, open Windows proxy settings and check whether they still point to a stopped local listening port. On a personal computer, you can turn off the manual proxy set by the client. If your proxy was already configured by your organization or another program, restore the values you noted earlier rather than clearing everything. If the problem persists, reopen the client, check the logs, and note when the error occurred and what it said. Then troubleshoot in this order: subscription, proxy, traffic interception, and rules.