Locahl
Buy Locahl
DNSmacOScacheflush DNSlocal development

Flush DNS Mac: macOS Cache Command (2026)

Copy the exact macOS flush DNS cache command for Tahoe, Sequoia, Sonoma, Ventura and older versions. Includes browser cache fixes.

L

Locahl Team

Β·Updated Β·6 min read

Need the Mac flush DNS command right now? For current macOS versions, open Terminal and run:

BASH
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder

This is the command to clear DNS cache on macOS Tahoe 26, Sequoia, Sonoma, Ventura, Monterey, Big Sur and most modern releases. Use it after editing /etc/hosts, changing DNS servers, testing a migration, or fixing a domain that still resolves to the wrong IP.

You've modified your hosts file but the changes aren't taking effect? The culprit is almost always DNS cache. In this guide, we'll see how to flush DNS cache on Mac, which command to use by macOS version, how to verify the result, and how to automate this repetitive task.

Quick answer: macOS flush DNS command for 2026

For the latest macOS versions in 2026, use this command:

BASH
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder

It is safe to run when you need to refresh local DNS resolution. macOS does not print a success message, so returning to the prompt without an error usually means the DNS cache was cleared.

  • Tahoe 26, Sequoia 15, Sonoma 14, Ventura 13, Monterey 12, Big Sur 11: sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder
  • Catalina 10.15, Mojave 10.14, High Sierra 10.13, Sierra 10.12: sudo killall -HUP mDNSResponder
  • El Capitan 10.11: sudo killall -HUP mDNSResponder
  • Yosemite 10.10: sudo discoveryutil mdnsflushcache && sudo discoveryutil udnsflushcaches

If the issue is in Chrome, Firefox or Safari, also clear the browser DNS cache after the system command. For Chrome specifically, follow the Chrome DNS cache guide for Mac. On other systems, see how to flush the DNS cache on Windows, Mac, Linux and Chrome.

What is DNS cache?

The role of DNS cache

Every time you visit a website, your Mac must resolve the domain name (like google.com) to an IP address. To speed up this process, macOS maintains a local cache of recent DNS resolutions.

This cache avoids contacting DNS servers for every request, which improves browsing speed. However, it can become an obstacle when:

  • You modify the hosts file
  • A site changes IP address
  • You're testing DNS configurations
  • You switch between development environments

When to flush DNS cache

Common situations requiring a DNS flush:

  • After any modification to /etc/hosts (see our guide to edit the hosts file)
  • After a DNS server change
  • When a site "doesn't work" for no apparent reason
  • During server migration testing
  • To resolve "DNS_PROBE_FINISHED_NXDOMAIN" errors

Commands by macOS version

The exact command varies slightly depending on your macOS version.

macOS Tahoe, Sequoia, Sonoma, Ventura, Monterey (26.x, 15.x, 14.x, 13.x, 12.x)

BASH
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder

This command combines two actions:

  • dscacheutil -flushcache: Flushes the Directory Service DNS cache
  • killall -HUP mDNSResponder: Restarts the mDNS daemon

This is also the best command to try for "macOS flush DNS cache command 2026" queries because Apple has kept mDNSResponder as the resolver service across current macOS versions. On macOS Tahoe 26 specifically, see the dedicated Tahoe flush DNS guide.

macOS Big Sur (11.x)

BASH
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder

macOS Catalina, Mojave, High Sierra (10.15, 10.14, 10.13)

BASH
sudo killall -HUP mDNSResponder

macOS Sierra, El Capitan (10.12, 10.11)

BASH
sudo killall -HUP mDNSResponder

OS X Yosemite (10.10)

BASH
sudo discoveryutil mdnsflushcache && sudo discoveryutil udnsflushcaches

Tip: To find your macOS version, click the Apple menu () > About This Mac.

Running the command step by step

Step 1: Open Terminal

  • Press Cmd + Space to open Spotlight
  • Type "Terminal"
  • Press Enter

Step 2: Run the command

For macOS Monterey and later:

BASH
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder

Step 3: Enter your password

Terminal displays Password:. Type your administrator password (nothing appears) and press Enter.

Step 4: Verify success

If the command succeeds, you simply return to the command prompt with no error message.

To verify, test with ping:

BASH
ping myproject.local

Why hosts changes don't work without flush

DNS resolution order

When you type a domain in your browser:

1. Browser cache - Chrome, Firefox have their own cache 2. System DNS cache - Managed by mDNSResponder on Mac 3. Hosts file - /etc/hosts 4. External DNS servers - Your ISP or public DNS

If the domain is already in system cache (step 2), the hosts file (step 3) is never consulted!

Automating DNS flush

Create a Terminal alias

Add this line to your ~/.zshrc file:

BASH
alias flushdns="sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder && echo 'DNS cache flushed'"

Reload your configuration:

BASH
source ~/.zshrc

Now, simply type flushdns in Terminal.

Automated shell script

Create a flush-dns.sh file:

BASH
#!/bin/bash
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
echo "DNS cache flushed successfully"

Make it executable:

BASH
chmod +x flush-dns.sh

With Locahl (automatic)

The Locahl app integrates DNS flushing automatically. Every time you modify a hosts entry, DNS cache is flushed without additional action. This is useful if you switch between local, staging and production mappings several times a day.

Also flush browser cache

System DNS flush doesn't clear browser cache.

Chrome

1. Go to chrome://net-internals/#dns 2. Click "Clear host cache"

Firefox

1. Go to about:networking#dns 2. Click "Clear DNS Cache"

Safari

Develop menu > Empty Caches (Cmd + Option + E)

Troubleshooting

"Operation not permitted"

Cause: Insufficient permissions.

Solution: Use sudo and verify your account is an administrator.

"No matching processes"

Cause: The mDNSResponder process isn't running.

Solution: Restart it:

BASH
sudo launchctl kickstart -k system/com.apple.mDNSResponder

Changes still not taking effect

Check: 1. Browser cache cleared? 2. Active VPN using its own DNS? 3. Syntax error in hosts file? 4. Proxy configured?

Best practices

Create a routine

After each hosts file modification: 1. Save the file 2. Flush system DNS 3. Clear browser cache (if needed) 4. Test with ping

Use appropriate TLDs

  • .test: Recommended
  • .localhost: Always local
  • .local: Can conflict with Bonjour

Conclusion

Flushing DNS cache on Mac is a simple but essential operation. The command sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder should be part of your daily toolkit.

To eliminate this friction, tools like Locahl automate DNS flushing with every modification, allowing you to focus on your code.

Sources and further reading

Also readHow to edit the hosts file on Mac
Also readSet up local HTTPS on Mac with mkcert
Share this article
Available on Windows, macOS & Linux

Ready to simplify your workflow?

Stop wasting time with the terminal. Locahl lets you manage your hosts file in a few clicks, with automatic validation and no risk of errors.

  • Intuitive visual interface
  • Automatic DNS flush
  • Multi-environment management
  • Automatic backups
  • JSON Import/Export
Buy Locahl β€” $5.99One-time payment, no subscription

Reader Reviews

4.7β˜…(3 reviews)
Chris P.
β˜…β˜…β˜…β˜…β˜…

"The flushdns alias in .zshrc changed my life. I use it several times a day now."

September 25, 2025

Amanda F.
β˜…β˜…β˜…β˜…β˜…

"Very useful to have commands by macOS version. I finally found the one that works for my Ventura."

November 30, 2025

Robert T.
β˜…β˜…β˜…β˜…β˜…

"Complete article. I would have liked a section on browser DNS flush but otherwise perfect."

January 5, 2026

Frequently Asked Questions

How do I flush DNS cache on Mac?

Open Terminal and run: sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder. Enter your administrator password when prompted.

Why do I need to flush DNS cache?

DNS cache temporarily stores domain/IP associations. After modifying the hosts file or a DNS change, flushing the cache forces your Mac to use the new values.

Is the flush DNS command different for each macOS version?

Slightly. Since macOS Sierra (10.12), the standard command is: sudo killall -HUP mDNSResponder. For older versions, different commands are needed.

How do I know if the DNS flush worked?

Use the ping command with the affected domain to verify that the new IP address is being resolved.

Can I automate DNS flushing?

Yes, create an alias in your .zshrc file or use a tool like Locahl that integrates DNS flushing automatically.

How do I clear DNS cache in Chrome on Mac?

Open chrome://net-internals/#dns and click Clear host cache, then flush macOS DNS with sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder.

Why does my Mac still resolve the old IP after flushing DNS?

A browser host cache, an active VPN resolver, or a hosts file syntax error can override the flush. Clear the browser cache, disable VPN DNS, and double-check /etc/hosts.

Related Articles

4 min read
DNSflush DNSclear DNS cache

How to Flush DNS Cache (Windows, Mac, Linux & Chrome)

How to flush or clear the DNS cache on Windows, Mac, Linux and Chrome. Copy the exact command for your system, learn what flushing DNS does and whether it is safe.

L

Locahl Team

Developer tools team

2 min read
DNSLinuxflush DNS

Flush DNS on Linux: systemd-resolved & more (2026)

Flush the DNS cache on Linux with resolvectl flush-caches (systemd-resolved), plus nscd, dnsmasq and BIND. Commands by setup, with verification steps.

L

Locahl Team

Developer tools team

6 min read
DNSmacOS Tahoeflush DNS

macOS Tahoe Flush DNS Cache Command

Clear DNS cache on macOS Tahoe 26 with the exact Terminal command, verification steps, browser cache checks and hosts file troubleshooting.

L

Locahl Team

Developer tools team

6 min read
ChromeDNSmacOS

Clear Chrome DNS Cache on Mac Fast

Clear Chrome DNS cache on Mac with chrome://net-internals, flush macOS DNS, restart sockets and fix stale local domains after hosts changes.

L

Locahl Team

Developer tools team