Tailscale: attempt non-interactive sudo#1551
Merged
steipete merged 4 commits intoJan 24, 2026
Merged
Conversation
To avoid permission denied errors when modifying Tailscale configuration (serve/funnel), we now prepend `sudo -n` to these commands. This ensures that if the user has appropriate sudo privileges (specifically passwordless for these commands or generally), the operation succeeds. If sudo fails (e.g. requires password non-interactively), it will throw an error which is caught and logged as a warning, preserving existing behavior but attempting to escalate privileges first. - Updated `ensureFunnel` to use `sudo -n` for the enabling step. - Updated `enableTailscaleServe`, `disableTailscaleServe`, `enableTailscaleFunnel`, `disableTailscaleFunnel` to use `sudo -n`. - Added tests in `src/infra/tailscale.test.ts` to verify `sudo` usage.
To avoid permission denied errors when modifying Tailscale configuration (serve/funnel), we now prepend `sudo -n` to these commands. This ensures that if the user has appropriate sudo privileges (specifically passwordless for these commands or generally), the operation succeeds. If sudo fails (e.g. requires password non-interactively), it will throw an error which is caught and logged as a warning, preserving existing behavior but attempting to escalate privileges first. - Updated `ensureFunnel` to use `sudo -n` for the enabling step. - Updated `enableTailscaleServe`, `disableTailscaleServe`, `enableTailscaleFunnel`, `disableTailscaleFunnel` to use `sudo -n`.
To avoid permission denied errors when modifying Tailscale configuration (serve/funnel), we now attempt the command directly first. If it fails, we catch the error and retry with `sudo -n`. This preserves existing behavior for users where it works, but attempts to escalate privileges (non-interactively) if needed. - Added `execWithSudoFallback` helper in `src/infra/tailscale.ts`. - Updated `ensureFunnel`, `enableTailscaleServe`, `disableTailscaleServe`, `enableTailscaleFunnel`, and `disableTailscaleFunnel` to use the fallback helper. - Added tests in `src/infra/tailscale.test.ts` to verify fallback behavior.
Contributor
lovewanwan
pushed a commit
to lovewanwan/openclaw
that referenced
this pull request
Apr 28, 2026
ogt-redknie
pushed a commit
to ogt-redknie/OPENX
that referenced
this pull request
May 2, 2026
github-actions Bot
pushed a commit
to Desicool/openclaw
that referenced
this pull request
May 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Modifying Tailscale configuration does not work without sudo by default. By attempting passwordless sudo (
sudo -n) we can potentially streamline the setup for non-root installs. Currently Tailscale errors are guaranteed to happen unless Clawdbot is running as root or the user has manually enabled nonroot user Tailscale control already.(Code written by Google Jules)