Clash Client UI Guide: Proxy, Profiles, and Logs Explained

A practical tour of the Clash client window: sidebar navigation, proxy groups and nodes, subscription and local file management, plus log-level filters—so beginners can understand each area in 10 minutes.

Understand the client’s four-layer structure

Common Clash GUI clients may use different names and layouts, but their core information usually falls into four layers: profiles define available proxy nodes and rules; the proxy page determines which exit a proxy group uses; the connections page shows sessions currently passing through the core; and the logs page records how the core handles those sessions. System proxy, TUN mode, and port settings sit below these layers, directing device traffic into the Clash or mihomo core.

In a desktop client built around the mihomo core, the left sidebar typically includes Overview, Proxy, Profiles, Connections, Logs, and Settings. Some clients call profiles “Subscriptions,” proxy groups “Policies,” or place core controls on a separate Service page. Names vary, but the data flow is largely the same.

Interface area Primary purpose Common first-time action
Overview View running status, live speeds, total traffic, and the current mode Confirm the core is running and check for upload or download traffic
Proxy Show proxy groups, nodes, latency, and the current selection Switch the exit in the “Node Select” group and test latency
Profiles Manage subscription profiles, local YAML files, and update times Import a subscription, update the profile, and set it as active
Connections Show active connections, destinations, matched rules, and chains Check whether a program is using the proxy
Logs Record DNS activity, rule matches, connection attempts, and errors Filter for Warning or Error entries
Settings Manage the system proxy, TUN, ports, startup items, and core parameters Enable the system proxy and verify the mixed port

Use the Overview page to check whether traffic is arriving

The Overview page usually shows core status, upload speed, download speed, active connections, and memory usage. After enabling the system proxy, open a new webpage. If the connection count rises from 0 to 6 and download speed briefly reaches 320 KB/s, traffic is reaching the core. This only proves that the app and Clash established a connection; it does not by itself prove that the remote proxy node works.

If the Overview page stays at 0 B/s, check the system proxy toggle and listening port first instead of repeatedly switching nodes. If traffic appears but webpages still fail to load, inspect the Proxy, Connections, and Logs pages for node timeouts, DNS failures, or incorrect rule matches.

Proxy page: groups and nodes are different layers

The Proxy page is easy to misread. The larger cards are usually proxy groups; the nodes or nested groups appear after you expand one. These relationships are defined by proxy-groups in the profile. Rules usually point to a proxy group name rather than hard-coding a single node.

For example, a rule may send traffic to “Node Select”; that group may currently choose “Auto,” which in turn selects “Tokyo 02” after a latency test. The resulting chain is “Node Select → Auto → Tokyo 02.” Seeing multiple layers in connection details is normal.

Common proxy group types

How to interpret latency values

Values such as 38 ms, 126 ms, or Timeout beside a node usually come from an HTTP health check. They are not full webpage load times and are not equivalent to an ICMP ping. The test may include DNS, TCP, TLS, and HTTP response time, depending on the configured test URL and client implementation.

Test result Usually means Next step
35–90 ms The test URL responded quickly Open a webpage to verify real-world access
100–250 ms A connection can be established, but distance or load may be high Compare stability with other nodes in the same region
Over 500 ms Network congestion, high node load, or a slow test endpoint Run the test two or three times and watch for variation
Timeout No expected response arrived within the configured timeout Check the logs for DNS, handshake, or connection errors

A reliable order for switching nodes

  1. On the Proxy page, find the main proxy group actually referenced by the rule, such as “Node Select” or “Proxy.”
  2. Run a latency test first and exclude nodes showing Timeout.
  3. Choose a consistently responsive node rather than comparing only the lowest value from a single test.
  4. Open a new browser tab so an old connection does not continue reusing the previous route.
  5. Open the Connections page and check whether the new connection chain includes the node you selected.

Profiles: subscriptions, local files, and the active profile

The Profiles page manages the core’s input. A complete profile usually includes ports, DNS, proxy nodes, proxy groups, and rules. A subscription URL is one source of configuration; a local YAML file is another. Adding a subscription to the client only saves the profile entry. The corresponding proxy groups appear on the Proxy page only after the profile is set as active and loaded successfully.

What the information on a profile card means

A common path is “Profiles” → “New” → “Import from URL.” Paste the subscription URL and save it, then choose “Set as active” or “Enable” from the profile card menu. Some clients use “Subscriptions” → “Add subscription” instead. To refresh a profile, use its update button rather than repeatedly deleting and importing it again.

Local YAML profiles offer precise control

Local files let you inspect and edit fields directly. YAML uses spaces for indentation; tabs or misaligned levels can prevent loading. The simplified structure below illustrates how ports, proxy groups, and rules map to the Settings page, Proxy page, and connection details:

mixed-port: 7890
mode: rule
log-level: info

proxies:
  - name: example-node
    type: socks5
    server: 127.0.0.1
    port: 1080

proxy-groups:
  - name: Node Select
    type: select
    proxies:
      - example-node
      - DIRECT

rules:
  - DOMAIN-SUFFIX,example.com,Node Select
  - MATCH,DIRECT

mixed-port: 7890 means HTTP and SOCKS inbound connections can share port 7890. mode: rule means connections are handled according to rules. The final MATCH,DIRECT is the fallback rule: unmatched traffic connects directly. Real subscription profiles usually include DNS, rule providers, provider definitions, and more proxy groups.

Why the selected node can change after an update

A subscription update may add, remove, or rename nodes. If the node previously selected by a proxy group no longer exists, the core returns to an available option in that group. The exact result depends on client state persistence and the group type. If the Proxy page changes from “Tokyo 02” to “Auto,” the toggle may still work; the new profile may simply no longer contain a node with the same name.

After updating, check three places: confirm the updated time changed on the Profiles page, verify that the proxy group contents refreshed on the Proxy page, and make sure the Logs page shows no profile reload errors. “Download successful” alone is not enough because downloading and loading the profile into the core are separate steps.

Connections: see where a program is actually routed

The Connections page is the most direct place to verify routing results. Each record usually includes the source address, destination domain or IP, network type, upload and download totals, matched rule, proxy chain, and start time. Opening one webpage can create dozens of connections, so filter by domain instead of looking only at the top of the list.

Four fields worth checking

  1. Host or destination: Confirm that the record belongs to the website being tested. If only an IP appears, the DNS method or application protocol may not have supplied a domain name.
  2. Rule: Shows the matched rule, such as DomainSuffix, GeoIP, RuleSet, or the final fallback rule.
  3. Chains: Shows the selection path from proxy group to final node, such as “Node Select → Hong Kong 01.”
  4. Process: Displays the process name when supported by the system and permissions. Under TUN mode, process identification depends on the platform and client implementation.

Suppose you open example.com and the connection details show DomainSuffix as the rule and “Node Select → Singapore 03” as the chain. This confirms that the new connection matched the domain rule, entered the intended proxy group, and ultimately used Singapore 03. If the chain shows DIRECT, check the rule order, operating mode, and whether the profile has actually switched.

Existing connections may keep using the old node

Switching a proxy group does not forcibly move already established TCP connections. Browsers may also reuse HTTP/2 or HTTP/3 sessions, so the Connections page can briefly show the old route even after you switch nodes and refresh. Close the relevant connection, open a new private window, or wait for the old session to end before testing again. “Close all connections” interrupts active downloads and other network tasks, so use it carefully.

Logs: locate errors by level and keyword

The Logs page records the core’s activity. During normal browsing, you may see connections, rule matches, and outbound details; configuration or network problems may produce parsing failures, refused connections, timeouts, or failed TLS handshakes. When logs are busy, filter by level first, then search for a domain, port, or proxy group name instead of scrolling line by line.

Log level Purpose Best used for
Debug Show more detailed internal processing Reproduce a complex issue briefly, then return to Info
Info Record routine connections and operating status Everyday use and basic troubleshooting
Warning Record recoverable but noteworthy issues Filter DNS, rule-resource, or connection fluctuations
Error Record errors that cause an operation to fail Troubleshoot profiles that fail to load or ports that cannot bind
Silent Minimize log output When the client is stable and no diagnosis is currently needed

Three common error patterns

When troubleshooting, clear the current logs, enable the Info level, and reproduce the issue once. For example, clear the log, visit one destination domain, wait 5 seconds, pause scrolling, and search for that domain. This keeps old entries and background connections from clouding the diagnosis. If Info is insufficient, switch to Debug temporarily; leaving Debug enabled greatly increases log volume.

Settings: system proxy, TUN, and ports each serve a different layer

The Settings page determines how traffic enters the core. The system proxy changes the operating system’s HTTP, HTTPS, or SOCKS proxy settings and works for browsers and desktop apps that honor them. TUN mode creates a virtual network interface with broader coverage and can handle apps that ignore system proxy settings, but it requires the appropriate system permissions and correct routing and DNS configuration.

Do not mix up port fields

If the client uses mixed port 7890, a terminal program’s HTTP proxy should usually be http://127.0.0.1:7890, not control port 9090. Use the current profile and Settings page as the source of truth. After changing a port, update the system proxy address, browser manual proxy, and terminal environment variables as well.

Choosing between the system proxy and TUN

For first-time setup, enable the system proxy to verify the basic route. If the browser generates traffic, the selected proxy node works, and the Connections page shows matched rules, the profile and exit are basically functional. If an app ignores the system proxy, consider enabling TUN. This separates an unavailable node from a TUN routing problem.

Some desktop clients must install Service Mode before TUN can be enabled with reliable permissions. A common path is “Settings” → “Service Mode” → “Install,” followed by “Settings” → “TUN Mode.” The exact path depends on the client version. After enabling it, check for a new virtual adapter, verify DNS resolution, and confirm that local network and development services remain reachable as expected.

Complete a UI check in ten minutes

After importing a profile for the first time, follow a fixed sequence. Start with the profile source, then check node selection and the traffic entry point, and finish by validating the result in Connections and Logs. This reduces needless switching between pages.

  1. Minute 1: Open Profiles, confirm that the subscription or local file exists, and mark it as active.
  2. Minute 2: Run an update, confirm that the updated time changes, and check for profile parsing warnings.
  3. Minutes 3–4: Open Proxy, run a latency test for the main proxy group, and choose a node with stable responses on two consecutive tests.
  4. Minute 5: Open Settings, confirm that the core is running, and verify that the mixed port matches the system proxy address.
  5. Minute 6: Enable the system proxy and visit a test page in a new browser window.
  6. Minutes 7–8: Open Connections, filter by the destination domain, and check the matched rule and final node.
  7. Minute 9: Return to Overview and confirm that the connection count and upload/download traffic change.
  8. Minute 10: Open Logs, filter for Warning and Error, and check for recurring port, DNS, or timeout errors.

Return to the relevant page based on the symptom

Symptom Check first Key fields
No nodes appear on the Proxy page Profiles Active profile, load status, and updated time
Every node shows Timeout Logs DNS, connection timeout, and test URL
The connection count remains 0 after browsing Settings System proxy, listening address, and mixed port
A connection exists but uses DIRECT Connections and Profiles Matched rule, operating mode, and rule order
The old exit still appears after switching nodes Connections Old connections, proxy chain, and start time
Domains fail to resolve after enabling TUN Logs and Settings DNS mode, virtual adapter, and routing status

Once the interface is clear, troubleshooting can be reduced to one chain: Profiles confirms “what loaded,” Proxy confirms “what was selected,” Settings confirms “how traffic enters,” Connections confirms “what was actually used,” and Logs explains “why it succeeded or failed.” These five questions map to five pages and cover most first-connection problems.

Clash downloads