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.

Quick Reference

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.

How to force the Wi-Fi login page on macOS

  1. Look for a Connect button. Open System Settings, Network, Wi-Fi, find your network, and click any Connect button or alert icon to open the Captive Network Assistant.
  2. Open the portal in Safari. Launch Safari, which is natively aware of portals on macOS, and go to http://neverssl.com to be redirected to the login page.
  3. Remove manual DNS entries. In Network, Wi-Fi, Details, open the DNS tab and remove any manually added servers so macOS uses DHCP-assigned DNS the portal can intercept.
  4. Disable your VPN. Go to System Settings, Network, VPN, toggle off active connections, and turn off any Connect On Demand setting in the VPN app.
  5. Force captiveagent to recheck. If the window still will not open, run sudo /usr/libexec/captiveagent --show-portal-url in Terminal, or forget and rejoin the network.

Frequently Asked Questions

What is captiveagent on my Mac and why does the login window not appear?

captiveagent is the background daemon macOS uses to detect portals by probing captive.apple.com when you join a network. If it is redirected, it launches the Captive Network Assistant window. Manual DNS entries, an active VPN, or a firewall blocking captiveagent stop the probe reaching Apple, so the window never opens.

Could an application firewall like Little Snitch be blocking the portal?

Yes. If Little Snitch, LuLu, or a similar firewall denies /usr/libexec/captiveagent outbound access, portal detection fails completely. Check your firewall rules and allow captiveagent to make outbound connections, then rejoin the network so it can probe for the portal again.

The Captive Network Assistant closed before I finished. How do I reopen it?

Open Safari and navigate to a plain HTTP address such as http://neverssl.com, which the network will redirect back to the login page. Alternatively, forget and rejoin the network so captiveagent re-runs detection, or use the Terminal recheck command. Safari is preferred because it is natively aware of portals on macOS.

Why might the login window be open but invisible on recent macOS versions?

On macOS Sonoma and Sequoia the Captive Network Assistant window sometimes opens behind other windows rather than in front. Check your Dock and menu bar for a bouncing or active browser icon before assuming it failed to open. Bringing that window forward often reveals the login page was ready all along.