Sweepfor Mac

Troubleshooting

Mac Won't Connect to Wi-Fi? Here's the Fix Sequence

Mac refusing to connect to Wi-Fi? Work through the fix sequence — DHCP, DNS, network locations, and a clean SystemConfiguration reset.

8 min read

Your MacBook sees the Wi-Fi network, you click it, you type the password, and it spins forever before failing with “Connection failed.” Every other device in the house is online. The router isn’t the problem.

This guide takes you through the fix sequence in the order I’d actually try, on a real Mac running macOS Sonoma or Sequoia. Skip the steps that don’t apply.

Step 1: Confirm the password

This sounds insulting, but: did the password change? Routers occasionally rotate keys after firmware updates, and saved Macs don’t auto-pick that up. Check the password from another device that’s currently connected: System Settings → Wi-Fi → Details → Show Password (auth required) on macOS, or Settings → Wi-Fi → tap network → Password on iOS.

If the password changed:

  1. System Settings → Wi-Fi → Details next to the network → Forget This Network.
  2. Reconnect from the Wi-Fi menu.
  3. Enter the new password.

Step 2: Toggle Wi-Fi off and on

Click the Wi-Fi icon in the menu bar → toggle it off, wait five seconds, toggle it on. This re-initializes the radio. Maybe a third of failed-connect cases clear here.

If toggling does nothing — the Mac fails to scan for networks even though Wi-Fi shows on — restart the system. Software state corruption around wifid or airportd won’t clear without a reboot.

Step 3: Check for an IP conflict

If you connect, the Wi-Fi icon shows full bars, but Safari can’t reach anything, your Mac may have grabbed an IP that’s already in use elsewhere on the network. Check:

System Settings → Network → Wi-Fi → Details → TCP/IP. If the IP starts with 169.254, the Mac never got a real DHCP lease; it self-assigned a link-local address. That means the router refused to give out an IP, usually because the lease pool is exhausted or the router’s DHCP service crashed.

Fix:

  • Reboot the router.
  • Click “Renew DHCP Lease” in the same TCP/IP panel.
  • If you keep getting 169.254 addresses, log into the router and either expand the DHCP range or restart the DHCP service.
Tip: A static IP set on your Mac that's outside the router's range will cause connect-but-no-internet. Check System Settings → Network → Wi-Fi → Details → TCP/IP and make sure "Configure IPv4" is set to "Using DHCP" unless you specifically need static.

Step 4: Reset the SystemConfiguration cache

If forgetting the network and rebooting both fail, the cached state needs a manual cleanup.

  1. Turn Wi-Fi off.
  2. Finder → Go → Go to Folder → /Library/Preferences/SystemConfiguration/.
  3. Move to the desktop:
    • com.apple.airport.preferences.plist
    • com.apple.network.identification.plist
    • com.apple.wifi.message-tracer.plist
    • NetworkInterfaces.plist
    • preferences.plist
  4. Restart.
  5. Turn Wi-Fi back on, rejoin your network.

This is the closest equivalent macOS has to “reset network settings” on iOS.

Clear the cruft that confuses macOSSweep wipes leftover network helpers from old VPNs and adapters that interfere with new connections. Get Sweep free →

Step 5: Use networksetup from Terminal

Apple’s networksetup command can do things the GUI can’t. Open Terminal:

List your hardware ports to find the Wi-Fi interface name:

networksetup -listallhardwareports

Usually it’s en0 on Apple Silicon, sometimes en1 on Intel Macs. From there:

sudo networksetup -setairportpower en0 off
sudo networksetup -setairportpower en0 on

Then explicitly join a network:

networksetup -setairportnetwork en0 "MyNetworkName" "password"

If the GUI fails but networksetup connects, the issue is in the menu bar UI, not the radio.

Step 6: Create a new network location

This is the easiest way to bypass every cached setting tied to your current network profile.

  1. System Settings → Network → three-dot menu → Locations → Edit Locations.
  2. Click + → name it “FreshStart” → Done.
  3. Apple menu → Location → FreshStart.
  4. Connect to Wi-Fi.

If FreshStart works and Automatic doesn’t, your Automatic location has corruption somewhere — most likely a leftover service from a VPN, ethernet adapter, or ISP setup tool. You can keep using FreshStart, or delete Automatic from Locations and recreate it.

Step 7: Hidden network or captive portal

If you’re trying to connect to a Wi-Fi network that doesn’t broadcast its SSID:

System Settings → Wi-Fi → Other Networks → Other… → enter SSID, security type (usually WPA2/WPA3 Personal), and password.

If it’s a captive portal (hotel, airport, coffee shop) and the login page never loads:

open http://captive.apple.com

This forces macOS to try the captive portal detection URL. The login page should pop up.

You can also disable Apple’s auto-detect to force Safari to handle it:

sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.captive.control Active -bool false

(Re-enable with -bool true.)

Step 8: WPA3 / WPA2 mismatch

Modern routers default to “WPA2/WPA3 Mixed” or “WPA3 Only.” Older Macs (Intel, pre-2018) sometimes can’t handle WPA3 reliably. If you’re on an older Intel Mac:

  • Log into your router.
  • Switch the security mode to “WPA2 Personal” only.
  • Try to connect again.

Apple Silicon Macs handle WPA3 fine on Sonoma and Sequoia, but a hybrid network with mismatched settings between bands can confuse them.

Step 9: 6 GHz / Wi-Fi 6E gotcha

If your router broadcasts 6 GHz (Wi-Fi 6E) and your Mac is from 2022 or earlier, the Mac literally can’t see that band. M2 MacBook Air, M2 Pro/Max MacBook Pro, and newer Macs support 6 GHz; M1 and Intel do not.

If your network is named the same on all three bands and you’re connecting fine on iPhone but not on an M1 Mac, log into the router and confirm the 2.4 GHz and 5 GHz bands are still broadcasting.

Step 10: Try a different DNS

Sometimes the connection is fine but DNS is broken, and macOS reports it as “Connection failed.”

System Settings → Network → Wi-Fi → Details → DNS. Add 1.1.1.1 and 8.8.8.8. Drag them above any router-provided entries. Apply.

If pages now load, your router’s DNS was broken or your ISP’s DNS was throttled.

Step 11: VPN or proxy interference

Old VPN clients install a system extension that intercepts all network traffic. If the extension is loaded but the parent app crashed or was deleted, every connection attempt goes through a dead intercepter.

systemextensionsctl list

If you see extensions from VPNs you’ve already removed, the system is in a broken state. Removing them properly requires:

systemextensionsctl uninstall <team-id> <bundle-id>

This is exactly what Sweep automates: when you uninstall an app through Sweep, it removes the system extension, the configuration profile, the keychain entry, and the launch agents at the same time. Drag-to-trash leaves all of that behind.

Reclaim what stale apps left behindOld VPN clients leave network extensions, helper tools, and configs behind. Sweep finds them all. Free for macOS →

Step 12: Safe Mode test

Boot in Safe Mode:

  • Apple Silicon: Shut down → hold power button → “Loading startup options” → select your disk while holding Shift → “Continue in Safe Mode.”
  • Intel: Shut down → press power → immediately hold Shift → release at the login window.

In Safe Mode, login items, third-party kernel extensions, and most caches are skipped. If Wi-Fi connects fine in Safe Mode, something installed on your Mac is breaking it. Most likely culprit: a VPN extension or a corporate device management agent.

Step 13: Hardware test

Apple Diagnostics:

  • Apple Silicon: Shut down → hold power button → release at startup options → press Cmd+D.
  • Intel: Shut down → press power → immediately hold D.

If Apple Diagnostics returns code NDC001, NDC003, NDC005, or NDC006, that’s a Wi-Fi hardware fault. Take it to Apple.

Step 14: Reinstall macOS without erasing

This is a last resort. macOS Recovery → Reinstall macOS. Choose the option that doesn’t erase data. It rebuilds system files without touching your user data.

Most “Mac won’t connect to Wi-Fi” cases are fixed in steps 1-6. If you got past step 10 without resolution, you’re either dealing with a hardware issue, a corrupt firmware on the router, or a really stubborn corruption that a SystemConfiguration reset didn’t catch. At that point, the FreshStart location combined with a careful uninstall of any VPNs you’ve ever had installed is usually what closes the door.

← Back to all guides