Skip to main content

Commands

holo --help lists every command, and holo <command> --help its options.

Global options

Put these before the command, as in holo --json sessions list.

Run

Chat

holo chat, or holo alone, takes --agent and --local.
  • A session stays open for 10 minutes after each answer.
  • While an agent drives this machine, your typing goes to your apps, so the prompt only listens for Esc twice.
  • With --local, /resume, /live, and /share are off, since they need a cloud session.

Login

holo local

Serves this machine to a cloud agent loop. Not --local. Use these commands for a session started elsewhere, such as a registered agent or the web app. Each prints the session ID it serves: set it on the agent’s user_device environment, as in Your browser and Your desktop. holo local desktop downscales and recompresses screenshots before upload. The desktop environment’s screenshot_max_width caps width again on the agent’s side, so the smaller limit applies. In an interactive terminal, holo local desktop also stops on Esc twice, with the same desktop permissions. If the kill switch cannot arm, it says so: use holo local stop.

Environment variables

HAI_API_KEY is read from, in order: --api-key, the process environment, then ~/.config/hai/.env. XDG_CONFIG_HOME, when set, replaces ~/.config.

Files

Treat all of these as sensitive. holo sends agents.md and your skills as the agent.instructions and agent.skills overrides. Your own -o overrides win. A skill’s directory name is its name. SKILL.md needs YAML frontmatter with a description, which the agent matches tasks against. A file without one stops the run with an error naming it. Only SKILL.md is read. A skill with the same name as one of the agent’s replaces it.

Runtime

--local resolves hai-agent-runtime in this order:
  1. HAI_AGENT_LOCAL_BINARY_PATH
  2. hai-agent-runtime on PATH
  3. The managed install under ~/.hai/agent-runtime/bin/<version>/
  4. A sha256-verified download of the pinned version, on first run
holo doctor shows which one it will use.

Troubleshoot

Start with holo doctor. Fix the first failing row. If a coding agent’s run fails, try the smallest version in a terminal:
If that works, the problem is the host: check that holo whoami finds a saved key, and that the host’s MCP env block has the variables you need. The terminal prints each step. Hosts get the same steps as MCP log messages. holo sessions events <session-id> shows a cloud session’s full history. With --local, the runtime logs to ~/.hai/agent-runtime/logs/. Logs can hold anything that was on screen, so read What the agent can see before you share them.