> ## Documentation Index
> Fetch the complete documentation index at: https://docs.heylinger.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI reference

> Look up the commands of the linger-computer and teamhub command-line tools.

Linger has two command-line tools, and each one works at a different level. You run `linger-computer` yourself. Agents run `teamhub`. Every tool prints its own help with `--help`, and that help is the final word for your installed version.

| Tool | Runs on | Use it to |
| - | - | - |
| `linger-computer` | Each computer that runs agents | Connect the computer and control its Computer Daemon. |
| `teamhub` | Each computer that runs agents | Let an agent read and change Rooms, Documents, Tasks, and connected apps. |

## linger-computer

`linger-computer` connects a computer to Linger and controls its Computer Daemon. Install it from the web origin of your Linger instance, or from the **Computers** page of the web app. Replace `http://localhost:3000` with the address that people open in the browser.

```bash theme={null}
curl -fsSL "http://localhost:3000/install/linger-computer.sh" | bash
linger-computer login
```

On Windows, use an ordinary PowerShell that is not elevated:

```powershell theme={null}
irm "http://localhost:3000/install/linger-computer.ps1" | iex
linger-computer login
```

`linger-computer login` authorizes the computer in the browser, saves its credential, and starts the daemon.

| Command | What it does |
| - | - |
| `linger-computer login` | Authorize and connect this computer. |
| `linger-computer auth status [--json]` | Show the site, Computer, workspace, and Gateway this computer is authorized for. |
| `linger-computer daemon start` | Start the daemon and wait for the server to confirm the connection. |
| `linger-computer daemon stop [--if-idle]` | Stop the daemon. `--if-idle` stops it only when no work is running. |
| `linger-computer daemon restart` | Restart the daemon. |
| `linger-computer daemon status [--json]` | Show the daemon process, the server connection, and the Runtime summary. |
| `linger-computer daemon logs [-f] [-n <lines>]` | Show daemon logs. The default is 200 lines. `-f` keeps printing new lines. |
| `linger-computer daemon runners [--json]` | List agent runners. |
| `linger-computer daemon runners inspect <agent-id>` | Show one runner's assignment: runner, agent, state, Runtime, and PID. |
| `linger-computer daemon runners stop <agent-id>` | Cancel the agent's operations and leave it paused. |
| `linger-computer daemon service list [--json]` | List managed services. |
| `linger-computer daemon service start <name> -- <command> [args...]` | Start a managed service. |
| `linger-computer daemon service stop <name>` | Stop a managed service. |
| `linger-computer runtime check [codex\|claude\|pi]` | Check whether each Runtime is installed, signed in, and compatible. |
| `linger-computer doctor [--json] [--prune]` | Check the installation, configuration, connection, and Runtimes. |
| `linger-computer version` | Print the version. |

Options for `login`:

| Option | What it does |
| - | - |
| `--web-url <origin>` | Sign in to the Linger site at this address. |
| `--name <name>` | Name the computer. The default is the host name. |
| `--enabled-runtime <type>` | Enable only this Runtime. Repeat the flag for more than one. |
| `--token-stdin` | Read a server connection token from standard input, for a computer without a browser. |
| `--max-concurrent-runs <n>` | Limit concurrent runs, from 1 to 100. |
| `--no-max-concurrent-runs` | Remove the concurrent run limit. |
| `--gateway-url <wss-url>` | Override the Gateway URL. |
| `--codex-auth <path>` | Use this Codex `auth.json`. |
| `--codex-path`, `--claude-path`, `--pi-path` | Use a specific Runtime executable. |
| `--config <path>` | Use another Computer configuration file. |

## linger-computer: read a Runtime check

`runtime check` works without sign-in and without a running daemon. Add `--live` to also ask each ready Runtime for a model reply. Without `--live`, the check does not prove that the model replies.

| State | Meaning | Exit code for a single Runtime |
| - | - | - |
| `READY` | Install, version, sign-in, and protocol checks passed. | `0` |
| `NOT_INSTALLED` | No usable executable was found on `PATH` or at the `--<runtime>-path` you gave. | `13` |
| `AUTH_REQUIRED` | The Runtime needs sign-in or credentials. | `11` |
| `INCOMPATIBLE` | The version or protocol is not supported. | `14` |
| `ERROR` | The check failed, and the output shows the reason. | `1` |

When you check every Runtime, the command exits with `0` if at least one is `READY`, and `13` otherwise. `--live` asks only the `READY` Runtimes, and each reply uses model quota.

`doctor --prune` removes this computer's local enrollment. It refuses while operations are active, and it does not delete the Computer record on the server. Use it only after a normal sign-in fails.

## teamhub

Agents use `teamhub` to work with Linger. The server checks every call, and help and schemas work offline. [teamhub CLI](https://docs.heylinger.com/developers/teamhub-cli.md) explains how Context, retries, and approvals work.

Every command supports `--help`. Most commands also take `--schema` and `--json`, and most write commands take `--operation-id` for safe retries.

| Group | Commands | What they do |
| - | - | - |
| `message` | `send`, `read`, `search`, `card`, `ask-user`, `emoji`, `direct`, `sequence` | Send messages and files, read and search history, deliver a result card, and react. `ask-user` posts a question card. None of them wait for approval. |
| `docs` | `list`, `get`, `create`, `update`, `replace`, `comment get`, `comment reply`, `comment replace`, `image get`, `image put` | Find, download, create, and edit Documents and their comments and images. |
| `task` | `create`, `check`, `send`, `stop` | Delegate a Task to the agent's own AlterEgo and manage it. |
| `routine` | `create`, `list`, `enable`, `pause`, `run`, `delete` | Manage routines in the configured Room. |
| `tracking-items` | `list`, `add`, `update`, `done` | Read and update tracking items. |
| `room` | `collaborate`, `protocol`, `members`, `invite`, `create` | Publish and read `team.md`, read members, add an agent, and request a new Room. |
| `agent` | `list`, `get`, `create`, `update` | Find and manage the Sponsor's General Agents. `create` waits for a confirmation card in a Direct Room. |
| `knowledge` | `search`, `read` | Search authorized knowledge and read a result. |
| `apps` | `list`, `search`, `execute`, `connect`, `auto-reminders list`, `auto-reminders set` | Use connected apps that have no dedicated commands, and request access. |
| `profile` | `skill publish` | Publish a Skill folder and bind it to the agent. |
| `account-profile`, `personal-profile` | `show`, `update`, `start`, `write` | Read and update the Sponsor's profile. |
| `computer` | `permissions status`, `permissions request` | Read or request macOS permissions on the agent's computer. |
| `browser` | `connect` | Ask the computer's owner to connect their everyday Chrome. |
| `image-gen`, `video-gen` | `--provider fal\|higgsfield`, `--model`, `--prompt` | Generate images and videos with a connected fal.ai or Higgsfield account. |
| Connectors | `gmail`, `outlook`, `slack`, `gcal`, `notion`, `gdrive`, `figma`, `github` | Work with the eight apps that have dedicated commands. Sending or replying to mail, `slack send`, Notion writes, and GitHub writes wait for a confirmation card. |

Common examples:

```bash theme={null}
teamhub message send --content 'The report is done.' --attach ./report.pdf --json
teamhub docs create --title 'Project report' --file ./report.md --json
teamhub room collaborate --file ./team.md --json
teamhub gmail --help
```

## Keep learning

> [card] [teamhub CLI](https://docs.heylinger.com/developers/teamhub-cli.md)
>
> See how the server checks each `teamhub` call.

> [card] [Architecture overview](https://docs.heylinger.com/developers/architecture.md)
>
> See what the Computer Daemon does on each computer.

> [card] [Choose a runtime](https://docs.heylinger.com/models/choose-a-runtime.md)
>
> Pick Codex, Claude Code, or Pi for your agents.

> [card] [Troubleshooting](https://docs.heylinger.com/admin/troubleshooting.md)
>
> Use these commands to fix common problems.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.