CLI reference
CLI reference
Every holaryn subcommand, with its flags and a short example. Run holaryn --help or holaryn <command> --help for the same information in the terminal, and holaryn --version to print the installed version.
Many commands accept --state-dir <path> to point at a specific state directory (see Running the agent). Commands that talk to a running host (question, steer, resume, coding-jobs, team, peer) also accept --host, --port, and --auth-token; when omitted, the host and port are discovered from the running host's status file, and --auth-token must match the token the host was started with, if any.
holaryn run
Run an attended agent session in the terminal.
holaryn run [task] [--autonomy POSTURE] [--allow-all {yes,no}] [--unrestricted {yes,no}]
[--policy FILE] [--model ID] [--scope SCOPE] [--profile NAME] [--dry-run]
| Flag | Meaning |
|---|---|
task |
Task to run once; omit it for an interactive REPL. |
--autonomy |
Autonomy posture: ask, selective, allow-all, or unrestricted (default ask). |
--allow-all {yes,no} |
Explicitly arm (or refuse) the allow-all posture. |
--unrestricted {yes,no} |
Explicitly arm (or refuse) the unrestricted posture. |
--policy FILE |
Path to an autonomy policy profile TOML. |
--model ID |
Registry model id for this run (default: the registry's default model). |
--scope SCOPE |
Memory scope for this run. |
--profile NAME |
Config profile applied to this run (see holaryn profile list). |
--dry-run |
Stage irreversible actions into a reviewable plan instead of executing them; reversible actions still run. Review with holaryn plan. |
holaryn run --autonomy selective "Clean up the downloads folder"
holaryn serve
Run the persistent Holaryn host (scheduler, web UI, subagents, teams, peers).
holaryn serve [--no-web] [--web] [--web-view] [--web-view-binary PATH] [--host HOST]
[--port PORT] [--auth-token TOKEN | --auth-token-file FILE]
[--allowed-host HOST ...] [--state-dir DIR] [--log-level LEVEL]
| Flag | Meaning |
|---|---|
--no-web |
Run the host without the web UI. |
--web |
Compatibility alias; the web UI is already on by default. |
--web-view |
Also open a native desktop window onto the local web UI. |
--web-view-binary PATH |
Override the resolved desktop shell binary. |
--host HOST |
Bind address (default 127.0.0.1). |
--port PORT |
Port (default 8765). |
--auth-token TOKEN |
Require this token on the local HTTP API. |
--auth-token-file FILE |
Read the required HTTP API token from a secret file instead of process arguments. |
--allowed-host HOST |
Permit a reverse-proxy Host header; repeat for each exact hostname. |
--state-dir DIR |
State directory to own. |
--log-level LEVEL |
DEBUG, INFO, WARNING, ERROR, or CRITICAL. |
--foreground |
Also log to the console while writing host logs (on by default). |
holaryn serve --state-dir D:\holaryn-state --port 9000
For non-loopback deployments, authentication is mandatory. Prefer --auth-token-file so the token
does not enter process arguments, and permit only the exact proxy hostnames.
holaryn deployment
Inspect, diagnose, back up, verify, and restore a self-host deployment. Status and support bundles
exclude configuration values. Backup requires a stopped host and reads recovery material only from
an explicitly named environment variable.
holaryn deployment [--state-dir DIR]
status
support-bundle OUTPUT [--secret-canary-env NAME ...]
backup OUTPUT --password-env NAME
verify-backup ARCHIVE --password-env NAME
restore-backup ARCHIVE DESTINATION --password-env NAME
statusprints installed/image version metadata, safe host fields, encryption and migration
state, storage counts, and configuration field/source shape.support-bundlewrites bounded redacted log tails plus the safe status contract. Extra canary
variables make post-write redaction validation fail closed if a known value remains.backupcheckpoints SQLite and writes an authenticated encrypted archive of every durable
regular state file while holding the stopped-host lock.verify-backupauthenticates every archive entry.restore-backupwrites only to a new empty destination and rejects transient deployment state.
export HOLARYN_BACKUP_PASSWORD
holaryn deployment --state-dir /var/lib/holaryn status
holaryn deployment --state-dir /var/lib/holaryn backup ./state.sxdeploy \
--password-env HOLARYN_BACKUP_PASSWORD
holaryn deployment verify-backup ./state.sxdeploy \
--password-env HOLARYN_BACKUP_PASSWORD
holaryn deployment restore-backup ./state.sxdeploy ./restored-state \
--password-env HOLARYN_BACKUP_PASSWORD
See Self-host with Docker Compose for the stopped-service sequence,
off-host retention, update, and rollback procedure.
holaryn browser
Inspect or repair the bundled Chromium runtime, run the deterministic local demo, and export a
session trace. No Node.js, npx, MCP configuration, or application restart is required.
holaryn browser [--state-dir DIR]
status [--json]
demo
repair
trace SESSION_ID [--output FILE]
statusreports whether the matching driver and Chromium executable are installed and verifies
their hashes.demolaunches an isolated local page, exercises semantic browser automation, prints the
session/result/trace path, and exits.repairdeterministically reinstalls the matching Chromium runtime without deleting profiles.traceexports the redacted action record for a known session.
See Browser agent for profiles, approvals, downloads, recovery, and the
keyboard-accessible supervision surface.
holaryn computer
Inspect the native adapter, run the deterministic Windows UIA demo, or export a redacted trace.
holaryn computer [--state-dir DIR]
status [--json]
demo
trace SESSION_ID [--output FILE]
statusreports platform availability, the adapter name, visual-fallback policy, and known
application sessions.demoopens Notepad and Calculator, enters text and verifies1 + 2 = 3through semantic UIA
controls, reports trace paths, and closes both applications.traceexports the durable redacted action record for a known session.
Windows on the ordinary interactive desktop is supported in this release. See
Native computer use for application limits, privacy, approvals, and emergency
takeover.
holaryn onboard
Start or resume the privacy-safe first-success path shared with the desktop UI.
holaryn onboard [--state-dir DIR] [--json]
[status | start | configure | roles | posture {ask,selective} |
verify | demo | undo-demo | complete | reset]
status(also the default) prints progress, diagnostics, a repair command, and the next step.--jsonemits the typed non-secret status contract.configure [--preset ID] [--connection-id ID] [--model MODEL] [--base-url URL]selects from the provider catalog, asks for required keys with hidden input, scans models, and sets the selected model as default. Credentials are never accepted as command-line arguments.rolesaccepts the recommended general/coding/vision/embedding assignments.posture {ask,selective}records a conservative attended starting posture.verify [--model ID]streams a fixed tool-free prompt through the production provider.demopreviews a generated-sandboxwrite_filecall and waits for explicit approval;undo-demoremoves only the known generated file.completerequires both a successful response and successful tool milestone.resetclears progress without deleting provider settings.
Place --state-dir and --json before the subcommand. See First-success onboarding for the complete flow and recorded-data contract.
holaryn capabilities
Show the installed version, release channel, and the public capabilities verified for this build.
holaryn capabilities [--json] [--maturity {stable,beta,experimental,planned}]
--jsonprints the complete versioned registry with ownership, surfaces, platforms, prerequisites, network/privacy/approval implications, limitations, documentation, and verification evidence.--maturityfilters the listed capabilities without changing the manifest schema or installed-version diagnostics.
The same data drives Settings → About and the living capability matrix.
holaryn api-key
Create, inspect, rotate, or revoke credentials for the supported public automation API. Credential
values are printed only by create and rotate; list returns metadata only.
holaryn api-key [--state-dir DIR] create --name NAME --organization ORG \
--project PROJECT [--project PROJECT] [--scope SCOPE] [--expires-in SECONDS]
holaryn api-key [--state-dir DIR] list
holaryn api-key [--state-dir DIR] rotate KEY_ID
holaryn api-key [--state-dir DIR] revoke KEY_ID
Omitting --scope grants the ordinary service scopes but not admin:read or admin:write.
Repeat --scope to construct a narrower or explicitly administrative credential. See the
public API deployment and SDK guide before enabling a remote listener.
holaryn local-model
Manage local hardware fit, model provenance and storage, Ollama/llama.cpp
endpoints, routing roles, and fixed smoke benchmarks.
holaryn local-model {status,diagnostics,runtimes,hardware,catalog,import,add-ollama,
download,adopt,scan,start,health,stop,restart,benchmark,
register,role,remove} [options]
Read-only commands (status, diagnostics, runtimes, hardware, and
catalog) make no catalog or provider request. Network access occurs only for an
explicit download or endpoint action. Mutating commands accept --state-dir;
every command supports --json.
holaryn local-model catalog --fit
holaryn local-model add-ollama qwen2.5:7b --id local-qwen
holaryn local-model adopt ollama http://127.0.0.1:11434/v1 --id ollama-local
holaryn local-model register ollama-local local-qwen
holaryn local-model role general local-qwen
holaryn local-model benchmark ollama-local
See Local models for verified download/import examples,
ownership boundaries, supervision behavior, fit assumptions, privacy, and repair
steps.
holaryn instructions
Explain the exact repository guidance that applies to one or more target paths. This is a local,
read-only command; it does not start a model or execute validation commands.
holaryn instructions WORKSPACE [TARGET ...] [--json]
With no target, Holaryn explains root guidance. Text output includes each applicable source's scope,
trust, SHA-256 hash, precedence, target set, mode, priority, required validation, truncation/conflict
state, and resolved content. --json emits the same typed evidence with the resolution snapshot
hash. Targets and instruction symlinks cannot escape the canonical workspace root.
holaryn instructions D:\projects\example src\app.py
holaryn instructions D:\projects\example src\app.py --json
See Repository instructions for compatible
filenames, optional frontmatter, precedence, invalidation, and safety behavior.
holaryn worktree
Create, inspect, validate, integrate, archive, recover, and safely clean durable coding worktrees.
Commands print structured JSON. An identifier can be a worktree_id or its bound Code/coding-job
session id.
holaryn worktree [--state-dir DIR] SUBCOMMAND
Common flow:
holaryn worktree create D:\projects\example --mode isolated
holaryn worktree compare wt_1234abcd
holaryn worktree validate wt_1234abcd --commands-json "[[\"uv\",\"run\",\"pytest\"]]"
holaryn worktree integrate wt_1234abcd adopt --plan-sha256 PLAN --target-revision TARGET --approve
holaryn worktree cleanup wt_1234abcd
Subcommands are create, list, status, compare, validate, integrate, rebase,
archive, recover, cleanup, and abandon. Integration strategies are adopt (fast-forward),
apply (cherry-pick), and merge. Starting a rebase or integration requires the exact digest and
target revision from the reviewed comparison plus --approve. create --root ALIAS=PATH adds an
explicit secondary repository mapping. See Isolated coding worktrees for
the safety and recovery contract.
holaryn schedule
Manage scheduled agent runs. The positional arguments are either list, cancel <job-id>, or a schedule spec followed by the prompt to run.
holaryn schedule [--state-dir DIR] [--posture POSTURE] [--on-gated {cancel,hold}]
[--misfire {skip,fire-once}] [--policy FILE] [--profile NAME]
[--team NAME] [--to MEMBER] [--topic TOPIC]
(list | cancel JOB_ID | SPEC PROMPT...)
| Flag | Meaning |
|---|---|
--posture |
Autonomy posture the job runs under (ask, selective, allow-all, unrestricted). Omitted: defers to the job's profile posture, falling back to selective. |
--on-gated {cancel,hold} |
What happens to a gated action in the unattended run: deny it (cancel, default) or park it for approval (hold). |
--misfire {skip,fire-once} |
Missed-fire policy after downtime: skip missed fires (default) or catch up one. |
--policy FILE |
Autonomy policy profile TOML for the job. |
--profile NAME |
Config profile the job runs on (model/persona/posture/memory). |
--team NAME |
Post the text to this team's thread as the operator instead of running the agent (a scheduled kickoff); --to targets one member, --topic labels the discussion. The agent-run flags do not apply. |
The spec is cron:…, interval:…, date:…, or a natural-language phrase such as "every weekday at 8" (resolved by your configured model).
holaryn schedule "cron:0 8 * * 1-5" Summarize yesterday's inbox
holaryn schedule list
holaryn schedule cancel 3f2a…
holaryn workflow
Author, review, publish, run, and supervise immutable declarative workflows in the selected state
directory.
holaryn workflow [--state-dir DIR]
list
show WORKFLOW_ID VERSION [--format {yaml,json}]
validate PATH
import PATH
approve-import WORKFLOW_ID VERSION
publish WORKFLOW_ID VERSION
deprecate WORKFLOW_ID VERSION
run WORKFLOW_ID [--version VERSION] [--inputs JSON_OR_@PATH]
[--idempotency-key KEY]
instances [--workflow-id WORKFLOW_ID]
cancel INSTANCE_ID [--reason TEXT]
validate is a no-action dry-run. import stores an untrusted disabled draft and prints
permission, dependency, secret, trigger, network, risk, and consequence changes. Record the review
with approve-import before publishing. A run is queued durably; keep the desktop app,
holaryn serve, or the OS service running to execute it.
holaryn workflow validate ./research-brief.yaml
holaryn workflow run research-brief --version 1.0.0 --inputs '{"topic":"local AI"}'
holaryn workflow instances --workflow-id research-brief
See Workflows and reusable runbooks.
holaryn status
Show the persistent host's status: whether it is running, where, plus pending approvals, questions, resumable runs, and jobs.
holaryn status [--state-dir DIR]
holaryn status
holaryn question
List or answer parked operator questions from running or unattended sessions.
holaryn question [--state-dir DIR] [--host HOST] [--port PORT] [--auth-token TOKEN]
(list | answer QUESTION_ID ANSWER...)
The answer is posted to the running host so the paused run resumes with your text.
holaryn question list
holaryn question answer q-42 "Use README.md"
holaryn steer
Queue a live steering directive for a running session. It is appended to the run's transcript at the next turn boundary and never interrupts a tool call already executing.
holaryn steer [--state-dir DIR] [--host HOST] [--port PORT] [--auth-token TOKEN]
[SESSION-ID] DIRECTIVE
If the session id is omitted, the directive targets the lead web session.
holaryn steer "Prioritize the failing tests"
holaryn steer web/sub:1 "Stop and report what you have"
holaryn resume
List or decide restart resume actions — side-effectful tool calls whose outcome is unknown after a host restart.
holaryn resume [--state-dir DIR] [--host HOST] [--port PORT] [--auth-token TOKEN]
(list | decide DECISION_ID {rerun,skip,abort})
holaryn resume list
holaryn resume decide d-7 skip
holaryn coding-jobs
List, steer, or cancel background coding jobs (delegated coding-CLI runs). steer sends a mid-run instruction to a running claude-code job; codex jobs cannot be steered (cancel and resume via the child session id instead).
holaryn coding-jobs [--state-dir DIR] [--host HOST] [--port PORT] [--auth-token TOKEN]
(list | steer JOB_ID MESSAGE | cancel JOB_ID)
holaryn coding-jobs list
holaryn coding-jobs steer cj_1234abcd "skip the refactor, just fix the failing test"
holaryn team
Manage agent teams — linked local agents, coding CLIs, and remote peers that collaborate on a shared board. See Teams.
holaryn team [--state-dir DIR] [--host HOST] [--port PORT] [--auth-token TOKEN] SUBCOMMAND
create <name> [--topic-budget N] [--ask-timeout SECONDS]— create a team.add <team> <member> [--profile NAME] [--backend {claude-code,codex}] [--workspace DIR] [--permission {safe,edits}] [--peer NAME]— add a member.--backendmakes it a coding-CLI member;--peerbridges to a paired peer host.remove <team> <member>— remove one member: stops its worker and cancels its pending questions with a note on the thread. Prefers the running host; works offline too.status [name]— show all teams, or one team.post <team> [--to MEMBER] [--topic TOPIC] <text…>— post a message; an empty--tobroadcasts.archive <name>— archive a team.
holaryn team create research
holaryn team add research coder --backend claude-code --workspace ./repo
holaryn team post research --to coder Investigate the flaky test
holaryn peer
Manage paired peer machines — other Holaryn hosts you can message and delegate to. See Peers and networking.
holaryn peer [--state-dir DIR] [--host HOST] [--port PORT] [--auth-token TOKEN] SUBCOMMAND
add <name> --url URL --token TOKEN [--node-id ID]— pair a peer manually with its base URL and inbound peer token.remove <name>— unpair a peer.list— list paired peers.discovered— list Holaryn instances discovered on the local network.pair <node_id>— pair with a discovered instance in one step (tokens exchanged).enable <name>/disable <name>— switch a paired peer's connection on or off (disable blocks both directions but keeps the entry).targets <peer>— list a peer's addressable@-targets.token set <value>/token clear— manage this host's inbound peer token.send <peer> <text…>— message a peer's agent.ask <peer> <text…>— ask a peer's agent and wait for the answer.
holaryn peer discovered
holaryn peer pair 4c9d…
holaryn peer ask studio "Is the render job finished?"
holaryn device
Inspect and control narrow capabilities advertised by a paired mobile or edge device. See
Device capability nodes.
holaryn device [--state-dir DIR] SUBCOMMAND
list [--json]— list nodes, presence, OS permissions, availability, and server grants.activity [--device-id ID] [--limit N] [--json]— inspect bounded device activity.grant <device-id> <capability> <ask|allow|deny> [--expires-in SECONDS]— change the
independent server grant.invoke <device-id> <capability> [--parameters JSON] [--expected-upload-bytes N] [--ttl N]—
queue an exact, expiring request.cancel <invocation-id>— cancel queued or running device work.revoke <device-id> [--lost]— revoke the node and shared mobile credential.wipe <device-id>— ask the online PWA to remove local credentials and capability state.
holaryn device list
holaryn device grant phone_… notification.send allow
holaryn device invoke phone_… notification.send --parameters '{"title":"Ready"}'
holaryn service
Manage the Holaryn host as a native OS service (systemd, launchd, or Windows SCM). See Running the agent for platform specifics.
holaryn service install [--state-dir DIR] [--host HOST] [--port PORT] [--env-file FILE]
[--service-name NAME] [--executable PATH]
[--platform {linux,darwin,windows}] [--print-artifact]
holaryn service (uninstall | status | start | stop) [--service-name NAME]
[--platform {linux,darwin,windows}]
| Flag | Meaning |
|---|---|
--state-dir DIR |
State directory the service owns (platform default when omitted). |
--host / --port |
Web API bind address (defaults 127.0.0.1:8765). |
--env-file FILE |
Environment file with provider keys, referenced by the service. |
--service-name NAME |
Service name (default holaryn). |
--executable PATH |
Path to holaryn baked into the service definition (default: resolved from PATH). |
--platform |
Target platform; detected when omitted. |
--print-artifact |
Print the generated service definition without registering it. |
status additionally accepts --state-dir to read host details from a specific state directory.
sudo holaryn service install --platform linux --state-dir /var/lib/holaryn --env-file /etc/holaryn/holaryn.env
holaryn service status
holaryn install-cli / holaryn uninstall-cli
Windows only: install or remove the frozen holaryn CLI on the per-user PATH (used by the desktop app's bundled CLI).
holaryn install-cli [--source DIR] [--root DIR]
holaryn uninstall-cli [--root DIR]
--source DIR— path to the frozen onedir (containsholaryn.exeand_internal); defaults to the running frozen binary's own folder.--root DIR— install root (default%USERPROFILE%\.holaryn-agent).
holaryn mcp
Manage MCP servers — external tools connected over the Model Context Protocol. All subcommands accept --manifest <path> to use a specific manifest file. See Tools and MCP.
list— list configured servers.inspect <server>— connect to one server and list its tools, their approval gating, and behavior hints.remove <server>— remove a server.add <server> --transport {stdio,http,sse} [options]— add or replace a server:
| Flag | Meaning |
|---|---|
--command CMD |
Executable for a stdio server. |
--arg ARG |
Argument to the command (repeatable). |
--url URL |
Endpoint for an http/sse server. |
--api-key-env VAR |
Env var holding the server's API key. |
--header-env HEADER=ENV_VAR |
Request header resolved from an env var at connect time (repeatable). |
--trusted |
Mark the server trusted (its tools can bypass per-tool gating rules for untrusted servers). |
--autonomous-tool NAME |
Allowlist one tool to run without asking (repeatable). |
holaryn mcp add github --transport stdio --command gh-mcp --trusted
holaryn mcp inspect github
holaryn skill
Manage installed skills. All subcommands accept --root <dir> for the managed skill root (default ~/.holaryn/skills). See Skills.
list— list discovered skills with source and trust state.inspect <skill_id>— show one skill's details and provenance.install <source> [--yes] [--overwrite]— install from a local folder or a git URL (confirmation prompt unless--yes).remove <skill_id> [--yes]— delete an installed skill.search [query…] [--index-url URL]— search the curated skill index; an empty query browses everything.--index-urlaccepts an https URL, afile://URL, or a local path.enable <skill_id>/disable <skill_id>— show or hide a skill for new sessions.trust <skill_id>/untrust <skill_id>— let the skill's scripts run with notification instead of ask-first, or revert that.
holaryn skill search calendar
holaryn skill install https://github.com/example/skill-pack
holaryn skill trust example/meeting-notes
holaryn plugin
Manage installed plugins (bundles of skills, MCP servers, and schedule templates). Plugins install disabled and must be reviewed and enabled before new sessions load them.
list— list installed plugins with version, state, and origin.inspect <name>— show one plugin's manifest details.install <source> [--yes] [--overwrite]— install from a local folder or a git URL.update <name> [--yes]— reinstall from the recorded source; the plugin is disabled again pending review.remove <name> [--yes]— delete an installed plugin.enable <name> [--yes]— review the plugin's MCP processes/connections and let new sessions load it.disable <name>— hide the plugin from new sessions.
holaryn plugin install ./my-plugin
holaryn plugin enable my-plugin
holaryn marketplace
Inspect and manage signed, immutable capability packages across configured public/private
registries, mirrors, and offline files. See Trusted marketplace.
status— show remote rollout, locked policy, cached registries, and installed package counts.refresh <registry_id> <location>— verify and cache one allowed signed registry index.search [query] [--kind KIND] [--tier TIER] [--category CATEGORY] [--quality QUALITY] [--compatible]— browse or filter cached catalogs with an explainable rank.inspect <package_id> [--version VERSION]— show provenance, compatibility, permissions, data access, review/tests, digests, and advisories.install <package_id> [--version VERSION] [--activate] [--yes]— download, verify, and stage an immutable catalog version.update <package_id> [--version VERSION] [--activate] [--yes]— stage a newer signed version of an already-installed package without moving its active pointer.verify <archive>— verify a signed offline archive without changing state.import <archive> [--activate] [--yes]— policy-check and stage a signed offline archive.activate <package_id> <version> [--yes]— perform the exact-version trust/permission review and atomically activate.rollback <package_id> [--yes]— restore the reviewed previous version/configuration.pin <package_id> <version>/unpin <package_id>— constrain or release the active version.disable <package_id>— stop admission into new sessions while retaining recovery evidence.remove <package_id> [--yes]— uninstall all marketplace-managed versions.report <package_id> --reason TEXT --details TEXT— queue a bounded local registry report.keygen,package, andsign-index— publisher/registry authoring commands described in
Marketplace publication.
Remote refresh/download requires HOLARYN_MARKETPLACE_ENABLED=true. Verification and
policy-approved offline import remain available when it is false. There is no unsigned-executable
or organization-policy bypass flag.
holaryn hacp
Inspect HACP connected-mode configuration (the optional Holaryn Space link).
holaryn hacp status
Prints whether connected mode is configured, and if so the endpoint, scope, node id, and whether an auth token is set. A standalone install reports connected mode: not configured (standalone).
holaryn batch
Import versioned datasets and supervise durable per-row agent execution. Override
the durable host state with --state-dir.
holaryn batch datasets
holaryn batch import <manifest.json> [--sample-size N]
holaryn batch dry-run <definition.json> [--sample-size N]
holaryn batch create <definition.json>
holaryn batch list
holaryn batch show <batch-id>
holaryn batch items <batch-id> [--state STATE] [--limit N] [--offset N]
holaryn batch attempts <batch-id> [--item-key ITEM-KEY]
holaryn batch report <batch-id>
holaryn batch start|pause|resume|cancel|retry <batch-id> --expected-revision N
holaryn batch export <batch-id> <target> --format {csv,jsonl,parquet-ready}
holaryn batch delete <batch-id> --confirmation <batch-id>
pause and cancel require --reason. Repeat --item-key on retry for a
filtered rerun. Definitions are strict JSON and must include configured item/global
budgets plus forecast usage. See Batch and dataset execution.
holaryn self-improve
Manage the evidence-gated candidate-change ledger. State and workspace can be
overridden with --state-dir and --workspace.
holaryn self-improve list
holaryn self-improve show <proposal-id>
holaryn self-improve create <definition.json>
holaryn self-improve patch <proposal-id> <patch.json> --expected-revision N
holaryn self-improve evaluate <proposal-id> <evaluation.json> --expected-revision N
holaryn self-improve plan <proposal-id> <canary.json> --expected-revision N
holaryn self-improve review <proposal-id> --expected-revision N --reviewer ID
--verdict {approved,rejected} --rationale TEXT [--elevated]
holaryn self-improve observe <proposal-id> <observation.json> --expected-revision N
holaryn self-improve start-canary <proposal-id> --expected-revision N
holaryn self-improve promote <proposal-id> --expected-revision N
holaryn self-improve cancel <proposal-id> --expected-revision N --reason TEXT
holaryn self-improve export <proposal-id>
holaryn self-improve delete <proposal-id> <confirmation-option> <proposal-id>
holaryn self-improve enable | disable
holaryn self-improve purge <confirmation-option> "DELETE ALL SELF-IMPROVEMENT DATA"
Inputs use strict JSON schemas; unknown fields fail. Every mutation binds to the
current revision, review must be independent, and promotion only records an
authorization artifact. Run the destructive subcommands with --help for the
literal confirmation-option spelling. See
Evidence-gated self-improvement.
holaryn bench
Run reproducible capability and regression evaluations. See
HolarynBench for interpretation, privacy, and live-provider caveats.
holaryn bench list [--suite NAME_OR_JSON]
holaryn bench validate [--suite NAME_OR_JSON] [--release-shape]
holaryn bench run [--suite NAME_OR_JSON] [--mode {offline,live}] [--model ID]
[--trials N] [--seed N] [--scenario ID]...
[--output-dir DIR] [--baseline JSON] [--fail-on-regression]
holaryn bench security [--corpus PATH] [--output-dir DIR] [--fail-on-bypass]
holaryn bench routing [--output-dir DIR] [--baseline JSON] [--fail-on-regression]
holaryn bench resilience [--output-dir DIR] [--baseline JSON] [--fail-on-regression]
listprints stable scenario ids, capability domains, CI requirement, and title.validateparses every typed contract;--release-shapeadditionally requires
at least 25 scenarios across five domains.runwrites canonical JSON plus readable Markdown and standalone semantic HTML.securityruns the versioned no-network injection and information-flow corpus,
writing content-free JSON and Markdown metrics.routingcompares static and adaptive selection on the reviewed offline workload.resilienceexercises safe retry, failover, circuits, partial-stream stop, and
post-consequential-tool stop without contacting a provider.--mode offlineis the deterministic, no-network default.--mode liveuses a
configured registry model and may spend tokens or incur provider charges. Live
shell scenarios require Docker and run with container networking disabled.- Repeat
--scenarioto select tasks and use--trialsfor pass@k evidence. --baselinecompares reviewed thresholds;--fail-on-regressionrequires it
and returns nonzero on a crossed threshold. Any failed trial is always nonzero.
holaryn bench run --suite smoke --output-dir benchmark-results \
--baseline benchmarks/baselines/smoke-v1.json --fail-on-regression
holaryn routing
Inspect or dry-run adaptive model selection and provider recovery. These commands do not invoke a
provider.
holaryn routing show [--limit N]
holaryn routing simulate PROMPT [--role ROLE] [--tools] [--vision]
[--structured-output] [--local-only]
[--context-tokens N] [--output-tokens N]
[--current-model ID] [--model ID]
holaryn routing reset --yes
holaryn routing health [--limit N]
holaryn routing reset-circuits --yes
simulate holds the representative prompt in memory and prints a content-free candidate decision.
show and reset operate on adaptive-routing decisions/outcomes. health prints provider
circuits, the active recovery policy, metrics, and bounded content-free attempts.
reset-circuits deletes only circuit and recovery-attempt state and requires confirmation. See
Adaptive model routing and Provider recovery.
holaryn memory
Inspect or rebuild local memory. Accepts --path <file> to point at a specific memory database. See Memory.
status— show the memory backend and location, the active and recorded embedder (and whether they match), and the vector backend.reindex— rebuild all memory vectors with the active embedder.install-extra {fastembed,mariadb,otel,postgres,qdrant,voice}— install an optional extra into this environment (works in the desktop app's frozen environment too).
holaryn memory status
holaryn memory install-extra fastembed
holaryn memory reindex
holaryn otel
Manage write-only values used by OTLP authentication-header references. Values are accepted only
through a named environment variable and are never printed:
holaryn otel [--state-dir DIR] secret set otel.NAME --value-env ENV_NAME [--replace]
holaryn otel [--state-dir DIR] secret status otel.NAME
holaryn otel [--state-dir DIR] secret clear otel.NAME --confirm "CLEAR otel.NAME"
See Run observability for exporter
configuration and privacy behavior.
holaryn policy
Inspect autonomy policy profiles. Accepts --policy <file.toml> to select a profile explicitly; otherwise the configured one is used.
holaryn policy show
Shows the active policy profile's rules. See Autonomy and approvals.
holaryn encryption
Manage opt-in encrypted local state, per-domain data keys, and password-recoverable backups.
Stop the host before every mutating operation.
holaryn encryption [--state-dir DIR] status [--json]
holaryn encryption [--state-dir DIR] enable [--provider {os,recovery}]
[--tenant ID] [--password-env NAME] [--canary-env NAME ...]
holaryn encryption [--state-dir DIR] migrate [--password-env NAME]
[--canary-env NAME ...]
holaryn encryption [--state-dir DIR] rotate [--data-class CLASS ...]
[--password-env NAME]
holaryn encryption [--state-dir DIR] rewrap --provider {os,recovery}
[--password-env NAME]
holaryn encryption [--state-dir DIR] backup OUTPUT [--password-env NAME]
holaryn encryption verify-backup ARCHIVE [--password-env NAME]
holaryn encryption restore-backup ARCHIVE EMPTY_DESTINATION [--password-env NAME]
Recovery material defaults to HOLARYN_ENCRYPTION_RECOVERY_PASSWORD and is intentionally never
accepted as a command argument. enable creates a verified encrypted rollback backup before
migrating existing covered stores. migrate resumes its durable checkpoint. rotate activates
new DEKs while retaining mixed-version reads; rewrap changes only the OS/recovery wrapping
provider. Restore authenticates into a staging tree and refuses non-empty destinations.
See Encrypted local state for the threat model, complete persistent
store inventory, enablement, recovery drill, and key-loss warnings.
holaryn secret
Manage opaque secret references and exact just-in-time leases. Values are accepted only from a
named environment variable and are never printed.
holaryn secret [--state-dir DIR] [--actor ID] list
holaryn secret create ALIAS --value-env NAME --scope-kind KIND --scope-id ID --policy FILE
holaryn secret show SECRETREF
holaryn secret request SECRETREF --principal ID --run ID --tool ID --destination ID \
--purpose ID --mode MODE --target TARGET [--seconds N]
holaryn secret approve LEASE_ID
holaryn secret test SECRETREF <exact binding and injection options>
holaryn secret rotate-plan SECRETREF
holaryn secret rotate-stage SECRETREF --value-env NAME
holaryn secret rotate-cutover SECRETREF
holaryn secret rotate-rollback SECRETREF
holaryn secret rotate-retire SECRETREF
holaryn secret revoke (--ref SECRETREF | --lease-id LEASE_ID) --reason TEXT
holaryn secret break-glass SECRETREF <exact binding and injection options> \
--reviewer ID --reason TEXT --confirm "BREAK-GLASS ALIAS"
holaryn secret audit [--limit N]
See Scoped secret broker for policy JSON, rotation, deletion, and
break-glass examples.
holaryn migrate
Import skills, memory, and persona from another agent installation.
holaryn migrate --from {openclaw,hermes} [--home DIR] [--skill-root DIR] [--scope SCOPE]
[--dry-run] [--yes] [--overwrite]
| Flag | Meaning |
|---|---|
--from |
Which agent to import from (required). |
--home DIR |
Source install directory (default ~/.openclaw or ~/.hermes). |
--skill-root DIR |
Skill root to install into (default ~/.holaryn/skills). |
--scope SCOPE |
Memory scope imported episodes attach to (default personal). |
--dry-run |
Show what would be imported and stop. |
--yes |
Skip the confirmation prompt. |
--overwrite |
Replace already-installed skills and an existing persona file. |
holaryn migrate --from openclaw --dry-run
holaryn persona
Manage the persona text injected into every session.
show— print the active persona.path— print the persona file location.set [text…] [--file FILE]— replace the persona with inline text or the contents of a markdown file.clear— delete the persona file.
holaryn persona set --file ./persona.md
holaryn profile
Manage config profiles — named bundles of model, effort, posture, persona, and config overrides that holaryn run --profile, scheduled jobs, and team members can select.
list— list profiles and the default.show <name>— show one profile.create <name>/edit <name>— create or edit a profile:
| Flag | Meaning |
|---|---|
--set FIELD=VALUE |
Override an editable config field (repeatable). |
--unset FIELD |
Remove an override (repeatable, edit only). |
--model ID |
Registry model id this profile selects. |
--effort {low,medium,high,max} |
Reasoning effort. |
--posture {ask,selective,allow-all} |
Autonomy posture (unrestricted is deliberately not selectable via profiles). |
--persona-file FILE |
Markdown file with this profile's persona. |
--telegram-chats IDS |
Comma-separated Telegram chat ids routed to this profile (empty string clears). |
remove <name>— delete a profile.default [name] [--clear]— set or clear the default profile.
holaryn profile create research --model claude-latest --posture selective --effort high
holaryn profile default research
holaryn plan
Review and batch-execute plans staged by dry-run sessions (holaryn run --dry-run or the /dryrun command).
list— list reviewable staged plans.show <plan_id>— show one plan's actions.approve <plan_id>— execute the plan's remaining actions, in order.discard <plan_id>— discard a plan without executing it.
holaryn plan list
holaryn plan approve p-3
holaryn task-package
Create, inspect, import, remap, and reproduce portable task packages. Package commands
write machine-readable JSON to stdout and send actionable errors with stable
task-package.* codes to stderr.
schema— print the version 1 manifest JSON Schema.keygen --private-key FILE --public-key FILE [--password-env NAME]— create an
Ed25519 publisher key pair. Passwords are read from environment variables, never
command-line values.scan PLAN --report FILE [--secret-canary-env NAME ...]— inventory a version 1
export plan and identify secret, privacy, path, license, and binary findings.prepare-review REPORT --output FILE --reviewed-by NAME— create a review draft.
Every decision starts withCHOOSE:and must be explicitly replaced with one of
the finding's allowed actions before export.export PLAN --report FILE --review FILE --output FILE— create a deterministic
package after the report and explicit review match. Add--signing-key FILE,
--key-password-env NAME, or--encrypt-password-env NAMEas needed.inspect PACKAGE [--password-env NAME]— verify and inspect an untrusted archive
without persisting it.preflight PACKAGE [--inventory FILE]— report every missing or incompatible
dependency, permission, model, account, path, and secret slot before execution.import PACKAGE [--inventory FILE]— persist immutable package content and create
its localdefaultresolution overlay.list/show DIGEST— list imported packages or inspect immutable provenance and
local overlays.fork DIGEST OVERLAY_ID [--from-overlay ID]— fork local resolution only.remap DIGEST --expected-revision N [--overlay ID]— update a local overlay with
repeatable--model SOURCE=TARGET,--path SOURCE=TARGET,
--account SOURCE=TARGET, and--secret-slot SOURCE=TARGETmappings.dry-run DIGEST [--overlay ID] [--inventory FILE]— re-evaluate a stored package
without executing it.rerun-reference DIGEST --confirm "RUN DIGEST"— run the deliberately bounded
reference hash workflow in the sandbox and emit equivalent-output evidence.registry-publish DIGEST --registry-dir DIR/
registry-import REFERENCE --registry-dir DIR— exchange a package through the
filesystem registry adapter.
Global task-package options are --state-dir DIR, repeatable
--trusted-key PUBLIC_KEY, and --actor NAME. Place them before the subcommand.
Inventory files may be either an array of installed-dependency records or an object
with a dependencies array.
$env:HOLARYN_PACKAGE_CANARY = "known-test-secret"
holaryn task-package scan .\plan.json --report .\scan.json `
--secret-canary-env HOLARYN_PACKAGE_CANARY
holaryn task-package prepare-review .\scan.json --output .\review.json `
--reviewed-by operator
# Edit every CHOOSE:<action> value to the selected allowed action.
holaryn task-package export .\plan.json --report .\scan.json `
--review .\review.json --output .\task.sxtpkg `
--secret-canary-env HOLARYN_PACKAGE_CANARY
holaryn task-package inspect .\task.sxtpkg
See Shareable task packages for plan, review, inventory, trust,
encryption, hostile-archive, and reproducibility contracts.
holaryn trajectories
Review successful terminal runs and create managed local fine-tuning JSONL.
candidates [--limit N]— list eligible locally owned completed runs.preview RUN_ID ...— print bounded sanitized samples, findings, source
digest, and the exact consent phrase. Select--format openai-chat,
sharegpt, orholaryn-episode.export RUN_ID ... --preview-id DIGEST --confirm "EXPORT REDACTED TRAJECTORIES"
— recompute an unchanged review and atomically write the dataset plus
provenance sidecar.list [--limit N]— list managed exports without reading their content.delete EXPORT_ID --confirm "DELETE EXPORT_ID"— digest-check and delete
both managed files. Changed files require--force-changedand the separate
phraseFORCE DELETE EXPORT_ID.
Place --state-dir DIR and --owner-id ID before the subcommand. System
messages, typed context, and tool results are omitted by default. Opt in with
--include-system, --include-context, or --include-tool-results. Supply
project-specific private values by repeatable environment-variable name:
export HOLARYN_TRAJECTORY_CANARY
holaryn trajectories preview run_0123456789abcdef \
--private-value-env HOLARYN_TRAJECTORY_CANARY
Raw private values are deliberately not accepted as command-line options. See
Privacy-reviewed training data for the redaction,
stale-preview, format, provenance, and non-effects contracts.