The hansard CLI covers everything the app does plus setup, maintenance, and
automation. Print the full usage for any command with hansard help <command>
or hansard <command> --help. hansard --version prints the installed
version.
Most commands accept --json for scripts. Commands that write or delete data
accept --dry-run to preview and --yes to skip confirmation.
Run hansard with no command in a terminal to open the interactive mode. As
you type, a list shows the matching subcommands, flags, and values, such as
import sources, archived conversations, import runs, accounts, and config keys.
Tab completes the highlighted entry, Up and Down choose another, Enter runs the
command, and Ctrl-D on an empty line leaves. With nothing typed, Tab lists the
commands grouped by task, under the same headings as hansard help. Each
command runs as its own process, and the prompt returns when it finishes.
Scripts, pipes, and agent shells still get the command list from a bare
hansard. To print the list in a terminal too, turn the prompt off with
hansard config set cli.interactive false, or uncheck it when hansard init
asks. HANSARD_INTERACTIVE=0 disables it for one process.
The same lists work with Tab in bash, zsh, and fish:
Terminal window
eval"$(hansard completion zsh)"# in ~/.zshrc, after compinit
eval"$(hansard completion bash)"# in ~/.bashrc, or ~/.bash_profile on macOS
Configure storage, sources, redaction, the watcher, and integrations, then optionally import history. --since 30d selects the initial history window. --dry-run previews; --status shows an unfinished setup.
Open the Mac app. hansard app install installs or replaces it; --no-fallback only opens an installed app. hansard app processes lists the processes that run from the app and the agent runs each one owns.
Check dependencies, sources, and setup. --deep audits the whole archive. doctor records lists the record types each source holds and any an importer does not recognize.
Manage the background watcher. watcher adopt moves it, and login startup when on, to the copy that runs the command. watcher login enable|disable|status manages starting it at login.
Print, open, or render one conversation as JSON. --unredacted prints the messages as they were before redaction, rebuilt from the archived transcript and the originals the local reveal cache keeps.
Summarize ended conversations, so you can continue one from its summary. Off until you turn on summaries.enabled; run summarizes older conversations on request.
Show or rebuild the experience index behind file history: edits, commits, reverts, and test failures with the runs that fixed them. The watcher keeps the last 30 days current; rebuild indexes every conversation, or one repository with --repo.
Summarize activity, models, tokens, spend estimates, tools, commands, skills, and MCP servers. --team scopes it to one joined Team, stats teams lists them, and stats totals reads a range of days from the day rollups.
List the agent harnesses running on this computer with their state, CPU, and memory. Each agent lists its subagents, and agents paused from Running follow. --watch opens a full-screen monitor, ps stop <pid> or ps stop --idle stops agents, and ps pause <pid>, ps resume <id>, and ps evict <id> pause, resume, and remove them as Running does.
Start, resume, and message visible agents in a project, and keep its roster, decisions, follow-ups, workstreams, and watches. status shows each agent’s state, tokens, and estimated cost. start --in chooses where an agent opens: a cmux, Terminal, iTerm, or Ghostty tab, or the app. start --environment starts it in a project environment.
List organizations, projects, and their environments, add or hide projects, share them with your Teams, and plan a launch in an environment without starting it. bind sets where an environment’s folder is on this device.
Manage harness sign-in profiles, browser profiles, plan usage capture, plan value estimates, account pools, and the local request router and its temporary overrides. account retire <account> takes an account you no longer use out of routing and usage checks, and account restore brings it back. account status shows each account’s logins and router copies with the reason for every state.
Run agents on your other computers: set up a host, pair or add devices, and list, check, or remove them. remote devices shows each paired device’s state, version, ready agents, and projects, remote check runs the quick check, and remote follow reads a run. hansard remote host stop stops a running host.
Free local space by removing original files and attachments older than 30 days once two backup destinations hold verified copies, and bring them back. Both preview until --yes.
Configure a generic remote target, upload a point-in-time snapshot, replace this device’s remote copy, or delete remote objects by scope after a typed confirmation. Snapshot, replace, and wipe do not apply to current Personal Sync spaces.
hansard notify slack
Set up Slack posting, routes, tokens, tests, and digests. notify slack bot run runs the interactive bot.
Refresh stale views, events, titles, and tool usage from archived files. --stale-parsers rescans sources imported by an older parser; --from-raw reparses preserved original files; --format 1|2 converts conversations between archive formats; --compact-raw losslessly compresses the original harness files already in the archive.
Clear the local conversation archive and indexes, then reimport configured sources. Use only when release notes require it. --list-recoveries and --recover <operation-id> restore the archive after an interrupted update.
Reclaim space from unreferenced archive objects, finished upload payloads, superseded received history, and whole unredacted copies earlier versions kept.
Copy one conversation’s files out of the archive. --include-raw adds the original harness files. --format atif|eatif|html|markdown writes one trajectory or readable file instead.