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
- Open System Settings → Network → Wi-Fi
- Find the network you're connected to in the list
- Look for a "Connect" button or a small alert icon next to the network name — click it
- macOS will open the Captive Network Assistant window
Step 2 — Open the portal with Safari
- Open Safari (not Chrome or Firefox — Safari is natively aware of captive portals on macOS)
- Navigate to
http://neverssl.com - Safari should redirect to the portal login page
- 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.
- Go to System Settings → Network → Wi-Fi
- Click Details… next to the connected network name
- Click the DNS tab
- Select each manually added DNS address and click the – button to remove it
- Click OK — macOS will now use DHCP-assigned DNS from the router
- Turn Wi-Fi off and on again (or disconnect and reconnect)
Step 4 — Disable your VPN
- Go to System Settings → Network → VPN
- Toggle off any active VPN connections
- Open your VPN application and click Disconnect
- 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
- Go to System Settings → Network → Wi-Fi
- Click the … button next to the network → select Forget This Network
- 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.