Proxy Groups Explained
Proxy groups (proxy-groups) are containers that organize nodes in a Clash config file; they decide "which node a given flow ultimately uses". Understanding them is the prerequisite for rule-based routing—rule syntax is covered in Rules.
The Five Common Types
select (manual choice)
The most basic type: shows a list of nodes for you to pick from, and remembers your choice.
proxy-groups:
- name: "Manual"
type: select
proxies:
- Auto
- Hong Kong
- United Statesurl-test (automatic latency selection)
Periodically latency-tests all nodes in the group and uses the fastest one. tolerance means a new node must be faster than the current one by that many milliseconds to trigger a switch, avoiding flapping.
proxy-groups:
- name: "Auto"
type: url-test
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 50
proxies:
- HK 1
- HK 2
- SG 1fallback (automatic failover)
Uses the first available node in list order and switches to the next one automatically when the current node fails. Ideal for a primary/backup layout.
proxy-groups:
- name: "Failover"
type: fallback
url: http://www.gstatic.com/generate_204
interval: 300
proxies:
- Primary
- Backupload-balance (traffic distribution)
Spreads connections across multiple nodes. strategy: consistent-hashing pins the same destination domain to the same node, avoiding risk-control triggers from a changing IP.
proxy-groups:
- name: "Balance"
type: load-balance
strategy: consistent-hashing
url: http://www.gstatic.com/generate_204
interval: 300
proxies:
- Node A
- Node B
- Node Crelay (proxy chaining)
Traffic passes through the listed nodes in order—the exit of one node is the entry of the next. Note that relay groups cannot contain url-test groups (kernel-specific limits apply; check the mihomo docs).
proxy-groups:
- name: "Chain"
type: relay
proxies:
- Entry
- ExitInspecting Groups in Clash for Windows
Open the Proxies tab—groups from the config file are listed at the top. Click a group name to expand its nodes; the speed-test button in the top right tests the current group. For mass timeouts see all latency tests time out.
Imported subscriptions ship with complete proxy groups, so you rarely need to write them by hand; customize in the proxy-groups section of the config file when needed.
