[GH-ISSUE #6041] iOS: VPN On Demand Not Connecting #12726

Open
opened 2026-08-05 02:06:33 -04:00 by saavagebueno · 1 comment
Owner

Originally created by @0xAPPA on GitHub (Apr 30, 2026).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/6041

Describe the problem

When VPN On Demand is enabled on iOS, the app fails to re-establish a connection after the session expires (approximately 24 hours) or when the iOS peer is removed from the management console. The app cycles indefinitely between "Connecting" and "Disconnected" states without ever presenting the login window, making it impossible to re-authenticate without manual intervention.

To Reproduce

  1. Open the iOS app and connect to VPN.
  2. Enable On Demand VPN with a Network Exception configured.
  3. Trigger the Network Exception to disable the VPN.
  4. Wait 24 hours for the session to expire, or manually remove the iOS peer from https://app.netbird.io/peers.
  5. Switch networks again to trigger On Demand VPN reconnection.
  6. Observe that a connection cannot be established — the app alternates between "Connecting" and "Disconnected" with no login prompt or error message displayed.
  7. Disabling On Demand VPN and manually tapping Connect correctly surfaces the login window.

Expected behavior

When VPN On Demand triggers a reconnection attempt and the session has expired, the app should either:

  • Automatically handle session refresh in the background, or
  • Surface the login window to allow the user to re-authenticate.

Currently, neither occurs — the app stalls silently with no actionable feedback.

Environment

  • Platform: iOS
  • NetBird version: 0.1.5
  • Deployment: NetBird Cloud

Additional context
I noticed that that in https://app.netbird.io/peers you can disable Session Expiration on the iOS peer. That will certainly resolve this issue.

Troubleshooting steps completed

  • Reviewed client troubleshooting documentation
  • Checked for newer NetBird versions
  • Searched for similar issues on GitHub (including closed ones)
  • Restarted the NetBird client
  • Disabled other VPN software
  • Checked firewall settings
Originally created by @0xAPPA on GitHub (Apr 30, 2026). Original GitHub issue: https://github.com/netbirdio/netbird/issues/6041 **Describe the problem** When VPN On Demand is enabled on iOS, the app fails to re-establish a connection after the session expires (approximately 24 hours) or when the iOS peer is removed from the management console. The app cycles indefinitely between "Connecting" and "Disconnected" states without ever presenting the login window, making it impossible to re-authenticate without manual intervention. **To Reproduce** 1. Open the iOS app and connect to VPN. 2. Enable On Demand VPN with a Network Exception configured. 3. Trigger the Network Exception to disable the VPN. 4. Wait 24 hours for the session to expire, or manually remove the iOS peer from https://app.netbird.io/peers. 5. Switch networks again to trigger On Demand VPN reconnection. 6. Observe that a connection cannot be established — the app alternates between "Connecting" and "Disconnected" with no login prompt or error message displayed. 7. Disabling On Demand VPN and manually tapping Connect correctly surfaces the login window. **Expected behavior** When VPN On Demand triggers a reconnection attempt and the session has expired, the app should either: - Automatically handle session refresh in the background, or - Surface the login window to allow the user to re-authenticate. Currently, neither occurs — the app stalls silently with no actionable feedback. **Environment** - **Platform:** iOS - **NetBird version:** 0.1.5 - **Deployment:** NetBird Cloud **Additional context** I noticed that that in https://app.netbird.io/peers you can disable Session Expiration on the iOS peer. That will certainly resolve this issue. **Troubleshooting steps completed** - [x] Reviewed [client troubleshooting documentation](https://docs.netbird.io/how-to/troubleshooting-client) - [x] Checked for newer NetBird versions - [x] Searched for similar issues on GitHub (including closed ones) - [x] Restarted the NetBird client - [ ] Disabled other VPN software - [ ] Checked firewall settings
saavagebueno added the triage-needed label 2026-08-05 02:06:33 -04:00
Author
Owner

@ZeroSegFault commented on GitHub (Jun 20, 2026):

I am experiencing this exact issue also. Did you find a fix or work around?

<!-- gh-comment-id:4760694790 --> @ZeroSegFault commented on GitHub (Jun 20, 2026): I am experiencing this exact issue also. Did you find a fix or work around?
Sign in to join this conversation.
No Label triage-needed
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#12726