macOS — Wi-Fi Login Page Not Showing

macOS opens a Captive Network Assistant window automatically when it detects a portal network. If it doesn't appear — or closes before you can log in — here's how to bring it back.

Quickest fix

Open Safari and navigate to http://neverssl.com. Safari will be redirected to the portal login page by the network.

Custom DNS prevents portals

Go to System Settings → Network → Wi-Fi → Details → DNS tab and remove any manually added DNS servers. macOS will fall back to DHCP-assigned DNS.

How macOS handles captive portals

macOS uses a background daemon called captiveagent to test for captive portals when you join a new network. It probes captive.apple.com — if the network returns a redirect, captiveagent launches the Captive Network Assistant window. Manual DNS, active VPNs, and certain firewall rules can all prevent the probe from reaching Apple's server, so the window never opens.

Step 1 — Look for a "Connect" button in System Settings

  1. Open System Settings → Network → Wi-Fi
  2. Find the network you're connected to in the list
  3. Look for a "Connect" button or a small alert icon next to the network name — click it
  4. macOS will open the Captive Network Assistant window

Step 2 — Open the portal with Safari

  1. Open Safari (not Chrome or Firefox — Safari is natively aware of captive portals on macOS)
  2. Navigate to http://neverssl.com
  3. Safari should redirect to the portal login page
  4. If it loads neverssl.com directly, the portal may not be active — try Step 3

Step 3 — Remove manual DNS entries

Manually configured DNS servers (1.1.1.1, 8.8.8.8, 9.9.9.9) prevent the captive portal system from intercepting your DNS lookups.

  1. Go to System Settings → Network → Wi-Fi
  2. Click Details… next to the connected network name
  3. Click the DNS tab
  4. Select each manually added DNS address and click the button to remove it
  5. Click OK — macOS will now use DHCP-assigned DNS from the router
  6. Turn Wi-Fi off and on again (or disconnect and reconnect)

Step 4 — Disable your VPN

  1. Go to System Settings → Network → VPN
  2. Toggle off any active VPN connections
  3. Open your VPN application and click Disconnect
  4. If the VPN has a "Connect On Demand" setting, disable it in the app settings before reconnecting to Wi-Fi

Step 5 — Force captiveagent to recheck

If you've fixed the underlying issue (DNS, VPN) but the assistant window still won't open, you can force macOS to re-run portal detection from Terminal:

# Force macOS to re-check for a captive portal on the current network
sudo /usr/libexec/captiveagent --show-portal-url

If a portal URL is detected, macOS will open the Captive Network Assistant window automatically.

Step 6 — Forget and rejoin the network

  1. Go to System Settings → Network → Wi-Fi
  2. Click the button next to the network → select Forget This Network
  3. Reconnect to the network — macOS reruns captiveagent on every fresh join

macOS Sequoia / Ventura note

On macOS 14 Sonoma and 15 Sequoia, the Captive Network Assistant window sometimes appears behind other windows. Check your Dock and the menu bar for a bouncing browser icon — the portal window may already be open but hidden.

Little Snitch / firewall users

If you run Little Snitch, LuLu, or another application firewall, ensure that /usr/libexec/captiveagent is allowed to make outbound connections. Blocking captiveagent prevents portal detection entirely.