Battle.net Desktop Login Fails with Safari on macOS Tahoe 26.4.1 Due to Localhost Callback Failure
Environment
-
macOS: Tahoe 26.4.1
-
Safari: 26.4.1 (605.1.15)
-
Battle.net Desktop App: 2.52.2.17534
-
Hardware: Apple Silicon Mac
-
Firefox: Latest release (works correctly)
Summary
Battle.net Desktop cannot complete login when using Safari.
Authentication succeeds in Safari and reaches the Battle.net success page, but the Battle.net launcher remains indefinitely on:
“Use your browser to complete the login.”
The identical login succeeds immediately when Firefox is used as the default browser.
This appears to be a failure of the browser-to-launcher localhost callback.
Steps to Reproduce
-
Install the Battle.net Desktop app.
-
Set Safari as the default browser.
-
Launch Battle.net.
-
Click Log In.
-
Authenticate successfully.
-
Safari displays:
https://us.account.battle.net/login/flow/end?captchaRequired=false&isMASDK=false#
with the message:
“You can now return to your Battle.net game or app.”
- Return to the Battle.net launcher.
Expected Result
Battle.net receives the authentication callback and completes login.
Actual Result
Battle.net remains indefinitely on:
“Use your browser to complete the login.”
The login never completes.
Browser Comparison
Safari 26.4.1
Using Web Inspector:
The Battle.net page first attempts:
https://localbattle.net:<random_port>/login-callback/<id>
This fails due to a TLS handshake failure.
The page then falls back to:
http://127.0.0.1:<random_port>/login-callback/<id>
Safari blocks this request as mixed content.
Console output includes:
The page requested insecure content from
http://127.0.0.1:<port>/login-callback/<id>
This content was blocked.
XMLHttpRequest cannot load
http://127.0.0.1:<port>/login-callback/<id>
due to access control checks.
Failed to load resource:
A TLS error caused the secure connection to fail.
Firefox
Using the identical Battle.net build and account:
Firefox performs:
POST http://127.0.0.1:<random_port>/login-callback/<id>
Response:
HTTP/1.1 200 OK
Headers include:
Access-Control-Allow-Origin:
https://account.battle.net
Battle.net immediately completes login.
TLS Diagnostics
While Battle.net is waiting for authentication:
curl -vk https://localbattle.net:<port>/login-callback/<id>
Result:
Connected to 127.0.0.1
TLS handshake failure
OpenSSL:
openssl s_client \
-connect localbattle.net:<port> \
-servername localbattle.net
Result:
CONNECTED
SSL alert handshake failure
no peer certificate available
The localhost callback server accepts the TCP connection but terminates the TLS handshake before presenting a certificate.
Observations
The login itself is successful.
The failure occurs only during the final callback from the browser to the Battle.net Desktop launcher.
Current behavior appears to be:
Browser
│
▼
https://us.account.battle.net/login/flow/end
│
▼
Attempt HTTPS callback
https://localbattle.net:<port>/login-callback
│
▼
TLS handshake fails
│
▼
Fallback
http://127.0.0.1:<port>/login-callback
│
▼
Safari blocks mixed content
│
▼
Battle.net never receives callback
Firefox succeeds because the HTTP localhost callback completes successfully.
Impact
Safari users on macOS cannot log into the Battle.net Desktop app.
The only current workaround is to change the default browser to Firefox (or another browser that allows the localhost callback), complete login, then optionally switch the default browser back.
Additional Notes
I have confirmed that this is not caused by:
-
Private Relay
-
Hide IP Address from Trackers
-
Prevent Cross-Site Tracking
-
Battle.net cache
-
Fresh Battle.net installation
-
Incorrect
blizzard://protocol registration
The failure is consistently reproducible on Safari 26.4.1 and disappears immediately when Firefox is used.