Understanding the Root Cause
macOS allows users to connect to multiple network interfaces simultaneously, such as an Ethernet cable for stability and Wi-Fi for backup. However, operating systems assign a "service order" or priority to these connections. When both are active, the system may dynamically switch the default route if one interface becomes momentarily unavailable or if signal strength fluctuates. Chromium, built on the Blink engine, is sensitive to these underlying OS-level network changes. If the primary interface drops packets or changes its IP address while a tab is loading, the browser interprets this as a network failure and throws ERR_NETWORK_CHANGED.
This issue is distinct from general internet outages. It specifically indicates that the browser detected a change in the network path mid-session. While modern browsers have robust retry logic, aggressive network switching or misconfigured firewall rules can trigger this error repeatedly. For users who frequently toggle between wired and wireless connections, understanding how macOS handles service order is crucial to preventing these interruptions.
Prioritize Network Service Order
The most effective long-term solution is to force macOS to prefer one connection over the other, reducing the likelihood of dynamic switching. You can configure this through the Network preferences pane.
- Open System Settings (or System Preferences on older macOS versions).
- Navigate to Network in the sidebar.
- Click on the ... (More) button at the bottom left of the list of services.
- Select Set Service Order.
- Drag your preferred connection (e.g., Ethernet) to the top of the list.
- Click OK to save the changes.
By placing Ethernet above Wi-Fi, macOS will attempt to use the wired connection first. If the Ethernet cable is unplugged, it will then failover to Wi-Fi. This explicit hierarchy prevents the system from randomly flipping between interfaces during active downloads or streaming, which is a common trigger for the Chromium error.
Flush the DNS Cache
Stale DNS records can cause the browser to attempt connecting to outdated server IPs, leading to connection resets when the network environment changes. Flushing the DNS cache forces macOS to query fresh addresses from your router or ISP.
Open the Terminal application, which you can find in Applications > Utilities. Run the following command depending on your macOS version:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
You will be prompted to enter your administrator password. Note that the password will not appear on screen as you type. Once executed, the command clears the local cache. This step is particularly useful if you recently changed networks or routers, as residual data might conflict with the new network configuration. For more details on managing DNS issues on macOS, see our guide on Cannot clear DNS cache on MacOS Monterey.
Reset Chromium’s Network State
If the system settings are correct but the error persists within the browser, Chromium itself may be holding onto broken sockets. A simple restart often suffices, but a deeper reset ensures all network-related configurations are refreshed.
First, quit Chromium completely by pressing Cmd + Q. Then, relaunch the browser. If the problem continues, consider clearing the browsing data associated with network requests. Navigate to Settings > Privacy and security > Clear browsing data. Select Cached images and files and click Clear data. This removes locally stored resources that might be tied to previous network states.
Additionally, check if any extensions are interfering with network traffic. Disable all extensions temporarily and test the connection. Some ad blockers or privacy tools inject scripts that can disrupt socket handling during network switches. If disabling extensions resolves the issue, re-enable them one by one to identify the culprit.
Check Firewall and Security Software
Third-party security software or macOS firewall settings can sometimes block or redirect network traffic unexpectedly, triggering the error. Ensure that your firewall is not set to block incoming connections for Chromium unnecessarily.
Go to System Settings > Network > Firewall. Ensure that the firewall is either off or configured to allow incoming connections for Chromium. If you use third-party antivirus or VPN software, try disconnecting the VPN temporarily. VPNs often create virtual network interfaces that can confuse the system’s service order, leading to conflicts between physical and virtual adapters. Disconnecting the VPN isolates whether the virtual interface is causing the instability.
Frequently Asked Questions
Why does ERR_NETWORK_CHANGED happen only on specific websites?
This usually indicates that those specific sites use WebSocket connections or aggressive polling that are highly sensitive to latency spikes. When the network interface switches, the handshake fails, causing the browser to abort the request. Sites using standard HTTP/HTTPS GET requests are less likely to trigger this error compared to real-time apps like chat or video feeds.
Can I disable Wi-Fi automatically when Ethernet is connected?
macOS does not have a native "disable Wi-Fi when Ethernet is plugged in" toggle, but setting the Service Order correctly achieves the same result. By prioritizing Ethernet, macOS ignores Wi-Fi traffic unless the wired connection is physically disconnected. This prevents the dual-interface confusion that leads to network change errors.
Is this error related to my ISP or router?
Generally, no. The error originates from the client-side detection of network instability rather than a server-side outage. However, if your router is aggressively renegotiating DHCP leases or has faulty NAT tables, it can cause brief disconnects that mimic this error. Checking your router logs for frequent disconnects can help rule out hardware issues.
Does updating macOS fix this issue permanently?
Updates often include improvements to the networking stack and Chromium’s bundled components, which can mitigate bugs. However, since the root cause is often configuration-based (service order), an update alone may not fix it if the underlying preference settings remain unchanged. Always adjust service order after updating.
What should I do if the error persists after flushing DNS?
If flushing the DNS cache does not resolve the issue, try resetting the network configuration entirely. Go to System Settings > Network, click the ..., and select Reset Service Order to restore defaults, then re-apply your preferred order. Alternatively, delete the network preferences file (/Library/Preferences/SystemConfiguration/preferences.plist) after backing it up, though this requires advanced technical knowledge.