Commands
holo --help lists every command, and holo <command> --help its options.
Global options
Put these before the command, as inholo --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
Esctwice. - With
--local,/resume,/live, and/shareare 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:
HAI_AGENT_LOCAL_BINARY_PATHhai-agent-runtimeonPATH- The managed install under
~/.hai/agent-runtime/bin/<version>/ - A sha256-verified download of the pinned version, on first run
holo doctor shows which one it will use.
Troubleshoot
Start withholo doctor. Fix the first failing row.
If a coding agent’s run fails, try the smallest version in a terminal:
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.