Local Network permission appears to be ignored after reboot, even though it was granted

We have a Java application built for macOS. On the first launch, the application prompts the user to allow local network access. We've correctly added the NSLocalNetworkUsageDescription key to the Info.plist, and the provided description appears in the system prompt.

After the user grants permission, the application can successfully connect to a local server using its hostname. However, the issue arises after the system is rebooted. When the application is launched again, macOS does not prompt for local network access a second time—which is expected, as the permission was already granted.

Despite this, the application is unable to connect to the local server. It appears the previously granted permission is being ignored after a reboot. A temporary workaround is to manually toggle the Local Network permission off and back on via System Settings > Privacy & Security, which restores connectivity—until the next reboot.

This behavior is highly disruptive, both for us and for a significant number of our users. We can reproduce this on multiple systems...

The issues started from macOS Sequoia 15.0

By opening the application bundle using "Show Package Contents," we can launch the application via "JavaAppLauncher" without any issues. Once started, the application is able to connect to our server over the local network. This seems to bypass the granted permissions? "JavaAppLauncher" is also been used in our Info.plist file

If you try something similar with a test project you build in Xcode, does it have the same problem?

IMPORTANT Make sure to sign your app with a stable code signing identity, such as an Apple Development identity. If you choose Sign to Run Locally, the system won’t be able to track the identity of your properly. For more about this, see TN3127 Inside Code Signing: Requirements.

This is relevant because:

  • If the test project works correctly, this is probably related to the way your Java app is packaged or signed.
  • If the test project exhibits the same failure, that suggests an environmental issue.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

With a test project do you mean to strip the complete java application and keep only the part that is not working and build it in Xcode?

Nope. I’m suggesting you create a new test project, with no Java code, that does some local networking. That’ll tell you whether you have an environmental issue (that is, local network privacy is just broken on your Mac for some reason) or a code issue (that is, the issue is specific to your Java app).

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Local Network permission appears to be ignored after reboot, even though it was granted
 
 
Q