diff --git a/src/components/NavigationDocs.jsx b/src/components/NavigationDocs.jsx
index 09efdc0a..f7f9e308 100644
--- a/src/components/NavigationDocs.jsx
+++ b/src/components/NavigationDocs.jsx
@@ -48,7 +48,7 @@ export const docsNavigation = [
{ title: 'Add Peers', href: '/how-to/add-machines-to-your-network' },
{ title: 'Approve Peers', href: '/how-to/approve-peers' },
{ title: 'Setup Keys', href: '/how-to/register-machines-using-setup-keys' },
- { title: 'Lazy connections concept', href: '/how-to/lazy-connection'},
+ { title: 'Lazy Connections', href: '/how-to/lazy-connection'},
{
title: 'Access Infrastructure',
isOpen: true,
diff --git a/src/pages/how-to/lazy-connection.mdx b/src/pages/how-to/lazy-connection.mdx
index c703dbd7..5b7a31f6 100644
--- a/src/pages/how-to/lazy-connection.mdx
+++ b/src/pages/how-to/lazy-connection.mdx
@@ -1,24 +1,29 @@
import {Note} from "@/components/mdx";
-# Overview
+# Lazy Connections
NetBird now includes an experimental lazy connection feature designed to improve performance and reduce resource usage by connecting to peers only when needed. Instead of maintaining always-on connections, NetBird activates them on-demand based on activity or signaling.
This guide walks you through enabling and configuring this feature in your NetBird client.
- Minimum supported agent version: v0.45.0
+ Minimum supported agent version: v0.45.0.
+ This or higher version must also be installed on the peers you are trying to access for lazy connections to function.
- Self-hosted only: This feature also requires an upgraded NetBird management server. Make sure your server is updated to the v0.45.0 version that supports lazy connections.
+ This feature also requires an upgraded NetBird Management server.
+ If you're self-hosting NetBird, ensure your server is updated to version v0.45.0, which adds support for lazy connections.
+
+ This feature is currently under active development and will continue to evolve. Future releases will enhance disconnection logic and add support for accessing resources through routing peers, which is not yet available.
+
## What Are Lazy Connections?
-When enabled, Lazy Connections allow the NetBird agent to:
+When enabled, lazy connections allow the NetBird agent to:
-- Establish peer-to-peer connections **only when required** (e.g., when ping the remote peer).
+- Establish peer-to-peer connections **only when needed** (e.g., when pinging a remote peer).
- Monitor peer activity and **automatically disconnect peers** that remain inactive **and unreachable** for a specified time.
- Keep critical peers (such as routers or excluded peers) **always connected** to ensure uninterrupted communication.
@@ -41,11 +46,9 @@ In other words, the inactivity timer only triggers a disconnect if the peer is b
Additionally, the disconnection logic is being improved and will be enhanced in future releases to better support mobile devices—providing more intelligent reconnection behavior and improved handling of intermittent connectivity.
-## Enabling Lazy Connections
+## Enabling Lazy Connections on agent
-Lazy connections are disabled by default. To enable them:
-
-You can enable Lazy Connections using the following environment variable:
+Lazy connections are disabled by default. You can enable Lazy Connections using the following environment variable:
```bash
export NB_ENABLE_EXPERIMENTAL_LAZY_CONN=true
@@ -56,18 +59,20 @@ Or pass the flag directly via the CLI when running the agent:
```bash
netbird up --enable-lazy-connection
```
-
+
This configuration is not persistent. You must reapply the flag or environment variable after each restart unless it is built into your service definition (e.g., systemd or Docker).
-### Platform-Specific Examples
-For platform-specific examples of how to configure this:
-
-- [See Windows example](/how-to/troubleshooting-client#windows)
-- [See Linux with systemd example](/how-to/troubleshooting-client#on-linux-with-systemd)
+## Enabling Lazy Connections in the NetBird Dashboard
+The lazy connection feature can also be configured through the NetBird Dashboard. Here’s how it works once the setting is updated:
+Setting enabled:
+* The client’s lazy connection manager is now active. Existing peer connections and ongoing connection attempts will remain unchanged for one hour.
+After that, any connection that couldn't be established due to unavailable remote peers will transition to an idle state.
+Setting disabled:
+* The lazy connection manager is now disabled. The client will immediately attempt to establish connections with all remote peers.
## Get started