Joseph Caropepe A Journey

How to Fix Chrome’s Local Network Access on macOS

02.03.2025 · Posted in Computers & Technology, Uncategorized

Have you ever encountered the frustrating “ERR_ADDRESS_UNREACHABLE” error in Chrome when trying to access devices on your local network (like your homelab servers), while Safari works perfectly fine? You’re not alone!

This issue has been popping up for users, especially after macOS updates or Chrome upgrades, as seen in discussions on Reddit (like this one: Chrome cannot access local network) and Stack Exchange (Why can’t Chrome connect to devices on my local network in macOS 15.2). Even macOS Sequoia users have reported similar problems (Something has changed in Sequoia in regards to local network access). This blog post details a particularly challenging case and its eventual solution, which might just save your sanity.

The Problem:

I experienced this exact issue. Chrome, including incognito mode, stubbornly refused to connect to local IP addresses, displaying the dreaded “ERR_ADDRESS_UNREACHABLE” message. Safari, however, had no problems. Standard troubleshooting steps, like toggling Local Network permissions, clearing caches, and even reinstalling Chrome, did not work. It was also odd that macOS was showing multiple entries for Chrome in the Local Network permissions list – a definite red flag.

The Clues:

Several key clues emerged during troubleshooting:

  • Incognito Mode Failure: The problem persisted even in incognito mode, ruling out a corrupted user profile as the primary cause.
  • Multiple Chrome Entries: The presence of multiple Chrome entries in the Privacy settings pointed to a deeper issue with Chrome’s installation or configuration.
  • Renaming the Executable: The most significant breakthrough came when I discovered renaming the Chrome executable (within the .app bundle) allowed Chrome to access the local network. This strongly suggested that macOS’s security system (TCC or Gatekeeper) was specifically targeting the original Google Chrome executable.
  • xattr and Re-signing: The “resource fork, Finder information, or similar detritus not allowed” error during a re-signing attempt was a clear indication of a corrupted application bundle.

The Solution:

The solution involved a combination of meticulous cleanup and code re-signing:

  1. Thorough Chrome Removal: A dedicated uninstaller (like AppCleaner) was used to remove Chrome, followed by a manual check of all Chrome-related directories (~/Library/Application Support/Google/Chrome, ~/Library/Caches/Google/Chrome, ~/Library/Preferences, etc.) to ensure every single trace of Chrome was gone. A restart was performed after uninstallation.
  2. Extended Attribute Removal: The xattr command was used to remove extended attributes from the Chrome application bundle, which were interfering with the code signing process. In Terminal, from the /Applications directory the command used was:

    xattr -rc "Google Chrome.app"
  3. Code Re-signing: The Chrome executable was then re-signed using the codesign command in Terminal. This step re-established a valid code signature for Chrome, allowing macOS to recognize it as a trusted application. The command used (from within /Applications) was:

    codesign --force --deep --sign "Developer ID Application: [Your Apple ID]" "Google Chrome.app/Contents/MacOS/Google Chrome"

    (replace [Your Apple ID] with your Apple Developer ID or use “–sign -” if you don’t have one).

The Root Cause:

While the exact root cause remains somewhat elusive, the most likely scenario is a corrupted Chrome installation or update that left behind residual files or corrupted metadata. This, in turn, led to code signing issues and TCC or Gatekeeper blocking the original Chrome executable.

The Takeaway:

If you encounter this issue, don’t despair! The key is to be meticulous in cleaning up after uninstalling Chrome, use the xattr command to clear extended attributes, and then re-sign the Chrome executable. The renaming trick is a great diagnostic tool, but it’s essential to fix the underlying code signing or TCC issue for a permanent solution. Hopefully, this detailed explanation will help others struggling with the same frustrating problem!