It ships disabled for a reason. If any link in the IPv6 chain is missing, the result is a timeout followed by a fallback to v4 - which feels exactly like "the internet got slow after I changed that setting".
Two places to enable it
The client switch only covers the client. There is a second copy in the config file:
ipv6: true
dns:
enable: true
ipv6: true
The top-level ipv6 decides whether the core handles v6 connections at all; dns.ipv6 decides whether the built-in resolver returns AAAA records. Both must be on before any v6 traffic appears. Where these sit in the file is covered in The YAML Config, Section by Section.
Why it can make things slower
- The node has no v6. DNS hands back an AAAA record, the browser tries v6, fails, then retries over v4 - a few hundred extra milliseconds per new domain.
- Rules do not cover v6. If your routing rules only list v4 ranges, v6 requests all fall through to
MATCH, so sites that should go direct end up in the tunnel. - You have no v6 at home. If your ISP never assigned a v6 address, the switch buys you nothing and only adds failure modes.
So the order is: confirm both ends have v6, then enable it.
Confirming v6 is actually in use
- Run
curl -6 https://ifconfig.co. A colon-separated address back means the v6 path works; proxy-aware usage is in Command-Line Proxy Testing. - Watch the destination column on the Connections page. Addresses wrapped in square brackets are v6 connections.
- Under TUN, also check that the
tunsection defines v6 addresses and routes. Enabling top-levelipv6while TUN ignores v6 lets that traffic bypass Clash entirely - that is a leak, and turning v6 back off is better than leaving it. See TUN Mode Explained.