Skip to content

Remote Daemons

Remote daemons let you run HumanLayer-controlled coding sessions on a machine you choose: a cloud VM, a workstation, or a host inside a private network.

Install the CLI

Install the HumanLayer CLI globally on the machine that will run the daemon.

bash
npm install -g @humanlayer/cli@latest
humanlayer --help

Option 1: interactive login

Use interactive login when you have an interactive terminal on the daemon host. This stores credentials on that machine, so you can stop and restart the daemon without generating a new launch token each time.

Run the login command and complete the device authorization flow in your browser.

bash
humanlayer login

The CLI prints a verification URL and user code. Open the URL, complete auth, select the organization if prompted, then return to the terminal.

After login succeeds, launch the daemon.

bash
humanlayer daemon launch

For beta, pass the beta environment flag to both commands.

bash
humanlayer --beta login
humanlayer --beta daemon launch

Option 2: launch token

Use a launch token when you need one non-interactive command, such as a shell without an interactive PTY or a one-time remote bootstrap script.

Open the HumanLayer app and go to Settings -> Daemons. Generate a daemon launch token, then copy it to the machine where the daemon will run.

Launch tokens are short-lived. If a token expires before the daemon starts, generate a new one from the app.

bash
humanlayer daemon launch --launch-token <TOKEN>

For beta, add the beta environment flag.

bash
humanlayer daemon launch --launch-token <TOKEN> --beta

After the daemon connects, use the HumanLayer app from any browser to create and manage sessions on that machine. You can open app.humanlayer.com to drive sessions run by the daemon; the native app is optional for this workflow.

Browser app limitations

Remote daemon sessions can be driven from app.humanlayer.com, but a few native-app features are not available yet:

  • Workspace management and configuration editing.
  • Embedded terminal access.
  • Directory auto-complete when choosing paths.

These features are planned for the browser app and will be added in the near future.

When to use a remote daemon

  • You need agents to access code, tools, or credentials that live on a specific machine.
  • You want browser-based control while the actual work happens on a more powerful host.
  • You need to run sessions near private infrastructure that is not reachable from your laptop.
  • You want a repeatable daemon process for a workstation or shared development box.

Safety notes

  • Treat launch tokens like credentials until they expire.
  • The daemon command does not manage its own long-running process lifecycle. If you start it over SSH, run it inside tmux, screen, or another process supervisor so you can detach before disconnecting and keep the daemon running.
  • Run the daemon as a user with only the filesystem and network access the agent should have.
  • Stop the daemon when you no longer want the machine to accept HumanLayer sessions.