inf halo to kick off a one-off analysis, schedule recurring ones, watch a run reach completion, and read the resulting report.
How HALO is organized
- A run is one analysis of one agent over one time window. Each completed run produces exactly one report.
- A conversation is the thread a run lives in. The first assistant message is the original report; any follow-up questions you ask add more runs and more assistant messages to the same conversation.
- A schedule fires recurring runs for one agent on a cadence (hourly, daily, weekly, or monthly).
Quickstart: run an analysis and read the report
inf halo run create prints both the run-id and the conversation-id. The report prints in full from inf halo conversation get — no --json required. Add --json only when you want the raw structured payload for scripting.
inf halo agent
List the agents HALO sees in your project’s recent traces. You need an agent’s UUID to start a run or create a schedule.
inf halo agent ls
Options
| Flag | Required | Description | Default |
|---|---|---|---|
--time-range <range> | No | Trace window to scan for agents: 1h, 6h, 12h, 1d, 3d, 7d, 14d, 30d, 90d | 30d |
inf halo run
Create and inspect HALO runs.
inf halo run create
Start a manual analysis for one agent over a time window.
--agent-uuid to pick from recent agents. In non-interactive or --json mode, --agent-uuid is required.
Options
| Flag | Required | Description | Default |
|---|---|---|---|
--agent-uuid <id> | No (required non-interactively) | Agent UUID from inf halo agent list | Interactive picker |
--prompt <text> | No | Prompt steering the analysis | Default HALO prompt |
--window-start-at <iso> | No | Window start, ISO datetime | Derived from --lookback-hours |
--window-end-at <iso> | No | Window end, ISO datetime | Now |
--lookback-hours <n> | No | Window length when --window-start-at is omitted | 24 |
--model-id <id> | No | Catalog HALO model id | Catalog default |
--span-limit <n> | No | Per-run span cap | 10000 |
--max-subagent-depth <n> | No | Engine recursion ceiling (1–5) | 3 |
--max-turns <n> | No | Per-agent turn ceiling (1–100) | 50 |
--agent-time-range <range> | No | Trace window preset used when picking an agent interactively | 30d |
inf halo run poll
Poll a run until it reaches a terminal state (completed, failed, cancelled, timed_out, or no_traces). Exits 0 only on completed.
Options
| Flag | Required | Description | Default |
|---|---|---|---|
--interval <seconds> | No | Poll interval | 5 |
--timeout <seconds> | No | Total timeout | 1800 (30 min) |
inf halo run get
Fetch a run’s status and its referenced trace dataset. This returns run metadata, not the report text — read the conversation for the report.
inf halo run events
List the structured event timeline for a run (started, heartbeat, agent steps, completed, failed).
Options
| Flag | Required | Description | Default |
|---|---|---|---|
--limit <n> | No | Max events to return | 100 |
inf halo run cancel
Request cancellation of an in-flight run.
Options
| Flag | Required | Description | Default |
|---|---|---|---|
--reason <text> | No | Reason recorded for the cancellation | user-cancelled |
inf halo conversation
Inspect HALO conversations and read their reports.
Alias: inf halo conv
inf halo conversation list
List conversations in the active project, newest first.
inf halo conversation ls
Options
| Flag | Required | Description | Default |
|---|---|---|---|
--limit <n> | No | Max conversations to return | 50 |
inf halo conversation get
Print a conversation with its messages, runs, and trace datasets. The assistant messages are the report markdown — the first assistant message is the original report; later ones answer follow-up questions in the same thread. Message content prints in full.
--json to get the raw payload (every message, run, and trace dataset) for scripting.
inf halo schedule
Manage recurring HALO analyses. Each schedule targets one agent and fires runs on a cadence.
inf halo schedule list
inf halo schedule ls
| Flag | Required | Description | Default |
|---|---|---|---|
--include-archived | No | Include archived schedules | false |
inf halo schedule get
inf halo schedule runs
List recent runs fired by a schedule.
| Flag | Required | Description | Default |
|---|---|---|---|
--limit <n> | No | Max runs to return | 50 |
inf halo schedule create
| Flag | Required | Description | Default |
|---|---|---|---|
--title <title> | Yes | Human-readable schedule title | - |
--agent-uuid <id> | Yes | Agent the schedule analyzes (from inf halo agent list) | - |
--frequency <freq> | Yes | hourly, daily, weekly, or monthly | - |
--prompt <text> | No | Prompt steering each run | Default HALO prompt |
--hours <list> | For daily/weekly/monthly | Comma-separated hours (0–23) | - |
--minutes <list> | Yes | Comma-separated minutes (0–59) | - |
--days-of-week <list> | For weekly | Comma-separated days (0=Sun…6=Sat) | - |
--days-of-month <list> | For monthly | Comma-separated days (1–31) | - |
--timezone <tz> | No | IANA timezone | UTC |
--model-id <id> | No | Catalog HALO model id | Catalog default |
--span-limit <n> | No | Per-run span cap | 10000 |
--lookback-hours <n> | No | How far back each run looks, independent of cadence | 24 |
--max-subagent-depth <n> | No | Engine recursion ceiling (1–5) | 3 |
--max-turns <n> | No | Per-agent turn ceiling (1–100) | 50 |
--enabled <bool> | No | Whether the schedule fires | true |
inf halo schedule update
Update mutable fields on a schedule. Accepts the same flags as create (all optional), keyed by <schedule-id>.
inf halo schedule archive / unarchive
Archive a schedule so it stops firing, or restore it later.
archive prompts for confirmation. Pass -y / --yes to skip the prompt.
Common workflows
Related commands
inf traceandinf spaninspect the underlying traces HALO analyzes.- The MCP server exposes the same reports to AI coding assistants via
list_halo_conversationsandget_halo_conversation.