hob CLI
Look up the commands people and agents use to arrange work, read results, coordinate, and automate in hob.
The hob CLI connects the work people and agents share: projects, panes,
conversations, commands, and the results they produce. Agents receive its guidance
through managed instructions; use this reference to understand their actions,
script supported operations, and look up what a command will change.
Namespace index
| Namespace | Purpose | Reference |
|---|---|---|
hob app | Installation, updates, repair, and license | Run and license hob |
hob list | Current working layout and caller | Orient and arrange |
hob pane | Open, configure, read, and communicate with panes | Arrange, read, deliver |
hob open, hob close | Panels, views, and files | Orient and arrange |
hob workspace, hob environment | Workspaces, snapshots, and checkouts | Orient and arrange |
hob search, hob conversation | Find and read saved conversations | Read and recover |
hob attention, hob walkthrough, hob annotate | Point, guide, and leave markers | Deliver and collaborate |
hob feedback | Prepare feedback for human review | Boundaries |
hob git, hob issue, hob pr | Review and record work with provenance | Record and review |
hob automation | Define, validate, run, and inspect workflows | Automate |
hob agent verify | Verify the caller's live agent capability | Choose the command context |
Choose the command context
A project directory identifies the work. A live hob connection and, for agent-only operations, a pane capability determine what the caller can do.
| Where the command runs | Available operations |
|---|---|
| Ordinary shell | App/license commands and native/headless launch. Issue and PR commands can use their git-platform integration; local hob issues need the live project connection. Non-commit hob git subcommands pass through to Git. |
| Shell with hob's live project connection, such as a hob terminal | Project operations including local issues, hob environment list, and automation list/init/show/apply/validate/inspect/run/runs/logs. This does not grant agent-only pane controls. |
| hob-launched agent or inheriting subprocess | Agent-only layout, pane, conversation, attention, walkthrough, annotation, feedback, and commit-provenance operations, subject to the live pane capability and target requirements. |
User Commands
Start with hob app --help, hob issue --help, or hob pr --help in an ordinary
shell. Use --project-dir /path/to/project for project-aware commands. That flag
selects a project; it does not create a connection or grant agent authority.
Agent commands
hob agent verify --json succeeds only with current agent authority. A hob
terminal or automation shell step fails this check; an automation agent step
receives its own capability. HOB_PANE_ID identifies a pane, but its presence
alone is not proof of authorization.
Top-level help hides the agent-context namespaces when no pane context is present. Managed guidance normally arrives at agent launch through Settings → Agents → Managed hob instructions, without editing repository files. See Working with your agent.
Run and license hob
Launch hob
| Command | Behavior |
|---|---|
hob /path/to/project | Submit a native project-open request to the elected Host. |
hob --detach /path/to/project | Open the native presentation without keeping the launching shell attached. |
hob --headless | Enable headless service mode and stay attached; Ctrl-C requests Host shutdown. |
hob --headless --detach | Enable the daemon service, print the browser URL, and return to the shell. |
hob app version | Print the installed version. |
hob app update, hob app repair | Update or repair the installation; check subcommand help for options. |
hob app uninstall | Remove the installation through the uninstall flow. |
Headless mode does not accept a project path. Choose the project in the browser IDE. Headless mode covers shutdown, systemd, SSH, and the lifetime of the elected Host.
License activation
Use hob app license activate, hob app license status, or
hob app license deactivate on the machine running hob. For non-interactive
activation, supply the key on standard input:
printf '%s\n' "$HOB_LICENSE_KEY" | hob app license activate --key-stdinOrient and arrange
| Command | Use it to… |
|---|---|
hob list | Read panels, panes, workspaces, caller identity, environment IDs, and spatial relationships in one call. |
hob pane list --unplaced | Include project-owned panes without a workspace/Dock placement. |
hob pane details --json | Inspect the caller pane's metadata and backend conversation identity. |
hob pane rename "Review the counter" | Keep the pane title aligned with its task; --id targets another pane. |
hob pane open <type> | Open agent, terminal, selection, render, web, or issue; choose --workspace, --surface dock, and --focus as needed. |
hob pane set --id <pane-id> … | Change typed settings such as model, effort, account, permission mode, working directory, or render file. It does not expose arbitrary pane state. |
hob pane move <pane-id> --from <source> --to <destination> | Move one placement between a workspace and the Dock, leaving other placements intact. |
hob pane close [pane-id] | Close the caller or a named pane. |
hob workspace list, hob workspace details <target> | Inspect workspace IDs, environments, panes, and layout. |
hob workspace new --name "Counter review" | Create a workspace in the caller's checkout; add --focus to switch to it. |
hob workspace open <target>, hob workspace rename, hob workspace set, hob workspace close | Navigate or configure a workspace; targets accept a number, name, or ID where supported. |
hob workspace save, hob workspace saved, hob workspace restore | Save, list, and restore named layouts. update-saved and delete-saved manage them. See Saved. |
hob environment list --json | List live checkout environments and their root paths. |
hob open panel <name>, hob close panel <name> | Show or close a tool panel: home, files, issue, history, automations, bookmarks, shares, or sourcecontrol. |
hob open view automations, hob open view stats | Open the singleton full-page view; hob close view <name> closes it. |
An agent pane can choose --backend, --model, --effort, and supported
--fast/--no-fast options. Models must be configured picker values; a started
conversation cannot move to a different backend. See
Parallel agents and
Accounts and profiles.
For workspace creation, --environment <id> selects a live checkout;
--worktree <branch> uses an existing branch, while
--new-branch --start-point <ref> creates a branch and managed worktree.
See Projects and workspaces for parallel writers.
Dock placement for cross-workspace work
The Dock stays available while workspaces change. Use
hob pane open render --file notes/roadmap.md --surface dock --focus for shared
context, or hob pane move --to dock to move the caller there. Specify --from
when multiple placements make the source ambiguous. Prefer the workspace grid
for work that belongs to one task.
Read and recover
| Command | Useful selectors and behavior |
|---|---|
hob pane view <pane-id> | Read an open pane with typed bounds: text --lines 10:30, PDF --pages 1:2, agent --blocks 1:5, web --nodes 1:50. |
hob pane view <terminal-id> --cmd <command-id> | Read a specific command's output. --wait waits silently; --watch streams retained output/deltas through completion. |
hob search conversations "character counter" | Search saved turns in this project; use --any, --role, --agent-type, --since, --until, or --limit. The caller is excluded unless --include-self is supplied. |
hob conversation list | List saved conversations; filter by agent type or time. |
hob conversation show <pane-or-session-id> | Read past or closed conversations, including when the backend transcript is gone; use --around <block-id> -C 3, --blocks, or --role. |
hob attention pane:<pane-id> --location block:<block-id> | Create a recovery link to the matching turn. When played, it can restore a closed pane and focus its workspace. |
Terminal --watch subsumes --wait, conflicts with --json, and marks gaps
caused by bounded retention. Interactive/TUI commands report unavailable live
output and fall back to waiting. See Terminals.
For search grammar, snippets, and the recovery workflow, see History. Preserve the returned IDs for later commands rather than identifying a pane by a guessed title.
Deliver and collaborate
| Command | What the person sees |
|---|---|
hob pane input <pane-id> <text> --append | A visible draft, extended with the text. Without --append, it replaces the draft. Nothing is delivered. |
hob pane send <pane-id> <text> | An attributed agent message or an executed terminal command block. Terminal sends accept --wait or --watch; --raw sends PTY bytes. |
hob pane open agent --task <text> | A new agent with its assignment delivered in one operation. Use --task --stdin for exact multiline text. |
hob open file <path> --line <n> | The file beside the work. Optional --placement right, left, above, or below controls where it opens. |
hob pane open web --file index.html --watch style.css,app.js | A live-reloading HTML preview. URL/server recipes use --url, --command, --cwd, and optional --start; see Browser previews. |
hob attention <target> --message <text> | A link to a transient spotlight and optional card. Targets include files, panes, panels, and settings. |
hob walkthrough search <topic>, hob walkthrough create --items <json> | A library guide or a new ordered tour. hob walkthrough targets discovers valid UI targets. |
hob annotate --items <json> | A link applying durable markers to one file/pane surface. |
hob feedback --note <text> | A locally stored feedback draft for the person to review and submit. --problem marks a problem; --screenshot <path> attaches an existing image. |
A web node belongs to one snapshot. Use the node and fingerprint returned by the read together; substitute actual values for these illustrative placeholders:
hob pane view web_123
hob attention pane:web_123 --location node:n7 --fingerprint 'returned-fingerprint'Continue reading that snapshot with --nodes and --fingerprint. Stale or missing
elements degrade honestly. Annotations stay within one content surface;
walkthroughs can mix surface types but use at most one web pane per set.
See Working with your agent for what
these interactions look like.
Record and review
| Command | Result and provenance |
|---|---|
hob git status, hob git diff, hob git log | Standard Git inspection through hob's wrapper. Other non-commit Git arguments pass through too. |
hob git commit -m "Add note character counter" --link-pane <reviewer-id> | Make the commit and link it to the current turn; repeat --link-pane for contributing panes. Standard amend/pathspec forms are supported. |
hob issue create --local --title <title> --body <markdown> | File a local issue immediately and return its project-bound link. Agent-created issues retain origin-turn provenance; --link-pane adds contributors. |
hob issue list, hob issue start <id>, hob issue complete <id> | Find and track local work. |
hob issue edit --local <id>, hob issue edit <number-or-url> | Edit a local or connected issue while preserving omitted fields. |
hob issue link --local <id>, hob issue link --remote <number> | Retrieve the exact issue link; remote references can use --source <source>. |
hob issue create, hob issue comment, hob issue close | Create or update git-platform issues. Destructive deletion requires explicit --local or --remote scope. |
hob pr create, hob pr edit, hob pr comment, hob pr close | Work with the current branch's PR or a specified platform PR; use subcommand help for required fields. |
Inside hob, prefix every Git command with hob. Run commits from the repository
you intend to change, including nested repositories. Provenance links help you
return to the conversation that produced something; they do not verify correctness.
See Commits and artifacts and
Issues.
Automate
| Command | Purpose |
|---|---|
hob automation list --scope shared | Inspect registered automations, including invalid definitions and diagnostics; scopes are shared, private, and global. |
hob automation init "Guestbook check", hob automation init --stdin | Create a canonical UUID bundle, from a scaffold or complete definition. Stdin definitions omit the generated ID. |
hob automation show <id-or-name> | Find the actual bundle/manifest paths and inspect its definition. |
hob automation apply <id-or-name> --stdin | Validate and atomically replace the definition. --bundle <dir> supplies supporting files too. |
hob automation validate <bundle-or-manifest> | Check a staging bundle without installing it; --stdin validates input directly. Requires a live hob project connection. |
hob automation inspect <id-or-name> --step <step-id> --data-file <json> | Preflight an HTML presentation template without starting a run. |
hob automation run <id-or-name> --wait | Start a new execution. Supply inputs with repeatable --input key=value or --inputs-json. |
hob automation runs [id-or-name], hob automation logs <run-id> | Read run status and recorded output. |
hob automation delete <id-or-name>, hob automation restore <id-or-name> | Move a definition to Trash or restore it; permanent deletion is a separate explicit option. |
Use paths returned by init/show; do not invent registry paths. Linked builder
agents may omit the automation ID for supported show/apply/inspect operations.
The Automation reference owns
complete flags, YAML, expressions, environments, and run-history contracts.
hob open view automations opens the human-facing builder and run view.
Command boundaries
| Boundary | Contract |
|---|---|
| Draft vs delivery | pane input edits a draft; pane send delivers a message or executes a command. |
| Links vs navigation | Attention, walkthrough creation, annotation, feedback, and issue creation/linking print exact deep links to include unchanged in the reply. Printing the link does not navigate; issue creation still files the issue immediately. Attention can also play at turn end if the person is viewing the sender pane. |
| Reading | pane view is read-only and bounded. Typed unavailable content exits 3; it is not an empty successful result. Web nodes need their matching snapshot fingerprint. |
| Delegation | Use pane open agent --task in one call. open followed by input leaves an unsent draft. |
| Agent replies | The recipient sends its final answer to the source pane with pane send. The sender does not poll or read the recipient merely to retrieve the answer. |
| Human choice | Open an issue pane only when requested. Walkthroughs and annotations are opt-in; use walkthrough play only when the person explicitly asks to start it now. |
| Feedback | feedback stores a draft; it cannot send feedback or make the person's diagnostic-sharing choices. |
| Automation trust | The CLI can request a shared run but cannot approve it. Report pending human approval; do not retry to bypass it. See Trust. |
Compose a small workflow
These examples run from a hob agent. IDs below are illustrative: use the actual
pane IDs from hob list, command ID returned by the terminal send, and the pane
that sent the assignment. Run the example check only with Node installed.
Ask the terminal, read the result, reply
hob pane send terminal_123 "node --check app.js" --wait
hob pane view terminal_123 --cmd 42
# Reply only after reading the actual result; use the source agent's pane ID.
hob pane send agent_456 "The JavaScript syntax check passed. Behavior still needs review."That final message assumes the check passed. If it failed, send the actual failure and relevant output instead. A syntax check does not verify guestbook behavior; Testing supplies the next checks.
Orient, open, point
When the person asks to see how the guestbook stores notes:
hob list
hob open file app.js --line 3 --placement right
hob attention file:app.js --location line:3 --message "This key keeps guestbook notes in this browser's local storage."Line 3 is the storage key in the unmodified example; verify the line if the file has changed. Include the exact attention link printed by the last command in your reply, with a descriptive label, so the person can select it.
Options and agent-readable docs
| Option | Meaning |
|---|---|
--help, -h | Show command/subcommand help without carrying out the operation. |
--json | Structured output for supported commands; terminal --watch is incompatible. |
--debug | Connection/resolution details for supported commands. |
--project-dir <path> | Select the project for project-aware commands. Issue/PR resolution tries this first, then the current Git root and HOB_PROJECT_DIR. |
--stdin | Supply the command's specified payload from standard input. Pair it with the payload flag where required: --task --stdin, --body --stdin, or --message --stdin. |
Pane input, terminal commands, and initial agent tasks preserve literal text. For long multiline payloads, use a single-quoted heredoc and the supported stdin form. Never treat an unset project/window or unavailable content as permission to guess a target; inspect the error and resolve the context first.
Every guide has Copy Markdown and an Open menu for its .mdx URL.
Give an agent the page relevant to the task; the prose and examples are available
without downloading screenshots.