mac-dns-troubleshooting
Mac DNS troubleshooting with Kilobat
DNS turns names into addresses before anything loads, so a slow or broken resolver makes every site feel slow to start even when the connection is fast. This skill measures DNS, compares resolvers and changes DNS only with the user's approval.
Setup
Use the Kilobat MCP tools if connected, otherwise the kilobat CLI (brew install seifip/kilobat/kilobat, macOS 14+; ask before installing). Commands here need CLI 0.2 or later (kilobat --version); if one is unknown, suggest brew upgrade kilobat. Measuring is safe. Changing or flushing DNS shows a macOS administrator prompt and needs a clear yes first. The kilobat skill lists the rules.
1. Rule out a login page first
Run kilobat diagnose --json. If measurements.captivePortal is true, the network wants a login (hotel, café, plane, airport). Ask the user to open any http site in a browser to bring up the page. A custom DNS server can stop the page from appearing; if it never shows, offer kilobat dns automatic (with approval), log in, then switch back.
2. Measure the current resolver
From the same diagnose output:
measurements.dnsMilliseconds: one lookup of example.com through the system resolver. Above 150 ms Kilobat rates DNS as degraded. Near 0 means a cached answer; run diagnose again or rely on the benchmark.measurements.dnsServers: the resolvers in use. Write them down before any change so they can be restored.measurements.networkService: the macOS service (for exampleWi-Fi) that a DNS change applies to.