Installed ClashX on macOS but not sure what to do next? The application window is small, yet the first setup involves several concepts: a subscription URL, a profile, proxy nodes, system proxy mode, and traffic rules. If any one of these is misunderstood, ClashX may appear to be running while websites still connect directly or selected nodes fail unexpectedly. This practical guide explains how to import a Clash subscription, update it safely, test and switch nodes, choose a suitable proxy mode, and troubleshoot the most common beginner mistakes.

How ClashX, Profiles, Subscriptions, and Nodes Work

ClashX is a macOS client built around the Clash proxy engine. It places a Clash process in the background and provides a menu-bar interface for controlling profiles, proxy modes, and node groups. In normal use, you do not manually enter the server address, port, UUID, encryption method, and transport settings for every node. Instead, your provider gives you a subscription URL. ClashX downloads that URL, parses the returned configuration, and displays the available nodes in its proxy groups.

It helps to separate four terms before starting:

  • Subscription: A provider-managed URL that returns a Clash-compatible configuration. It may contain many nodes and rules, and it can usually be refreshed when the provider changes or adds servers.
  • Profile: The local copy of a subscription or configuration loaded by ClashX. A profile is the file ClashX actually uses at a given moment.
  • Node: One proxy server entry, often identified by a location, protocol, or bandwidth label such as US-01, Tokyo Premium, or Singapore-02.
  • Proxy group: A collection of nodes controlled by a selector such as PROXY, Auto, or Proxy. You normally choose a node through a group rather than selecting a raw node from the configuration file.

A subscription URL is sensitive information. Anyone who obtains it may be able to download your node list or consume your provider's subscription quota. Do not paste it into public forums, screenshots, issue trackers, or online tools that you do not trust. If the URL is accidentally exposed, revoke or regenerate it from your provider's account panel whenever possible.

Important distinction: importing a subscription does not automatically mean all traffic is proxied. You still need to select a profile, choose a node or proxy group, and enable the macOS system proxy when you want ordinary applications to use ClashX.

Importing a Clash Subscription into ClashX

Before importing anything, copy the complete subscription URL supplied by your provider. It commonly begins with https://, although some services provide a subscription-conversion URL rather than a direct configuration file. If the provider offers a specific Clash, ClashX, or Mihomo format, use that option instead of a generic URL. Different clients support different configuration fields, and a profile generated for another application may not load correctly.

The exact menu wording varies slightly between ClashX releases and forks, but the workflow is generally the same:

  1. Launch ClashX and confirm that its icon appears in the macOS menu bar.
  2. Click the menu-bar icon and open the profile or configuration section.
  3. Choose the option for importing a remote profile, downloading a profile, or adding a subscription.
  4. Paste the complete subscription URL into the URL field.
  5. Give the profile a recognizable name, such as My Provider - July 2026.
  6. Confirm the import and wait for ClashX to download and parse the configuration.
  7. Click the newly imported profile so that it becomes the active profile.

Some ClashX builds allow you to paste a URL directly into a profile dialog, while others first ask you to create a profile entry and then provide a separate update command. If you see a profile name but no nodes, the profile may have been added without being downloaded, or it may not be the active profile. Select it and look for an update, refresh, or download action.

Typical Subscription Profile Values
Profile name:  My Provider
Source type:   Remote subscription
Update URL:    https://provider.example/subscription/clash
Format:        Clash-compatible YAML
Update cycle:  Manual or provider-defined

After the download completes, open the profile preview if ClashX provides one. A healthy profile normally contains sections such as proxies, proxy-groups, and rules. It may also include dns, tun, or provider-specific settings. You do not need to edit every section as a beginner. First verify that the file was parsed and that at least one proxy group contains nodes.

Never replace a subscription URL with a temporary downloaded file unless you understand the consequence. A local file may work today but will not receive future node changes. Keep the remote subscription as the profile source and use the update function to refresh it.

Updating the Profile and Checking Its Health

Subscription providers change node addresses, certificates, ports, and routing metadata regularly. A profile that worked last week can become stale even when your subscription account is still valid. Updating the profile downloads a fresh configuration from the saved URL. It does not usually mean that every node is guaranteed to work; it only ensures that ClashX is using the provider's latest published data.

To update a profile, open the ClashX menu-bar menu, locate the active profile, and select the update or refresh command. Wait until the download finishes before switching profiles or quitting the application. If there is an update interval setting, a daily or several-hour interval is usually reasonable. Updating every few minutes creates unnecessary requests and may trigger provider-side rate limits.

When an update fails, check the message rather than immediately deleting the profile. Common causes include an expired subscription, a copied URL with missing characters, a provider quota limit, temporary server downtime, or a network that blocks access to the subscription domain. A successful browser request is not always proof of a valid Clash profile: some URLs return a base64-encoded subscription, a redirect page, or an HTML login page instead of YAML.

Use the following checklist after importing or updating:

  • The profile has a recent update time.
  • The configuration loads without a YAML parsing error.
  • Proxy groups are visible in the menu.
  • Nodes have readable names and are not all marked unavailable.
  • The active profile is the one you intended to use.
  • The provider has not suspended the subscription because of expiration or traffic limits.

Do not judge a node only by its name or by a single ping number. A node can respond quickly to a TCP or HTTP test while failing to load a particular website, suffering from packet loss, or becoming slow during peak hours. Conversely, a node with a slightly higher latency can provide a much more stable browsing experience.

Understanding Latency and Availability Tests

ClashX may display latency in milliseconds, often through a URL test or node test function. This value measures the time required to reach a test endpoint through the node. It is useful for comparing nodes under the same conditions, but it is not a complete speed measurement. Latency does not directly show download throughput, video buffering performance, packet loss, or how well a node works with a specific destination.

For everyday browsing, prioritize a node that is stable and reasonably responsive rather than choosing the smallest number every time. Test two or three nodes from different locations, open the sites you actually use, and observe whether pages load consistently. If the provider includes an automatic group, let it run for several minutes before deciding that it is broken.

Selecting and Switching Proxy Nodes

After a profile is active, open the menu-bar icon and find the proxy group. The group may be named PROXY, Proxy, 🚀 Proxy, or something customized by the provider. Inside it, you may see individual nodes as well as other groups such as Auto Select or Fallback. Click an individual node to use it manually. The selected item is normally marked with a checkmark or highlight.

There are two common ways to choose a working node:

  • Manual selection: Pick a node yourself. This is useful when you know that a particular region works best for a service or when you want predictable egress location.
  • Automatic selection: Choose an url-test, fallback, or provider-defined automatic group. The group checks nodes according to its configured logic and can change the active node when conditions change.

An automatic group is not necessarily faster in every situation. A URL test may measure a nearby endpoint that does not represent the destination you care about. A fallback group usually follows a fixed priority order and switches only after the preferred node fails. If a group keeps switching back and forth, the test threshold may be too sensitive, or the nodes may have similar latency but unstable packet loss.

Selection optionHow it behavesBest use
selectYou choose the node manuallyPredictable location and troubleshooting
url-testPrefers the lowest measured latencyAutomatic selection among several nodes
fallbackUses the first available node in orderPrimary and backup node arrangements
load-balanceDistributes connections across nodesAdvanced multi-node traffic distribution

Switching a node does not necessarily reconnect every existing connection immediately. A browser tab may retain an established connection, and an application may maintain its own session. Close and reopen the affected tab, or disconnect and reconnect the application, when you need to verify that new traffic uses the newly selected node. If the external IP remains unchanged, confirm that the proxy group was changed rather than only highlighting a nested group.

Choosing Global, Rule, or Direct Mode

ClashX normally offers three primary modes: Global, Rule, and Direct. The mode determines how ClashX decides whether each connection should use a proxy.

  • Global mode: Most traffic is sent through the selected proxy group. This is simple for testing a node and useful when you want a consistent proxy path, but it can send local services, banking sites, software updates, and domestic content through the proxy unnecessarily.
  • Rule mode: Clash evaluates the rules in the active profile. Matching traffic goes to a proxy group, direct connection, or reject policy. This is the best everyday choice when the provider supplies a maintained rule set.
  • Direct mode: ClashX bypasses the proxy and connects directly. Use it to confirm whether a problem is caused by the proxy, or when you temporarily do not want proxy routing.

For a first connection test, Global mode can make the result easier to interpret because fewer rule decisions are involved. Once the node works, switch to Rule mode for normal browsing. In Rule mode, a site may still connect directly if the profile's rules classify it as direct. That is expected behavior, not evidence that ClashX is malfunctioning.

A practical testing sequence: select one known working node, enable Global mode temporarily, turn on the macOS system proxy, and test a browser. If the connection works, return to Rule mode and test again. This separates node problems from rule-matching problems.

The system proxy toggle is equally important. Choosing a node inside ClashX does not force every macOS application to use it. Enable the option usually labeled Set as system proxy or Set Proxy in the ClashX menu. macOS applications that honor the system HTTP and HTTPS proxy settings can then send traffic through ClashX. Some command-line tools, browsers with independent proxy settings, games, virtual machines, and applications using their own network stack may ignore the system proxy.

When you finish using ClashX, disable the system proxy before quitting the client if your version does not automatically restore the previous macOS setting. Otherwise, applications may continue trying to connect to a local proxy port that is no longer running.

Troubleshooting Common ClashX Problems

The profile imports but no nodes appear. Confirm that the URL is a Clash-compatible subscription rather than a generic client format. Update the profile again and inspect the returned content if the client offers a preview. A profile containing only comments, an HTML error page, or unsupported fields will not produce usable nodes. You can also ask the provider for a dedicated Clash or ClashX subscription link.

Nodes appear, but every connection fails. First check whether the subscription has expired or reached its quota. Then test another node and try Global mode. Verify that the system proxy is enabled and that ClashX is listening on its local ports. If all nodes fail at the same time, the problem is more likely to be the profile, client, local network, or provider account than one individual server.

The browser says there is no internet connection. Disable the system proxy temporarily. If browsing immediately returns, ClashX may be stopped, its local port may be occupied, or the selected node may be unavailable. Restart ClashX, select a different node, and enable the proxy again. Avoid manually entering random proxy ports in browser settings unless you know the exact HTTP or SOCKS port exposed by your client.

Some websites work while others time out. Change from Global mode to Rule mode only after confirming that the node itself works. In Rule mode, the relevant domain may be assigned to a direct group, rejected by a rule, or routed through an unsuitable node. If your ClashX build includes connection logs, inspect the destination and the rule that matched it. Domain rules can also be affected by DNS behavior, especially when a site uses multiple domains or a content delivery network.

Only the browser uses the proxy. This is normal for applications that respect macOS system proxy settings. A terminal command may require environment variables such as HTTP_PROXY and HTTPS_PROXY, while a game or developer tool may require its own proxy configuration. Some traffic, including certain UDP-based services, may also need TUN support from a compatible client rather than a basic system HTTP proxy.

The selected node keeps changing. Check whether you selected an automatic group rather than a fixed node. Choose the individual node name if you need a stable route. For automatic groups, allow the health check to complete and avoid interpreting every small latency change as a failure. A reasonable tolerance or fallback order can reduce unnecessary switching.

A Safe Everyday Workflow for ClashX

Once the initial setup is complete, a reliable routine takes only a few seconds. Open the ClashX menu and confirm that the expected profile is active. Check the profile's update time, refresh it when the provider recommends an update, and select either a known stable node or an automatic group. Use Rule mode for ordinary browsing, enable the macOS system proxy only when needed, and verify one ordinary website before starting a latency-sensitive task such as a video call or large download.

Keep a short record of which regions work well on your network. Network conditions vary by location, time of day, ISP, and destination, so a node that is excellent in the morning may not be the best choice in the evening. Do not edit a downloaded subscription directly unless you have a backup and understand that the next update may overwrite local changes. If you need custom routing, use a separate local configuration or a supported override feature rather than modifying the provider's source blindly.

Privacy also deserves attention. ClashX controls routing, but it does not make every activity anonymous. Your provider can generally observe connections that pass through its servers, and websites can still identify you through accounts, cookies, browser fingerprints, or application telemetry. Use trusted subscription sources, protect your subscription URL, keep the client updated, and disable the system proxy when you no longer need it. With those habits, importing a profile and switching nodes becomes a straightforward part of managing your macOS network rather than a trial-and-error process.

Get Started

Take Full Control of Your Traffic with Clash

Available on Windows, macOS, Linux, Android, and iOS. Flexible rules, simple setup, ready to use.

Download Free View Setup Guide →