The agent CLI is Go’s flag package: help text prints single-dash names (-token, -port). Double-dash forms like --token are accepted too. Pass -h on a subcommand for the current flag set.
The binary name is hookdeployed. Examples below use that name.
enroll
Authenticate this machine to your organization and store credentials.
hookdeployed enroll
hookdeployed enroll -token hd_enroll_...
- Device-code (interactive): prints a URL, tries to open a browser, and waits for approval. Needs a real terminal.
- Token (scripted/CI):
-tokenwith a one-time enrollment token from the dashboard.
Common flags: -certs (cert store directory), -enroll-url (enrollment worker base URL), -no-tty (read the browser code from stdin), -client (enrollment client identifier; the Desktop Agent sets this for itself).
connect
Connect and stay connected so deliveries can arrive.
hookdeployed connect
hookdeployed connect -region us-east
- Without
-region, a relay is assigned automatically. -regionprefers a region and falls back unless-enforceis set.-relay hostorhost:portpins a specific relay (default port9443).- Also:
-fallback a,b,-ping-interval,-certs,-enroll-url.
list
Show enrolled organizations on this machine.
hookdeployed list
hookdeployed list -json
switch
Change which enrolled organization is active. Only the active org’s traffic is delivered.
hookdeployed switch
hookdeployed switch <name-or-slug-or-id>
Interactive mode uses a TTY picker when you omit the argument.
unenroll
Remove this machine from an organization (revokes on the server unless -local-only).
hookdeployed unenroll
hookdeployed unenroll <name-or-slug-or-id>
hookdeployed unenroll -yes
hookdeployed unenroll -local-only
-yesskips the confirmation prompt.-local-onlydeletes local credentials without revoking the agent server-side.
rename
Set the agent’s display name for the active organization.
hookdeployed rename -name "staging-box"
hookdeployed rename staging-box
-name with an empty value clears the display name back to the hostname fallback.
tap
Temporarily mirror live endpoint or destination traffic to a local port and path. See Using taps.
hookdeployed tap <endpoint-id> [<destination-id>] -port 3000 -path /hooks
hookdeployed tap <endpoint-id> -port 3000 -path /hooks -duration 2h
hookdeployed tap list
hookdeployed tap list -json
hookdeployed tap stop
hookdeployed tap stop <tap-id>
-portand-pathare required to start a tap (-pathmust start with/).-durationis a Go duration (for example2h). The server clamps at 8 hours.- Omitting destination id taps the endpoint (raw). With a destination id, you get destination-shaped traffic.
- Starting a tap blocks in a terminal until Ctrl+C (or use
-no-ttyfor headless stop-on-stdin-close).tap stopends a tap early.