===== hermes chat --help =====
usage: hermes chat [-h] [-q QUERY | --query-file PATH] [--oneshot]
                   [--image IMAGE] [-m MODEL] [-t TOOLSETS]
                   [--reasoning LEVEL] [-s SKILLS] [--provider PROVIDER] [-v]
                   [-Q] [--resume SESSION_ID] [--no-restore-cwd] [--in DIR]
                   [--continue [SESSION_NAME]] [--create-if-missing]
                   [--worktree] [--accept-hooks] [--checkpoints]
                   [--max-turns N] [--run-budget SECONDS] [--yolo]
                   [--pass-session-id] [--ignore-user-config] [--ignore-rules]
                   [--safe-mode] [--source SOURCE] [--tui] [--cli] [--dev]

Start an interactive chat session with Hermes Agent

options:
  -h, --help            show this help message and exit
  -q, --query QUERY     Query to run. On a real TTY the prompt seeds an
                        interactive session (submitted literally as the first
                        turn); combined with --oneshot or -Q, or on a non-TTY,
                        it answers and exits.
  --query-file PATH     Read the single query from a file instead of the
                        command line ('-' reads stdin). Safe for arbitrary
                        text: nothing is shell-interpreted, so quotes, $(...),
                        and backticks are preserved verbatim. Mutually
                        exclusive with -q.
  --oneshot             With -q/--query-file: answer the query and exit
                        (legacy single-query behavior) instead of seeding an
                        interactive session. Implied on non-TTY stdio and by
                        -Q/--quiet.
  --image IMAGE         Optional local image path to attach to a single query
  -m, --model MODEL     Model to use (e.g., anthropic/claude-sonnet-4)
  -t, --toolsets TOOLSETS
                        Comma-separated toolsets to enable
  --reasoning LEVEL     Reasoning effort for this session: none, minimal, low,
                        medium, high, xhigh, max, or ultra. Overrides
                        agent.reasoning_effort for this run only (same levels
                        as the /reasoning slash command).
  -s, --skills SKILLS   Preload one or more skills for the session (repeat
                        flag or comma-separate)
  --provider PROVIDER   Inference provider (default: auto). Built-in or a
                        user-defined name from `providers:` in config.yaml.
  -v, --verbose         Verbose output
  -Q, --quiet           Quiet mode for programmatic use: suppress banner,
                        spinner, and tool previews. Only output the final
                        response and session info.
  --resume, -r SESSION_ID
                        Resume a previous session by ID (shown on exit), or
                        'latest' for the most recent session
  --no-restore-cwd      Don't cd into a resumed session's recorded working
                        directory.
  --in DIR              Change into DIR before starting or resuming (scopes '
                        --resume latest' / -c lookups to DIR's workspace).
  --continue, -c [SESSION_NAME]
                        Resume a session by name, or the most recent if no
                        name given
  --create-if-missing   With -c/--continue <name>: if no session matches the
                        name, create a new session with that title and proceed
                        (instead of failing with a not-found error).
                        Programmatic callers that want 'send to this named
                        thread, making it if needed'.
  --worktree, -w        Run in an isolated git worktree (for parallel agents
                        on the same repo)
  --accept-hooks        Auto-approve any unseen shell hooks declared in
                        config.yaml without a TTY prompt (see also
                        HERMES_ACCEPT_HOOKS env var and hooks_auto_accept: in
                        config.yaml).
  --checkpoints         Enable filesystem checkpoints before destructive file
                        operations (use /rollback to restore)
  --max-turns N         Maximum tool-calling iterations per conversation turn
                        (default: 500, or agent.max_turns in config)
  --run-budget SECONDS  Optional wall-clock budget in seconds for each
                        conversation run. At 80% elapsed the agent gets a one-
                        time wrap-up notice, and implicit provider stale
                        timeouts are capped to the remaining budget so one
                        hung call can't consume the run. Unset = off. Also
                        configurable as agent.run_budget_seconds in
                        config.yaml. Intended for one-shot/eval invocations
                        with a hard ceiling.
  --yolo                Bypass all dangerous command approval prompts (use at
                        your own risk)
  --pass-session-id     Include the session ID in the agent's system prompt
  --ignore-user-config  Ignore ~/.hermes/config.yaml and fall back to built-in
                        defaults (credentials in .env are still loaded).
                        Useful for isolated CI runs, reproduction, and third-
                        party integrations.
  --ignore-rules        Skip auto-injection of AGENTS.md, SOUL.md,
                        .cursorrules, memory, and preloaded skills. Combine
                        with --ignore-user-config for a fully isolated run.
  --safe-mode           Troubleshooting mode: disable ALL customizations —
                        user config, AGENTS.md/memory injection, plugins, and
                        MCP servers (implies --ignore-user-config and
                        --ignore-rules). Use to isolate whether a problem
                        comes from your setup or from Hermes itself.
  --source SOURCE       Session source tag for filtering (default: cli). Use
                        'tool' for third-party integrations that should not
                        appear in user session lists.
  --tui                 Launch the modern TUI instead of the classic REPL
  --cli                 Force the classic prompt_toolkit REPL (overrides
                        display.interface=tui)
  --dev                 With --tui: run TypeScript sources via tsx (skip dist
                        build)
===== hermes model --help =====
usage: hermes model [-h] [--refresh] [--portal-url PORTAL_URL]
                    [--inference-url INFERENCE_URL] [--client-id CLIENT_ID]
                    [--scope SCOPE] [--no-browser] [--timeout TIMEOUT]
                    [--ca-bundle CA_BUNDLE] [--insecure]

Interactively select your inference provider and default model

options:
  -h, --help            show this help message and exit
  --refresh             Wipe the model picker disk cache and re-fetch every
                        provider's live /v1/models list.
  --portal-url PORTAL_URL
                        Portal base URL for Nous login (default: production
                        portal)
  --inference-url INFERENCE_URL
                        Inference API base URL for Nous login (default:
                        production inference API)
  --client-id CLIENT_ID
                        OAuth client id to use for Nous login (default:
                        hermes-cli)
  --scope SCOPE         OAuth scope to request for Nous login
  --no-browser          Do not attempt to open the browser automatically
                        during Nous login
  --timeout TIMEOUT     HTTP request timeout in seconds for Nous login
                        (default: 15)
  --ca-bundle CA_BUNDLE
                        Path to CA bundle PEM file for Nous TLS verification
  --insecure            Disable TLS verification for Nous login (testing only)
===== hermes config --help =====
usage: hermes config [-h]
                     {show,edit,get,set,unset,path,env-path,check,migrate} ...

Manage Hermes Agent configuration

positional arguments:
  {show,edit,get,set,unset,path,env-path,check,migrate}
    show                Show current configuration
    edit                Open config file in editor
    get                 Print a resolved configuration value
    set                 Set a configuration value
    unset               Remove a configuration value
    path                Print config file path
    env-path            Print .env file path
    check               Check for missing/outdated config
    migrate             Update config with new options

options:
  -h, --help            show this help message and exit
===== hermes cron --help =====
usage: hermes cron [-h] [--accept-hooks]
                   {list,create,add,edit,pause,resume,run,remove,rm,delete,status,runs,history,incidents,notepad,doctor,tick} ...

Manage scheduled tasks

positional arguments:
  {list,create,add,edit,pause,resume,run,remove,rm,delete,status,runs,history,incidents,notepad,doctor,tick}
    list                List scheduled jobs
    create (add)        Create a scheduled job
    edit                Edit an existing scheduled job
    pause               Pause a scheduled job
    resume              Resume a paused job
    run                 Run a job on the next scheduler tick
    remove (rm, delete)
                        Remove a scheduled job
    status              Check if cron scheduler is running
    runs (history)      Show durable execution attempts
    incidents           List or acknowledge durable cron failure incidents
    notepad             Read/write a job's durable notepad (persistent KV
                        across runs)
    doctor              Check scheduled jobs for common health issues
    tick                Run due jobs once and exit

options:
  -h, --help            show this help message and exit
  --accept-hooks        Auto-approve unseen shell hooks without a TTY prompt
                        (equivalent to HERMES_ACCEPT_HOOKS=1 /
                        hooks_auto_accept: true).
===== hermes kanban --help =====
usage: hermes kanban [-h] [--board <slug>]
                     {init,boards,create,swarm,list,ls,show,assign,set-model,reclaim,reassign,diagnostics,diag,link,unlink,claim,comment,attach,attachments,attach-rm,complete,edit,block,schedule,unblock,request-review,request-changes,reopen-review,promote,archive,tail,dispatch,daemon,watch,stats,notify-subscribe,notify-list,notify-unsubscribe,log,runs,heartbeat,assignees,context,specify,decompose,gc,repair} ...

Durable SQLite-backed task board shared across Hermes profiles. Tasks are
claimed atomically, can depend on other tasks, and are executed by a named
profile in an isolated workspace. See https://hermes-
agent.nousresearch.com/docs/user-guide/features/kanban or docs/hermes-
kanban-v1-spec.pdf for the full design.

positional arguments:
  {init,boards,create,swarm,list,ls,show,assign,set-model,reclaim,reassign,diagnostics,diag,link,unlink,claim,comment,attach,attachments,attach-rm,complete,edit,block,schedule,unblock,request-review,request-changes,reopen-review,promote,archive,tail,dispatch,daemon,watch,stats,notify-subscribe,notify-list,notify-unsubscribe,log,runs,heartbeat,assignees,context,specify,decompose,gc,repair}
    init                Create kanban.db if missing (idempotent)
    boards              Manage kanban boards (one board per project /
                        workstream)
    create              Create a new task
    swarm               Create a Kanban Swarm v1 graph (parallel workers →
                        verifier → synthesizer)
    list (ls)           List tasks
    show                Show a task with comments + events
    assign              Assign or reassign a task
    set-model           Set or clear a task's model/provider override (takes
                        effect on the next dispatch)
    reclaim             Release an active worker claim on a running task
    reassign            Reassign a task to a different profile, optionally
                        reclaiming first
    diagnostics (diag)  List active diagnostics on the current board
    link                Add a parent->child dependency
    unlink              Remove a parent->child dependency
    claim               Atomically claim a ready task (prints resolved
                        workspace path)
    comment             Append a comment
    attach              Attach a local file to a task
    attachments         List a task's attachments
    attach-rm           Delete an attachment by id
    complete            Mark one or more tasks done
    edit                Edit recovery fields on an already-completed task
    block               Mark one or more tasks blocked
    schedule            Park one or more tasks in Scheduled (waiting on time,
                        not human input)
    unblock             Return blocked/scheduled tasks to ready, or todo while
                        parents remain open
    request-review      Move a task to 'review' (implementation done, awaiting
                        review) — NOT a block
    request-changes     Reviewer verdict: return the active review run to its
                        implementer
    reopen-review       Send one or more review tasks back for changes (review
                        -> ready/todo)
    promote             Manually move one or more todo/blocked tasks to ready
                        (recovery path)
    archive             Archive one or more tasks
    tail                Follow a task's event stream
    dispatch            One dispatcher pass: reclaim stale, promote ready,
                        spawn workers
    daemon              DEPRECATED — dispatcher now runs in the gateway. Use
                        `hermes gateway start`.
    watch               Live-stream task_events to the terminal (Ctrl+C to
                        exit)
    stats               Per-status + per-assignee counts + oldest-ready age
    notify-subscribe    Subscribe a gateway source to a task's terminal events
                        (used by /kanban subscribe in the gateway adapter)
    notify-list         List notification subscriptions (optionally for a
                        single task)
    notify-unsubscribe  Remove a gateway subscription from a task
    log                 Print the worker log for a task (from <kanban-
                        root>/kanban/logs/)
    runs                Show attempt history for a task (one row per run:
                        profile, outcome, elapsed, summary)
    heartbeat           Emit a heartbeat event for a running task (worker
                        liveness signal)
    assignees           List known profiles + per-profile task counts (union
                        of ~/.hermes/profiles/ and current assignees on the
                        board)
    context             Print the full context a worker sees for a task (title
                        + body + parent results + comments).
    specify             Flesh out a triage-column task into a concrete spec
                        (title + body) and promote it to todo. Uses the
                        auxiliary LLM configured under
                        auxiliary.triage_specifier.
    decompose           Decompose a triage-column task into a graph of child
                        tasks routed to specialist profiles by description.
                        Falls back to specify-style single-task promotion when
                        the task doesn't benefit from fan-out. Uses
                        auxiliary.kanban_decomposer.
    gc                  Garbage-collect archived-task workspaces, old events,
                        and old logs
    repair              Check kanban.db integrity and auto-repair index-only
                        corruption

options:
  -h, --help            show this help message and exit
  --board <slug>        Board slug to operate on. Defaults to the current
                        board (set via `hermes kanban boards switch <slug>` or
                        the HERMES_KANBAN_BOARD env var). Use `hermes kanban
                        boards list` to see all boards.
===== hermes skills --help =====
usage: hermes skills [-h]
                     {trust,untrust,browse,search,install,inspect,list,check,update,audit,uninstall,reset,list-modified,diff,opt-out,opt-in,repair-official,publish,snapshot,tap,config} ...

Search, install, inspect, audit, configure, and manage skills from skills.sh,
well-known agent skill endpoints, GitHub, ClawHub, and other registries.

positional arguments:
  {trust,untrust,browse,search,install,inspect,list,check,update,audit,uninstall,reset,list-modified,diff,opt-out,opt-in,repair-official,publish,snapshot,tap,config}
    trust               Trust a project so its repo-local skills
                        (./.hermes/skills, ./.agents/skills) load
    untrust             Revoke project-skill trust for a repo
    browse              Browse all available skills (paginated)
    search              Search skill registries
    install             Install a skill
    inspect             Preview a skill without installing
    list                List installed skills
    check               Check installed hub skills for updates
    update              Update installed hub skills
    audit               Re-scan installed hub skills
    uninstall           Remove a hub-installed skill
    reset               Reset a bundled skill — clears 'user-modified'
                        tracking so updates work again
    list-modified       List bundled skills you've edited (which `hermes
                        update` keeps)
    diff                Show how your copy of a bundled skill differs from the
                        stock version
    opt-out             Stop bundled skills from being seeded into this
                        profile
    opt-in              Re-enable bundled-skill seeding (undo opt-out)
    repair-official     Backfill or restore official optional skills from repo
                        source
    publish             Publish a skill to a registry
    snapshot            Export/import skill configurations
    tap                 Manage skill sources
    config              Interactive skill configuration — enable/disable
                        individual skills

options:
  -h, --help            show this help message and exit
===== hermes sessions --help =====
usage: hermes sessions [-h]
                       {list,export,delete,prune,archive,optimize,clean-markers,optimize-storage,repair,repair-routing,recover,stats,rename,pin,unpin,pinned,retitle-skills,browse,import} ...

View and manage the SQLite session store

positional arguments:
  {list,export,delete,prune,archive,optimize,clean-markers,optimize-storage,repair,repair-routing,recover,stats,rename,pin,unpin,pinned,retitle-skills,browse,import}
    list                List recent sessions
    export              Export sessions to JSONL, Markdown, or QMD
    delete              Delete a specific session
    prune               Delete old sessions (filterable by time window,
                        source, title, ...)
    archive             Bulk-archive (soft-hide) sessions matching filters —
                        no deletion
    optimize            Reclaim disk space: merge FTS5 segments + VACUUM (no
                        data change)
    clean-markers       Permanently clear stale tool-call marker content left
                        by sessions from before #78148
    optimize-storage    Migrate the search index to the compact v23 layout
                        (reclaims disk on large DBs)
    repair              Repair a malformed state.db schema so hidden sessions
                        reappear
    repair-routing      Re-stamp gateway sessions that lost their routing
                        identity
    recover             Rebuild canonical session data into a separate clean
                        database
    stats               Show session store statistics
    rename              Set or change a session's title
    pin                 Pin session(s) — durable keep flag, exempt from auto-
                        archive
    unpin               Remove the pin (durable keep flag) from session(s)
    pinned              List pinned sessions
    retitle-skills      Re-title sessions whose auto-title came from a
                        /skill's own text
    browse              Interactive session picker — browse, search, and
                        resume sessions
    import              Import a Claude Code or Codex CLI session into Hermes

options:
  -h, --help            show this help message and exit
===== hermes mcp --help =====
usage: hermes mcp [-h] [--accept-hooks]
                  {serve,add,remove,rm,list,ls,test,configure,config,login,reauth,picker,catalog,install} ...

Manage MCP server connections and run Hermes as an MCP server. MCP servers
provide additional tools via the Model Context Protocol. Use 'hermes mcp add'
to connect to a new server, or 'hermes mcp serve' to expose Hermes
conversations over MCP.

positional arguments:
  {serve,add,remove,rm,list,ls,test,configure,config,login,reauth,picker,catalog,install}
    serve               Run Hermes as an MCP server (expose conversations to
                        other agents)
    add                 Add an MCP server (discovery-first install)
    remove (rm)         Remove an MCP server
    list (ls)           List configured MCP servers
    test                Test MCP server connection
    configure (config)  Toggle tool selection
    login               Force re-authentication for an OAuth-based MCP server
    reauth              Re-authenticate one OAuth MCP server, or all of them
                        (--all)
    picker              Interactive catalog picker (also the default for
                        `hermes mcp`)
    catalog             List Nous-approved MCPs available for one-click
                        install
    install             Install a catalog MCP by name (e.g. `hermes mcp
                        install n8n`)

options:
  -h, --help            show this help message and exit
  --accept-hooks        Auto-approve unseen shell hooks without a TTY prompt
                        (equivalent to HERMES_ACCEPT_HOOKS=1 /
                        hooks_auto_accept: true).
===== hermes profile --help =====
usage: hermes profile [-h]
                      {list,use,create,delete,describe,show,alias,rename,export,import,install,update,info} ...

positional arguments:
  {list,use,create,delete,describe,show,alias,rename,export,import,install,update,info}
    list                List all profiles
    use                 Set sticky default profile
    create              Create a new profile
    delete              Delete a profile
    describe            Read or set a profile's description (used by the
                        kanban orchestrator)
    show                Show profile details
    alias               Manage wrapper scripts
    rename              Rename a profile ('default': sets a display name; id
                        unchanged)
    export              Export a profile to archive
    import              Import a profile from archive
    install             Install a profile distribution from a git URL or local
                        directory
    update              Re-pull a distribution and apply updates (user data
                        preserved)
    info                Show a profile's distribution manifest (version,
                        requirements, source)

options:
  -h, --help            show this help message and exit
===== hermes memory --help =====
usage: hermes memory [-h] {setup,status,off,reset} ...

Set up and manage external memory provider plugins. Available providers:
honcho, openviking, mem0, hindsight, holographic, retaindb, byterover. Only
one external provider can be active at a time. Built-in memory
(MEMORY.md/USER.md) is always active.

positional arguments:
  {setup,status,off,reset}
    setup               Interactive provider selection and configuration
    status              Show current memory provider config
    off                 Disable external provider (built-in only)
    reset               Erase all built-in memory (MEMORY.md and USER.md)

options:
  -h, --help            show this help message and exit
===== hermes tools --help =====
usage: hermes tools [-h] [--summary] {list,disable,enable,post-setup} ...

Enable, disable, or list tools for CLI, Telegram, Discord, etc. Built-in
toolsets use plain names (e.g. web, memory). MCP tools use server:tool
notation (e.g. github:create_issue). Run 'hermes tools' with no subcommand for
the interactive configuration UI.

positional arguments:
  {list,disable,enable,post-setup}
    list                Show all tools and their enabled/disabled status
    disable             Disable toolsets or MCP tools
    enable              Enable toolsets or MCP tools
    post-setup          Run a provider's post-setup install hook
                        (npm/pip/binary)

options:
  -h, --help            show this help message and exit
  --summary             Print a summary of enabled tools per platform and exit
===== hermes project --help =====
usage: hermes project [-h]
                      {create,list,ls,show,add-folder,remove-folder,rename,set-primary,use,archive,restore,bind-board} ...

Projects are human-named workspaces that can span multiple folders / repos.
They anchor desktop session grouping and, when bound to a kanban board, give
tasks a deterministic worktree + branch convention. State is per-profile.

positional arguments:
  {create,list,ls,show,add-folder,remove-folder,rename,set-primary,use,archive,restore,bind-board}
    create              Create a new project
    list (ls)           List projects
    show                Show a project's details
    add-folder          Add a folder to a project
    remove-folder       Remove a folder from a project
    rename              Rename a project
    set-primary         Set the primary folder
    use                 Set the active project
    archive             Archive a project
    restore             Restore an archived project
    bind-board          Bind a kanban board to a project

options:
  -h, --help            show this help message and exit
===== hermes gateway --help =====
usage: hermes gateway [-h] [--accept-hooks]
                      {run,start,stop,restart,status,install,uninstall,list,setup,migrate-legacy,enroll} ...

Manage the messaging gateway (Telegram, Discord, WhatsApp, Weixin, and more)

positional arguments:
  {run,start,stop,restart,status,install,uninstall,list,setup,migrate-legacy,enroll}
    run                 Run gateway in foreground (recommended for WSL,
                        Docker, Termux)
    start               Start the installed systemd/launchd background service
    stop                Stop gateway service
    restart             Restart gateway service
    status              Show gateway status
    install             Install gateway as a systemd/launchd background
                        service
    uninstall           Uninstall gateway service
    list                List all profiles and their gateway status
    setup               Configure messaging platforms
    migrate-legacy      Remove legacy hermes.service units from pre-rename
                        installs
    enroll              Enroll this gateway with a relay connector (writes
                        relay auth creds to .env)

options:
  -h, --help            show this help message and exit
  --accept-hooks        Auto-approve unseen shell hooks without a TTY prompt
                        (equivalent to HERMES_ACCEPT_HOOKS=1 /
                        hooks_auto_accept: true).
===== hermes computer-use --help =====
usage: hermes computer-use [-h] {install,status,doctor,permissions} ...

Install or check the cua-driver binary used by the `computer_use` toolset.
Supported on macOS, Windows, and Linux. Use `hermes computer-use install` to
fetch and run the upstream cua-driver installer. This is equivalent to the
post-setup hook that `hermes tools` runs when you first enable the Computer
Use toolset, and is a stable target for re-running the install if it didn't
fire (e.g. when toggling the toolset on a returning-user setup). Use `hermes
computer-use doctor` to run cua-driver's `health_report` MCP tool and surface
its check matrix (TCC, bundle identity, version, platform support, ...) in
human-readable form.

positional arguments:
  {install,status,doctor,permissions}
    install             Install or repair the cua-driver binary
                        (macOS/Windows/Linux)
    status              Print whether cua-driver is installed and on PATH
    doctor              Run cua-driver `health_report` and surface the check
                        matrix
    permissions         Check or grant macOS Accessibility + Screen Recording
                        (macOS)

options:
  -h, --help            show this help message and exit
===== hermes doctor --help =====
usage: hermes doctor [-h] [--fix] [--live] [--ack ADVISORY_ID]

Diagnose issues with Hermes Agent setup

options:
  -h, --help         show this help message and exit
  --fix              Attempt to fix issues automatically
  --live             Opt-in: run one bounded, read-only real-call health probe
                     per configured tool backend
                     (Firecrawl/FAL/browser/MCP/TTS/STT) after the static
                     checks. Makes real network calls.
  --ack ADVISORY_ID  Acknowledge a security advisory by ID and exit. After
                     ack, the advisory will no longer trigger startup banners.
                     Run `hermes doctor` first to see active advisories and
                     their IDs.
===== hermes status --help =====
usage: hermes status [-h] [--all] [--deep]

Display status of Hermes Agent components

options:
  -h, --help  show this help message and exit
  --all       Show all details (redacted for sharing)
  --deep      Run deep checks (may take longer)
===== hermes import-agent --help =====
usage: hermes import-agent [-h] [--source SOURCE] [--dry-run] [--overwrite]
                           [--yes]
                           [{claude-code,codex}]

One-command import of another coding agent's setup into Hermes. Maps
CLAUDE.md/AGENTS.md instructions, permission allowlists, MCP servers, skills,
and memories into their Hermes equivalents. Always shows a preview before
making changes. API keys and credentials are never imported — run 'hermes
setup' for those.

positional arguments:
  {claude-code,codex}  Which agent to import from (default: auto-detect
                       ~/.claude or ~/.codex)

options:
  -h, --help           show this help message and exit
  --source SOURCE      Path to the agent's config directory (default:
                       ~/.claude or ~/.codex)
  --dry-run            Preview only — stop after showing what would be
                       imported
  --overwrite          Overwrite existing Hermes items on name conflicts
                       (default: skip)
  --yes, -y            Skip confirmation prompts
