netbirdio/netbird · error

start extend session: %v

Error message

start extend session: %v

What it means

Error "start extend session: %v" thrown in netbirdio/netbird.

Source

Thrown at client/cmd/login.go:205

	defer conn.Close()

	client := proto.NewDaemonServiceClient(conn)

	// the CLI runs in the user's session, the daemon does not: tell it what we can see
	req := &proto.RequestExtendAuthSessionRequest{HasGraphicalSession: util.HasGraphicalSession()}
	// Pre-fill the IdP login hint from the active profile so the user
	// doesn't have to retype their email. Best-effort: we still proceed
	// without a hint if the lookup fails.
	pm := profilemanager.NewProfileManager()
	if active, perr := pm.GetActiveProfile(); perr == nil {
		if profState, sperr := pm.GetProfileState(active.ID); sperr == nil && profState.Email != "" {
			req.Hint = &profState.Email
		}
	}

	startResp, err := client.RequestExtendAuthSession(ctx, req)
	if err != nil {
		return fmt.Errorf("start extend session: %v", err)
	}

	uri := startResp.GetVerificationURIComplete()
	if uri == "" {
		uri = startResp.GetVerificationURI()
	}
	openURL(cmd, uri, startResp.GetUserCode(), noBrowser, showQR)

	waitResp, err := client.WaitExtendAuthSession(ctx, &proto.WaitExtendAuthSessionRequest{
		DeviceCode: startResp.GetDeviceCode(),
		UserCode:   startResp.GetUserCode(),
	})
	if err != nil {
		return fmt.Errorf("wait for extend session: %v", err)
	}

	if ts := waitResp.GetSessionExpiresAt(); ts.IsValid() && !ts.AsTime().IsZero() {
		deadline := ts.AsTime().Local()

View on GitHub (pinned to 93e97f4bf1)

When it happens

Trigger: Thrown at client/cmd/login.go:205 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of netbirdio/netbird@93e97f4bf1 (2026-08-16). Data as JSON: /api/errors/283b6dedcf673f35. Report an issue: GitHub.