Quick answer for advanced users
Open Terminal, run sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder, then restart Chrome. If the error returns, change your Wi‑Fi DNS to 8.8.8.8 and 8.8.4.4.
What’s actually happening here
DNS_PROBE_FINISHED_NXDOMAIN shows up in Chrome (also Edge, Brave) when your computer asks a DNS server for an IP address and gets back NXDOMAIN — “this domain doesn’t exist.” Nine times out of ten, the domain does exist and is reachable; the failure is in your local DNS chain. It could be a stale cache entry, a router that’s lost its mind, or your ISP’s DNS server returning garbage for legitimate domains. On macOS 14.6 (Sonoma) this happens more often after sleep/wake cycles because the DNS resolver doesn’t always re‑query upstream servers when the network comes back.
The real trigger: you wake your MacBook from sleep, open Chrome, and boom — every site fails with this error. But your other apps (Mail, Slack) might still be fine because they cache IPs differently.
Step‑by‑step fix
-
Flush the local DNS cache
Open Terminal (it’s in /Applications/Utilities) and paste this:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
Enter your password when asked. Thekillall -HUPsends a hangup signal to the multicast DNS responder, forcing it to reload its cache and re‑resolve all domains.
Why this works: The stale NXDOMAIN response is stored in the system cache. Flushing it makes macOS ask the upstream DNS again on the next lookup. If the upstream DNS is fine, you’re done. Test by visiting a site you know works (e.g., google.com). -
Restart Chrome completely
Chrome has its own internal DNS cache (innet::HostResolverImpl). Even if the system cache is fresh, Chrome might still hold on to the old failure. Close all Chrome windows, then go to Activity Monitor (Finder → Applications → Utilities → Activity Monitor), search for “chrome”, select all processes, and click Force Quit. Then reopen Chrome.
Why this works: Chrome’s in‑process DNS cache doesn’t clear until you kill the process tree. A normal quit (Cmd+Q) sometimes leaves background processes alive. -
Switch DNS servers to Google Public DNS
If flushing doesn’t help, your ISP’s DNS is probably the culprit. I’ve seen AT&T and Comcast DNS return NXDOMAIN for perfectly valid domains during congestion or after a routing change.
Go to System Settings → Wi‑Fi → click the “Details” button next to your current network → scroll down to “DNS” → click the “+” under DNS servers → enter8.8.8.8and8.8.4.4→ click Save.
Why this works: Google Public DNS is fast, reliable, and doesn’t filter or mess with responses. By overriding your ISP’s DNS, you skip the bad middleman entirely. -
Reset the network interface
In rare cases, macOS’s network preferences get corrupted. Go to System Settings → Network → select Wi‑Fi → click the “…” menu → “Remove Service” → confirm. Then click the “+” button → Interface: Wi‑Fi → Service Name: Wi‑Fi → Create. Re‑enter your Wi‑Fi password.
Why this works: This rebuilds the plist files that store network configuration. It’s the nuclear option, but it fixes edge cases where the DNS resolver itself is misconfigured at the system level.
Alternative fixes if the main ones fail
-
Disable IPv6 on your network interface — Some ISP’s DNS servers choke on AAAA queries. System Settings → Wi‑Fi → Details → TCP/IP → Configure IPv6: “Link‑local only”.
Why this works: macOS tries AAAA (IPv6) records first; if the DNS returns NXDOMAIN for an AAAA record that doesn’t exist, but the A record exists, the resolver may not fall back correctly in all cases.
-
Use Cloudflare’s 1.1.1.1 instead of Google’s DNS — especially if you’re in a region where Google DNS is throttled. Same procedure: set DNS to
1.1.1.1and1.0.0.1.
-
Check the hosts file — Run
cat /etc/hostsin Terminal. If you see a line like127.0.0.1 example.com, that’s overriding DNS. Remove or comment it out with#.
Prevention tip
The root cause is usually a bad DNS response that gets cached. To stop it from happening again, set your DNS servers to a reliable public one permanently. I’ve been using 1.1.1.1 (Cloudflare) for three years and haven’t seen a single DNS_PROBE_FINISHED_NXDOMAIN since. Also, avoid putting your Mac to sleep while Chrome has active connections — close Chrome before closing the lid. This prevents Chrome’s internal DNS cache from going stale while the network interface re‑initializes.