supercode-harness 0.4.18

The optional native Supercode agent and tool harness
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
# fixture: hermes CLI help @ 0.21.0
# recapture: install hermes-agent==0.21.0, then run each `$ hermes ... --help` section command below and paste its verbatim stdout under that header.
# provenance: captured 2026-09-04 from the installed CLI on the build box (Hermes Agent v0.21.0 (2026.8.31) · upstream 63279301 · local 593aa74c (+1 carried commit)
Install directory: /Users/yueranyuan/.hermes/hermes-agent
Install method: git
Python: 3.11.6
OpenAI SDK: 2.24.0
Update available: 109 commits behind — run 'hermes update'); re-pinned from 0.19.0 because every ORCH receipt executed against 0.21.
# consumed by: crates/harness/src/parity.rs Evidence::CliVerb — a cited verb must appear as a subcommand line inside its section.

$ hermes --help
usage: hermes [-h] [--version] [-z PROMPT] [--usage-file PATH] [-m MODEL]
              [--provider PROVIDER] [--reasoning LEVEL] [-t TOOLSETS]
              [--resume SESSION] [--no-restore-cwd] [--in DIR]
              [--continue [SESSION_NAME]] [--worktree] [--accept-hooks]
              [--skills SKILLS] [--yolo] [--pass-session-id]
              [--ignore-user-config] [--ignore-rules] [--safe-mode] [--tui]
              [--cli] [--dev]
              {chat,model,moa,fallback,worktree,browser,secrets,egress,migrate,gateway,proxy,lsp,setup,whatsapp,whatsapp-cloud,slack,send,login,logout,auth,status,pause,resume,cron,sync,webhook,peer,portal,kanban,project,hooks,doctor,verify,security,approvals,dump,debug,backup,checkpoints,import,import-agent,config,skin,console,pairing,skills,bundles,plugins,curator,pets,journey,learning,memory-graph,memory,tools,computer-use,mcp,sessions,insights,monitoring,claw,update,uninstall,acp,profile,completion,dashboard,serve,desktop,gui,logs,prompt-size}
              ...

Hermes Agent - AI assistant with tool-calling capabilities

positional arguments:
  {chat,model,moa,fallback,worktree,browser,secrets,egress,migrate,gateway,proxy,lsp,setup,whatsapp,whatsapp-cloud,slack,send,login,logout,auth,status,pause,resume,cron,sync,webhook,peer,portal,kanban,project,hooks,doctor,verify,security,approvals,dump,debug,backup,checkpoints,import,import-agent,config,skin,console,pairing,skills,bundles,plugins,curator,pets,journey,learning,memory-graph,memory,tools,computer-use,mcp,sessions,insights,monitoring,claw,update,uninstall,acp,profile,completion,dashboard,serve,desktop,gui,logs,prompt-size}
                        Command to run
    chat                Interactive chat with the agent
    model               Select default model and provider
    moa                 Configure Mixture of Agents provider/model slots
    fallback            Manage fallback providers (tried when the primary
                        model fails)
    worktree            Audit and reclaim accumulated git worktrees and merged
                        branches
    browser             Real-profile browsing helpers (close a browser locking
                        its profile)
    secrets             Manage external secret sources (Bitwarden, 1Password)
    egress              Manage the iron-proxy egress credential-injection
                        firewall
    migrate             Migrate configuration for retired models or deprecated
                        settings
    gateway             Messaging gateway management
    proxy               Local OpenAI-compatible proxy to OAuth providers
    lsp                 Language Server Protocol management
    setup               Interactive setup wizard
    whatsapp            Set up WhatsApp integration
    whatsapp-cloud      Set up WhatsApp Business Cloud API integration
    slack               Slack integration helpers (manifest generation, etc.)
    send                Send a message to a configured platform (scripts, cron
                        jobs, CI).
    logout              Clear authentication for an inference provider
    auth                Manage pooled provider credentials
    status              Show status of all components
    pause               Emergency stop: pause cron/kanban dispatch and new
                        gateway turns
    resume              Lift the emergency stop set by `hermes pause`
    cron                Cron job management
    sync                Skill Sync — sync your skills across devices and with
                        your team
    webhook             Manage dynamic webhook subscriptions
    peer                Bot-to-bot DMs across machines (peer Hermes gateways)
    portal              Set up Nous Portal (login, model pick, Tool Gateway);
                        see also `portal info`
    kanban              Multi-profile collaboration board (tasks, links,
                        comments)
    project             Manage projects (named, multi-folder workspaces)
    hooks               Inspect and manage shell-script hooks
    doctor              Check configuration and dependencies
    verify              Detect a project's run recipe and smoke-test it
    security            Supply-chain audit (OSV.dev) for venv, plugins, and
                        MCP servers
    approvals           Approval-prompt tools (mine history into allowlist
                        proposals)
    dump                Dump setup summary for support/debugging
    debug               Debug tools — upload logs and system info for support
    backup              Back up Hermes home directory to a zip file
    checkpoints         Inspect / prune / clear ~/.hermes/checkpoints/
    import              Restore a Hermes backup from a zip file
    import-agent        Import a Claude Code or Codex CLI setup into Hermes
    config              View and edit configuration
    skin                List, switch, and tweak skins
    console             Open the safe Hermes command console
    pairing             Manage DM pairing codes for user authorization
    skills              Search, install, configure, and manage skills
    bundles             Create, list, and manage skill bundles (aliases for
                        multiple skills)
    plugins             Manage and validate plugins
    curator             Background skill maintenance (curator) — status, run,
                        pause, pin
    pets                Browse, install, and select petdex animated pets
    journey (learning, memory-graph)
                        Timeline of learned skills + memories over time
    memory              Configure external memory provider
    tools               Configure which tools are enabled per platform
    computer-use        Manage the Computer Use (cua-driver) backend
                        (macOS/Windows/Linux)
    mcp                 Manage MCP servers and run Hermes as an MCP server
    sessions            Manage session history (list, rename, export, prune,
                        delete)
    insights            Show usage insights and analytics
    monitoring          Inspect gateway monitoring (health & diagnostics
                        export)
    claw                OpenClaw migration tools
    update              Update Hermes Agent to the latest version
    uninstall           Uninstall Hermes Agent
    acp                 Run Hermes Agent as an ACP (Agent Client Protocol)
                        server
    profile             Manage profiles — multiple isolated Hermes instances
    completion          Print shell completion script (bash, zsh, or fish)
    dashboard           Start the web UI dashboard
    serve               Start the Hermes backend server (headless; powers the
                        desktop app and remote backends)
    desktop (gui)       Build and launch the native desktop app
    logs                View and filter Hermes log files
    prompt-size         Show a byte breakdown of the system prompt + tool
                        schemas

options:
  -h, --help            show this help message and exit
  --version, -V         Show version and exit
  -z PROMPT, --oneshot PROMPT
                        One-shot mode: send a single prompt and print ONLY the
                        final response text to stdout. No banner, no spinner,
                        no tool previews, no session_id line. Tools, memory,
                        rules, and AGENTS.md in the CWD are loaded as normal;
                        approvals are auto-bypassed. Intended for scripts /
                        pipes.
  --usage-file PATH     One-shot mode only: after the run, write a JSON usage
                        report (estimated cost, token counts, model,
                        api_calls) to PATH. The report is written even when
                        the run fails, so pipelines can always account for
                        spend. No effect outside -z/--oneshot.
  -m MODEL, --model MODEL
                        Model override for this invocation (e.g.
                        anthropic/claude-sonnet-4.6). Applies to -z/--oneshot
                        and --tui. Also settable via HERMES_INFERENCE_MODEL
                        env var.
  --provider PROVIDER   Provider override for this invocation (e.g.
                        openrouter, anthropic). Applies to -z/--oneshot and
                        --tui. The persistent provider lives in config.yaml
                        under model.provider — use `hermes setup` or edit the
                        file to change it.
  --reasoning LEVEL     Reasoning effort for this invocation: none, minimal,
                        low, medium, high, xhigh, max, or ultra. Overrides
                        agent.reasoning_effort in config.yaml for this run
                        only; the persistent level lives there (or per-model
                        under agent.reasoning_overrides).
  -t TOOLSETS, --toolsets TOOLSETS
                        Comma-separated toolsets to enable for this
                        invocation. Applies to -z/--oneshot and --tui.
  --resume SESSION, -r SESSION
                        Resume a previous session by ID or title, or pass
                        'latest' for the most recent session (workspace-
                        scoped, like -c with no name)
  --no-restore-cwd      Don't cd into a resumed session's recorded working
                        directory.
  --in DIR              Change into DIR before starting or resuming. Combined
                        with '--resume latest' or -c, the most recent session
                        for DIR's workspace is picked, and the session stays
                        in DIR (skips the recorded-cwd restore).
  --continue [SESSION_NAME], -c [SESSION_NAME]
                        Resume a session by name, or the most recent if no
                        name given
  --worktree, -w        Run in an isolated git worktree (for parallel agents)
  --accept-hooks        Auto-approve any unseen shell hooks declared in
                        config.yaml without a TTY prompt. Equivalent to
                        HERMES_ACCEPT_HOOKS=1 or hooks_auto_accept: true in
                        config.yaml. Use on CI / headless runs that can't
                        prompt.
  --skills SKILLS, -s SKILLS
                        Preload one or more skills for the session (repeat
                        flag or comma-separate)
  --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)
  --ignore-rules        Skip auto-injection of AGENTS.md, SOUL.md,
                        .cursorrules, memory, and preloaded skills
  --safe-mode           Troubleshooting mode: disable ALL customizations —
                        user config, AGENTS.md/memory injection, plugins, and
                        MCP servers (implies --ignore-user-config and
                        --ignore-rules)
  --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)

Examples:
    hermes                        Start interactive chat
    hermes chat -q "Hello"        Single query mode
    hermes --tui                  Launch the modern TUI (or set display.interface: tui)
    hermes --cli                  Force the classic REPL (overrides display.interface: tui)
    hermes -c                     Resume the most recent session
    hermes -c "my project"        Resume a session by name (latest in lineage)
    hermes --resume <session_id>  Resume a specific session by ID
    hermes --resume latest        Resume the most recent session (same as -c)
    hermes --tui --resume latest --in ./dir   Resume ./dir's latest session in the TUI
    hermes setup                  Run setup wizard
    hermes logout                 Clear stored authentication
    hermes auth add <provider>    Add a pooled credential
    hermes auth list              List pooled credentials
    hermes auth remove <p> <t>    Remove pooled credential by index, id, or label
    hermes auth reset <provider>  Clear exhaustion status for a provider
    hermes model                  Select default model
    hermes fallback [list]        Show fallback provider chain
    hermes fallback add           Add a fallback provider (same picker as `hermes model`)
    hermes fallback remove        Remove a fallback provider from the chain
    hermes config                 View configuration
    hermes config edit            Edit config in $EDITOR
    hermes config set model gpt-4 Set a config value
    hermes gateway                Run messaging gateway
    hermes -s hermes-agent-dev,github-auth
    hermes -w                     Start in isolated git worktree
    hermes gateway install        Install gateway background service
    hermes sessions list          List past sessions
    hermes sessions browse        Interactive session picker
    hermes sessions rename ID T   Rename/title a session
    hermes logs                   View agent.log (last 50 lines)
    hermes logs -f                Follow agent.log in real time
    hermes logs errors            View errors.log
    hermes logs --since 1h        Lines from the last hour
    hermes debug share             Upload debug report for support
    hermes console                Open the safe Hermes command console
    hermes update                 Update to latest version
    hermes dashboard              Start web UI dashboard (port 9119)
    hermes dashboard --stop       Stop running dashboard processes
    hermes dashboard --status     List running dashboard processes

For more help on a command:
    hermes <command> --help

$ 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 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 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 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 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 webhook --help
usage: hermes webhook [-h] {subscribe,add,list,ls,remove,rm,test} ...

Create, list, and remove webhook subscriptions for event-driven agent
activation

positional arguments:
  {subscribe,add,list,ls,remove,rm,test}
    subscribe (add)     Create a webhook subscription
    list (ls)           List all dynamic subscriptions
    remove (rm)         Remove a subscription
    test                Send a test POST to a webhook route

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 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 send --help
usage: hermes send [-h] [-t TARGET] [-f PATH] [-s LINE] [-l] [-q] [--json]
                   [message]

Pipe text from any shell script to any messaging platform Hermes is already configured for. Reuses the gateway's platform credentials (~/.hermes/.env + ~/.hermes/config.yaml) — no LLM, no agent loop, no running gateway required for bot-token platforms like Telegram/Discord/Slack/Signal.

positional arguments:
  message               Message text. If omitted, read from --file or stdin.

options:
  -h, --help            show this help message and exit
  -t TARGET, --to TARGET
                        Delivery target. Format: 'platform' (home channel),
                        'platform:chat_id', 'platform:chat_id:thread_id', or
                        'platform:#channel-name'. Examples: telegram,
                        telegram:-1001234567890:17585, discord:#ops,
                        slack:C0123ABCD, signal:+15551234567.
  -f PATH, --file PATH  Read message body from PATH (text only). Use '-' to
                        force stdin. To send an image/document as an
                        attachment, use MEDIA:<path> in the message text
                        instead.
  -s LINE, --subject LINE
                        Prepend a subject/header line before the message body.
  -l, --list            List available targets. Optional positional filter:
                        `hermes send --list telegram`.
  -q, --quiet           Suppress stdout on success (exit code only).
  --json                Emit raw JSON result instead of human-readable output.

Examples:
  hermes send --to telegram "deploy finished"
  echo "RAM 92%" | hermes send --to telegram:-1001234567890
  hermes send --to discord:#ops --file /tmp/report.md
  hermes send --to slack:#eng --subject "[CI]" --file build.log
  hermes send --to telegram "MEDIA:/tmp/chart.png"   # send a media attachment
  hermes send --list                  # all platforms
  hermes send --list telegram         # filter by platform

Exit codes: 0 ok, 1 delivery/backend error, 2 usage error.