Get started
BETA
Browse docs

Platform support

macOS, Linux, and Windows — what's supported for managed worker tunnel services.

Worker tunnels have two modes: foreground (worker start) and managed service (worker install). Foreground is supported everywhere; managed services depend on the platform.

Support matrix

PlatformForeground (worker start)Managed service (worker install)
macOSSupportedSupported — launchd-user agent
LinuxSupportedSupported — systemd --user unit
WindowsSupportedNot supported — use worker start under your own supervisor

macOS

Workers are installed as a launchd user agent under ~/Library/LaunchAgents/. launchd-user agents survive logout natively on macOS — there is nothing extra to configure. The service starts automatically on the next login after worker install.

# Verify the service is registered
launchctl list | grep justtunnel
 
# Manually restart if the service is misbehaving
launchctl kickstart -k gui/$(id -u)/com.justtunnel.worker.<name>

Flags --no-linger and --non-interactive are accepted but have no effect on macOS. The CLI emits a stderr warning if you pass them, so scripted callers can catch the misuse.


Linux

Workers are installed as a systemd --user unit. By default the service runs only while you are logged in. To keep it running after logout, enable user-linger.

User-linger

When worker install runs, the installer prompts whether to enable linger. Your options:

  • Approve the promptloginctl enable-linger $USER runs automatically. The service stays up after logout and across reboots.
  • --no-linger — skips the prompt and accepts session-bound behavior. The service stops when you log out.
  • --non-interactive — equivalent to --no-linger; use in CI and provisioning scripts.

To enable linger manually after a --no-linger install:

sudo loginctl enable-linger $USER

To confirm linger is enabled:

loginctl show-user $USER | grep Linger
# Linger=yes

Useful commands

# Show unit status
systemctl --user status justtunnel-worker-<name>
 
# Restart the unit
systemctl --user restart justtunnel-worker-<name>
 
# View service logs (alternative to `worker logs`)
journalctl --user -u justtunnel-worker-<name> -f

Windows

worker install is not supported on Windows. The managed-service path requires a platform service supervisor; the Windows adapter is not yet implemented.

Alternatives:

  • Task Scheduler — create a task that runs justtunnel worker start <name> on user login. Set it to restart on failure.
  • NSSM (Non-Sucking Service Manager) — wraps worker start as a Windows service that starts on boot.
  • Foreground with your own runner — run worker start <name> in a terminal or from a startup script.

In all cases, worker create <name> first to register the worker server-side. Then use your chosen supervisor to keep worker start <name> running.

On this page