Command Line (CLI)

The cyborg CLI — install it, log in to the relay, and drive terminals on any daemon you have access to, all from the command line.

The cyborg CLI lets you work from a terminal: log in to the relay and drive terminals running on any daemon you have access to. Cyborg7 is CLI-first — everything you can do in the app, you can script from the shell.

Install

On Linux the CLI ships with the headless daemon installer (it bundles its own runtime, so no system Node is required):

curl -fsSL https://raw.githubusercontent.com/Cyborg7-com/cyborg7-releases/main/cyborg-cli/install.sh | sh

On macOS and Windows the desktop app bundles the same cyborg binary.

Authenticate

Log in to the relay and save your credentials locally. You can pass --email / --password (or set CYBORG_PASSWORD), point at a self-hosted relay with --url, or reuse an existing --token.

cyborg login --email you@example.com

Confirm who you're logged in as and check daemon/relay connectivity:

cyborg whoami   # show the logged-in user
cyborg status   # show daemon + relay status

Terminals

The cyborg terminal command group drives real terminals running on any daemon you have access to. You can open one, send keystrokes, and read its output entirely from the CLI — no GUI needed. Input is gated by ownership: you can only write to terminals you own.

Commands that take a <terminal-id> accept a full ID, a unique ID prefix, or the terminal's name. Add --host <host> to target a specific daemon.

List terminals

Lists terminals in the current workspace directory. Add --all to list across all workspaces and daemons, or --cwd <path> to scope to a directory.

cyborg terminal ls [--all] [--cwd <path>]

Create a terminal

Opens a new terminal. --cwd sets the working directory (defaults to the current one) and --name gives it a name you can reference later.

cyborg terminal create [--cwd <path>] [--name <name>]

Send keystrokes

Writes input into a terminal. Special tokens like Enter, Tab, Escape, and C-c are interpreted as the matching control sequences; pass --literal to send them verbatim instead.

cyborg terminal send-keys <terminal-id> "<keys>" [Enter] [--literal]

Capture output

Reads the terminal's current screen. Add --scrollback to read from the beginning of history, --ansi to keep color/escape codes, or --json for machine-readable output.

cyborg terminal capture <terminal-id> [--scrollback] [--ansi] [--json]

Kill a terminal

Closes the terminal and frees its process.

cyborg terminal kill <terminal-id>

End-to-end example

Open a terminal, run a command in it, and read the result — entirely from the CLI:

# 1. Create a named terminal and note its id
cyborg terminal create --name demo

# 2. Type a command and press Enter
cyborg terminal send-keys demo "ls -la" Enter

# 3. Read what the terminal printed
cyborg terminal capture demo

# 4. Close it when you're done
cyborg terminal kill demo

Because terminals are referenced by name or ID prefix, the same flow works against a terminal running on any daemon you have access to — just add --host.

Next steps