Hermes Agent Cheat Sheet: CLI Commands, Shortcuts & Config

A quick reference for Hermes Agent CLI commands, slash commands, keyboard shortcuts, configuration settings, and everyday agent management tasks.

Hermes Agent is an open-source AI agent for coding, research, and recurring tasks. You can use it from the terminal or connected messaging apps, resume past conversations, switch models, and manage skills or scheduled jobs.

This cheat sheet collects the CLI commands, slash commands, keyboard shortcuts, and configuration settings for everyday Hermes Agent tasks.

Hermes Agent Cheat Sheet: CLI, Slash Commands & Config

CLI commands and flags

CommandAction
hermesStart an interactive chat session.
hermes --helpShow terminal command help.
hermes <command> --helpShow flags and subcommands for a command family.
hermes --versionPrint the installed version and exit. -V is an alias.
FlagAction
--profile <NAME>Use the named profile for one command without changing the sticky default. Alias: -p.
-z <PROMPT>Run a scripted prompt and print only the final response text. This entry point auto-bypasses interactive approvals. Also available as --oneshot <PROMPT>.
--usage-file <PATH>Write a JSON usage report for a one-shot run, including token counts and estimated cost.
--model <MODEL>Override the model for this invocation. Alias: -m.
--provider <NAME>Override the inference provider for this invocation.
--reasoning <LEVEL>Override reasoning for this run: none, minimal, low, medium, high, xhigh, max, or ultra.
--toolsets <LIST>Enable a comma-separated set of toolsets. Alias: -t.
--skills <NAME>Preload one or more skills. Repeat the flag or pass comma-separated names. Alias: -s.
--resume <SESSION>Resume a session by ID or title. latest picks the latest session for the current workspace. Alias: -r.
--continue [NAME]Resume the latest session, or the latest session matching a name. Alias: -c.
--in <DIR>Run from a directory. With latest-session resume, scope the lookup to that workspace.
--no-restore-cwdResume a session without changing to its recorded working directory.
--worktreeStart in an isolated Git worktree. Alias: -w.
--accept-hooksAutomatically approve unseen configured shell hooks. Intended for headless runs.
--yoloBypass dangerous-command approval prompts.
--pass-session-idInclude the session ID in the agent’s system prompt.
--ignore-user-configIgnore config.yaml and use built-in defaults. Credentials in .env still load.
--ignore-rulesSkip automatic AGENTS.md, SOUL.md, .cursorrules, memory, and preloaded-skill injection.
--safe-modeFor troubleshooting, skip user config, rules and memory injection, plugins, MCP servers, and shell-hook registration. .env credentials still load.
--tuiLaunch the modern terminal interface. Requires Node.js 20 or newer and an interactive TTY.
--cliForce the classic prompt-toolkit interface.
hermes -p work chat -q "Summarize the open pull requests"
hermes -z "List the changed files" --usage-file usage.json

Chat options

Use hermes chat for explicit chat options. A query sent from a terminal can open an interactive session. Add --oneshot when the command must answer and exit.

CommandAction
hermes chat -q "<PROMPT>"Submit a prompt (--query is an alias). On a TTY it seeds an interactive session, while --oneshot, -Q, or non-TTY input answers and exits.
hermes chat --query-file <PATH>Read a single query from a file or stdin (pass -). Input is not shell-interpreted and this option cannot be combined with -q.
hermes chat --oneshot -q "<PROMPT>"Answer once and exit instead of keeping the TTY session open.
hermes chat --image <PATH>Attach a local image to a single query.
hermes chat --verboseShow verbose output. -v is an alias.
hermes chat --quietSuppress the banner, spinner, and tool previews for programmatic use. -Q is an alias.
hermes chat --format <FORMAT>Choose single-query output (text or stream-json). JSONL implies quiet mode and cannot be combined with --tui.
hermes chat -c <NAME> --create-if-missingStart a new session with that title when no named session exists.
hermes chat --checkpointsEnable filesystem checkpoints before destructive file operations. Restore with /rollback.
hermes chat --max-turns <N>Set the maximum tool-calling iterations per conversation turn.
hermes chat --run-budget <SECONDS>Set a wall-clock budget for each conversation run.
hermes chat --source <TAG>Tag the session for later filtering. The default source is cli.
hermes chat --oneshot -q "Summarize README.md"
hermes chat --query-file prompt.txt --format stream-json

Profiles, models, and sessions

Profiles

CommandAction
hermes profile listList profiles and identify the active one.
hermes profile create <NAME>Create a profile with its own Hermes home.
hermes profile create <NAME> --cloneCopy the active profile’s configuration, .env, personality, skills, and curated memory files.
hermes profile create <NAME> --clone-from <SOURCE> --clone-allCreate a full copy from a named profile. Session history and cron jobs are not copied.
hermes profile create <NAME> --no-skillsCreate an empty profile without bundled skills.
hermes profile use <NAME>Set the sticky default profile. Use default to return to the base profile.
hermes -p <NAME> <COMMAND>Run one command against a profile without changing the sticky default. --profile is an alias.
hermes profile show <NAME>Show profile details.
hermes profile alias <NAME> [--name NAME]Create or rename a shell wrapper for a profile.
hermes profile alias <NAME> --removeRemove the profile’s shell wrapper.
hermes profile export <NAME> [-o FILE]Export a profile to a .tar.gz archive.
hermes profile import <ARCHIVE> [--name NAME]Import a profile archive.
hermes profile delete <NAME> [-y]Delete a profile. -y skips the confirmation prompt.

Models and fallback routes

CommandAction
hermes modelOpen the provider setup wizard to add credentials, configure model endpoints, and choose the default model. Run from the shell.
hermes model --refreshClear the model-picker cache and refetch providers’ live model lists.
hermes config get model.providerRead the configured default provider.
hermes config set model.provider <PROVIDER>Set the persistent default provider.
hermes config set model.default <MODEL>Set the persistent default model ID.
hermes fallbackShow the ordered fallback-provider chain. This is the default action, and hermes fallback list is explicit.
hermes fallback addChoose a provider and model to append to the fallback chain.
hermes fallback removeSelect and remove one fallback entry.
hermes fallback clearRemove every fallback entry.

Session history

CommandAction
hermes -cResume the most recent session for the current workspace.
hermes -c "<TITLE>"Resume the latest session matching a title.
hermes --resume <SESSION_ID>Resume a specific session by ID.
hermes --resume latest --in <DIR>Resume the latest session associated with a directory’s workspace.
hermes sessions list [--source SOURCE] [--limit N] [--workspace NEEDLE]List recent sessions. The default limit is 20.
hermes sessions browse [--source SOURCE] [--limit N]Open an interactive session picker with search and resume.
hermes sessions rename <SESSION_ID> <TITLE>Set or change a session title.
hermes sessions pin <SESSION_ID...>Pin one or more sessions so they stay visible and are exempt from auto-archive.
hermes sessions unpin <SESSION_ID...>Remove the keep pin from one or more sessions.
hermes sessions pinned [--json]List pinned sessions.
hermes sessions export [OUTPUT] --format <FORMAT>Export in jsonl (default), md, qmd, html, or trace. --session-id ID selects one session and filters can select a set.
hermes sessions delete <SESSION_ID> [-y]Delete a session. -y skips confirmation.
hermes sessions prune --older-than 90d --dry-runPreview ended sessions older than 90 days. The command also accepts filters for time, source, title, model, provider, workspace, and usage.
hermes sessions archive --older-than 90d --dry-runSoft-hide sessions older than 90 days without deleting them. At least one filter is required.
hermes sessions statsShow session-store statistics.
hermes sessions optimizeReclaim database space without changing session data.
hermes sessions repair --check-onlyCheck whether the session database schema opens cleanly without modifying it.
hermes sessions recover --source <DB> --output <NEW_DB>Recover canonical session data into a separate database. The active store is not replaced automatically.
hermes sessions list --limit 50 --workspace ./project
hermes sessions export history.md --format md

Setup, status, and diagnostics

Setup, authentication, and updates

CommandAction
hermes setupRun the interactive setup wizard.
hermes setup --portalSet up Nous Portal login, choose a Nous model, and configure the Tool Gateway.
hermes setup <SECTION>Run one setup section: model, tts, terminal, gateway, tools, telemetry, or agent.
hermes auth list [PROVIDER]List pooled credentials, optionally filtered by provider.
hermes auth add <PROVIDER>Add a credential. Without --api-key, Hermes prompts for the key securely or starts the provider’s OAuth flow.
hermes auth status <PROVIDER>Show authentication status for one provider.
hermes auth refresh <PROVIDER> [TARGET]Refresh a pooled OAuth credential and clear its cooldown.
hermes update --checkCheck for an available update without installing it.
hermes update --planPrint the read-only update and service-restart plan.
hermes auth remove <provider> <index>Remove one stored credential from a provider pool.
hermes auth logout <provider>Clear the provider’s stored authentication state.
hermes updateInstall an update on the selected channel. Dependency changes or an installed service may require a restart.

Status, logs, and support

CommandAction
hermes statusShow the one-screen status summary.
hermes status --fullShow every status section with keys redacted. --all is an alias.
hermes status --deepRun deeper checks. This also enables the full report and may take longer.
hermes doctorCheck configuration and dependencies.
hermes doctor --fixAsk Hermes to attempt automatic fixes for issues it finds.
hermes doctor --liveRun bounded, read-only network health probes against configured tool backends.
hermes security auditCheck the Hermes Python environment, plugin dependencies, and pinned MCP packages against OSV vulnerability reports.
hermes security audit --jsonOutput vulnerability findings as JSON for scripts.
hermes logs <LOG>View the last 50 lines. Supported names are agent (default), errors, gateway, gui, desktop, update, handoff, and list.
hermes logs -fFollow agent.log in real time.
hermes logs <LOG> -n <N>Show a chosen number of lines from a log.
hermes logs --since 1h --level WARNINGFilter recent log entries by age and severity.
hermes logs --session <ID> --component toolsFilter logs by session ID and component.
hermes dumpPrint a compact setup summary for support. Sensitive values are redacted.
hermes prompt-sizeShow an offline byte breakdown of prompt and tool-schema content.
hermes debug share --localBuild and print a debug report locally without uploading it.
hermes debug shareUpload a debug report. The command asks for confirmation and redacts secrets by default.
hermes debug delete <URL...>Delete one or more supported debug pastes.

Skills, MCP servers, and plugins

Skills

CommandAction
hermes skills listList skills installed for the current profile.
hermes skills browse --source officialBrowse official optional skills.
hermes skills search react --source skills-shSearch the skills.sh directory.
hermes skills inspect official/security/1passwordPreview an official optional skill before installing it.
hermes skills install official/security/1passwordInstall an official skill with the normal security scan.
hermes skills tap add myorg/skills-repoAdd a GitHub repository as a custom skill source.
hermes skills trust <repo-path>Trust the current or named repository so its project-local skills can load.
hermes skills opt-outStop future seeding of bundled skills for this profile.
hermes skills opt-in --syncRe-enable bundled skills and sync them now.
hermes skills uninstall <id>Remove a hub-installed skill.
hermes skills checkCheck installed hub skills for updates.
hermes skills updateApply available hub-skill updates.

MCP servers

CommandAction
hermes mcpOpen the interactive MCP catalog and connection picker.
hermes mcp catalogList approved catalog entries in plain text.
hermes mcp install deepwikiInstall a catalog MCP server by name.
hermes mcp add codex --preset codexRegister the Codex CLI MCP server over stdio. The codex executable must be on PATH.
hermes mcp configure <name>Review or change which tools a configured server exposes.
hermes mcp login <name>Authorize or re-authorize an OAuth-protected server.
hermes mcp test <name>Test a configured MCP connection and report the server response.
hermes mcp listList configured MCP servers.
hermes mcp remove <name>Remove a server configuration.
hermes mcp serveExpose Hermes conversations to other agents as an MCP server.

Plugins

CommandAction
hermes plugins search <term>Search the Hermes plugin catalog.
hermes plugins browseBrowse all curated catalog entries.
hermes plugins info <name>Show details for one catalog plugin.
hermes plugins install <catalog-name>Install a catalog plugin at its reviewed pinned revision.
hermes plugins install owner/repo --enableInstall from Git and request immediate activation.
hermes plugins listShow installed plugins and whether each is enabled, disabled, or not enabled.
hermes plugins enable <name>Activate an installed plugin.
hermes plugins disable <name>Stop loading an installed plugin without removing it.
hermes plugins update <name>Update a tracked plugin after the install-time security scan.
hermes plugins remove <name>Uninstall a plugin and remove its enablement entry.

Messaging and scheduled work

Gateway, sending, and pairing

CommandAction
hermes gateway setupRun the interactive setup for messaging platforms.
hermes gateway runRun the gateway in the foreground. Use foreground mode for Docker and WSL.
hermes gateway installInstall the background service: systemd user service on Linux, launchd on macOS, or the Hermes scheduled task on Windows.
sudo hermes gateway install --systemInstall a Linux system service that can start at boot.
hermes gateway startStart the installed gateway service.
hermes gateway stopDrain and stop the installed gateway service.
hermes gateway restartGracefully restart the installed gateway service.
hermes gateway statusCheck whether the gateway service is running.
hermes gateway listList Hermes profiles and the running state of each gateway.
hermes gateway uninstallRemove the installed gateway service.
hermes gateway status --systemInspect the Linux system-level gateway service explicitly.
hermes send --to <target> "<message>"Send a one-shot message using configured credentials. Bot-token platforms can send directly without a running gateway. Persistent-adapter plugins may need one.
hermes send --to <target> --file <path>Send the text content of a file to a messaging target.
hermes send --list [platform]List configured messaging targets, optionally for one platform.
hermes pairing listShow pending and approved messaging users.
hermes pairing approve <platform> <code>Approve a pairing request.
hermes pairing revoke <platform> <user-id>Revoke a messaging user’s access.

Cron jobs

CommandAction
hermes cron create 'every 2h' 'Check server status'Create a recurring agent job using a natural-language interval.
hermes cron create '0 9 * * 1' 'Write the weekly report'Create a Monday 9:00 job with a standard cron expression.
hermes cron create 'every 1h' 'Summarize new feed items' --skill blogwatcher --skill mapsAttach one or more installed skills to a scheduled run.
hermes cron create 'every 6h' 'Scan for news' --continuityInclude the job’s previous substantive output in later runs.
hermes cron create 'every 5m' --no-agent --script memory-watchdog.sh --deliver telegramRun a script from $HERMES_HOME/scripts/ on the gateway host and deliver stdout directly, without model inference.
hermes cron create <schedule> <prompt> --workdir /absolute/project/pathGive a job project context files and use that path for its terminal and file tools.
hermes cron create <schedule> <prompt> --deliver platform:chat_idSend output to a specific configured messaging destination.
hermes cron listList scheduled jobs.
hermes cron edit <job-id> --schedule 'every 4h'Change a job’s schedule.
hermes cron run <job-id>Queue the job for the next scheduler tick.
hermes cron remove <job-id>Delete a scheduled job.
hermes cron tickRun due jobs once and exit. Useful for manual scheduler checks.
hermes cron pause <job-id>Pause a scheduled job.
hermes cron resume <job-id>Resume a paused job.
hermes cron statusCheck the scheduler state.
hermes cron doctorCheck jobs, deliveries, and scheduling health.

Kanban tasks

CommandAction
hermes kanban initCreate the default Kanban database.
hermes kanban boards create <slug>Create a named board before selecting it or pinning a process to it.
hermes kanban boards switch <slug>Make a previously created board the current board for this process.
hermes kanban create 'Research AI funding' --assignee researcherCreate a task and assign it to a profile.
hermes kanban create 'Update API docs' --assignee writer --workspace worktreeRun a coding task in a persistent Git worktree.
hermes kanban create 'Review inbox' --workspace dir:/absolute/pathGive a worker access to an existing shared directory. The path must be absolute.
hermes kanban dispatch --dry-runPreview which ready tasks the dispatcher would claim.
hermes kanban request-review <id> --summary 'Ready for review'Hand a completed implementation to a reviewer.
hermes kanban listList tasks on the active board.
hermes kanban show <id>Show a task and its activity.
hermes kanban block <id> "<reason>"Mark a task blocked with a reason.
hermes kanban unblock <id>Return a blocked task to its source phase.
hermes cron create '0 9 * * 1' 'Write the weekly report' --workdir /absolute/project/path
hermes kanban create 'Review API docs' --assignee writer --workspace worktree

Delegation and peer agents

Hermes can delegate work through its agent tools during a conversation. Use /agents to monitor active workers or /review to request an independent review. Configure delegation limits in config.yaml. The peer commands address another registered gateway from a terminal.

Peer gateway commands

CommandAction
hermes peer add <peer> --url http://<host>:<port> --key <API_SERVER_KEY>Register a remote gateway. The key is stored in .env and peer name/URL in config.yaml.
hermes peer listList registered peer gateways.
hermes peer dm <peer>/<agent> "<message>"Send a short request to a named profile on the peer and print its reply.
hermes peer run <peer> --idempotency-key <key> "<message>"Start a long remote turn asynchronously and return its run ID.
hermes peer status <peer> <run_id>Read the status and output of an asynchronous peer run.
hermes peer stop <peer> <run_id>Stop that asynchronous run.
hermes peer remove <peer>Remove a registered peer.

Other terminal command families

These commands handle project workspaces, hooks, integrations, data recovery, and optional interfaces. Run hermes <command> --help for full options on a less common command.

Backups, checkpoints, and migration

CommandAction
hermes backup --output <path>Create a user-data ZIP, including credentials, configuration, skills, and sessions. Keep the archive private.
hermes backup --quick --label <name>Take a smaller snapshot of critical state files.
hermes import <zipfile>Restore a backup over existing Hermes home files. Stop the gateway first. This overwrites newer data with archive contents.
hermes checkpointsInspect the filesystem-checkpoint shadow store used by /rollback.
hermes checkpoints prune --retention-days <days>Remove stale and orphaned checkpoint projects and enforce the store size cap.
hermes checkpoints clearDelete all filesystem checkpoints after confirmation. This cannot be undone.
hermes import-agent --helpInspect options for importing a Claude Code or Codex CLI setup.
hermes claw migrate --dry-runPreview an OpenClaw migration before importing settings or data.

Hooks and global automation controls

CommandAction
hermes pause --reason <text>Hold new cron jobs, Kanban dispatch, and gateway turns. Work already in progress continues.
hermes resumeRemove the global pause so new work can start on the next tick.
hermes hooks listList configured shell hooks and their consent status. Alias: ls.
hermes hooks test <event>Execute matching hooks with a synthetic payload. The configured shell commands really run.
hermes hooks revoke <command>Remove the exact hook command from the allowlist. Takes effect after restart.
hermes hooks doctorCheck hook permissions, consent, drift, JSON output, and execution timing.
hermes webhook listList dynamic webhook subscriptions. The webhook platform must be enabled.
hermes webhook subscribe <name> --prompt <template>Create a subscription and return its route and HMAC secret. Payload references use {dot.notation}.
hermes webhook remove <name>Delete a dynamic subscription, leaving static config routes intact.

Skill bundles and maintenance

CommandAction
hermes bundles listList installed skill bundles.
hermes bundles show <name>Show a bundle’s description, constituent skills, and file path.
hermes bundles create <name> --skill <id>Create a bundle. Repeat –skill to include more installed skills.
hermes bundles delete <name>Remove a bundle definition.
hermes curator statusShow maintenance status for agent-created skills.
hermes curator run --dry-runPreview skill-maintenance proposals without applying them. An auxiliary-model call may incur usage.
hermes curator runReview agent-created skills and apply maintenance actions. Bundled and hub-installed skills are excluded.
hermes curator rollback --listList skill snapshots available for restoration.
hermes curator restore <skill>Restore an archived skill.
hermes curator pin <skill>Protect a skill from automatic maintenance transitions.

Additional CLI command families

CommandAction
hermes toolsOpen per-platform tool configuration.
hermes tools --summaryPrint enabled-tool information without opening the configuration UI.
hermes project listList named project workspaces for the active profile.
hermes project create <NAME>Create a named project workspace that can contain multiple folders.
hermes worktree listInspect Hermes-created Git worktrees, age, and cleanup eligibility.
hermes worktree prune --dry-runPreview cleanup of safe, merged scratch worktrees.
hermes-agent --query "<PROMPT>"Run a single prompt through the legacy hermes-agent entry point. Prefer hermes -z for scripts.
hermes usage --jsonRead configured-account rate-limit information in JSON without opening a session.
hermes moa listList configured Mixture of Agents presets.
hermes moa configure [name]Configure reference models and an aggregator for a preset.
hermes journeyInspect learned skills and memory history. Aliases: learning, memory-graph.
hermes memory setupSelect and configure an external memory provider.
hermes connectorsManage hosted connector accounts.
hermes worktree listInspect Hermes scratch worktrees and cleanup eligibility.
hermes worktree prune --dry-runPreview cleanup of safe scratch worktrees and merged branches.
hermes project listList named multi-folder workspaces for the current profile.
hermes project --helpInspect project creation, folder membership, active-project, archive, and board-binding commands.
hermes security auditRun an on-demand dependency vulnerability audit through OSV.dev.
hermes approvals --helpInspect tools for turning approval history into allowlist proposals.
hermes proxy --helpInspect the local OpenAI-compatible proxy for OAuth provider credentials.
hermes egress statusInspect the optional outbound credential-injection proxy for remote sandboxes.
hermes lsp --helpInspect Language Server Protocol integration and diagnostic configuration.
hermes dashboardLaunch the web management dashboard.
hermes serve --helpInspect headless backend-server options for desktop or remote clients.
hermes desktopBuild and launch the native desktop application. Alias: gui.
hermes acp --helpInspect Agent Client Protocol server options for editor integrations.
hermes completion bashPrint Bash completion code. Other supported shells include zsh and fish.
hermes computer-use statusCheck whether the Computer Use backend is installed.
hermes pets listBrowse the animated-pet gallery.
hermes skin --helpInspect display-skin commands.
hermes consoleOpen the Hermes command console.
hermes insightsShow token, cost, and activity analytics.
hermes portal statusShow Nous Portal authentication and Tool Gateway routing.
hermes secrets bitwarden setupConfigure Bitwarden Secrets Manager as an external credential source. Requires its access token.
hermes migrate xaiPreview replacements for retired xAI model references in the active configuration. Add –apply to write the changes.
hermes codex-runtime migrate --dry-runPreview the Hermes-managed configuration projected into the Codex app-server runtime.
hermes slack manifestPrint a Slack app manifest with native gateway slash commands.
hermes whatsappOpen WhatsApp bridge setup and QR-code pairing.
hermes whatsapp-cloud --helpInspect the Meta WhatsApp Business Cloud API setup. Requires a Business account and public webhook.
hermes uninstall --helpInspect removal options before uninstalling Hermes.

Slash commands

Session and context

CommandAction
/new [name]Start a new session (fresh session ID + history). Alias: /reset.
/clearCLI only. Clear the screen and start a new session.
/redrawCLI only. Repaint the terminal UI.
/historyCLI only. Show conversation history.
/save <json|md|html> [filename] [redact]Export the conversation as JSON, Markdown, or HTML.
/retryRetry the last message (resend to agent).
/prompt [initial text]CLI only. Compose your next prompt in $EDITOR (markdown), then send it. Alias: /compose.
/undo [N]Back up user turns and re-prompt.
/title [name]Set a title for the current session.
/handoff <platform>CLI only. Hand this session to a messaging platform.
/branch [--here] [name]Branch the current session (or use –here to stay on the branch). Alias: /fork.
/worktreeShow worktrees. Use new, list, or prune --dry-run for the named action. CLI only.
/compressCompress context. here <N> keeps recent turns, focus <topic> narrows the summary, and --preview or --dry-run shows the result first. Alias: /compact.
/rollback [number] [--all]List or restore filesystem checkpoints. –all includes hand-edited files.
/snapshot [create|restore <id>|prune]CLI only. Create or restore Hermes state snapshots. Alias: /snap.
/stopClassic CLI: stop background processes and asynchronous delegations. Messaging: interrupt the active run or outstanding session delegations while keeping the session.
/bg <prompt>Run a prompt in a separate background session.
/btw <question>Ask a side question without interrupting the current turn.
/agentsShow active agents and running tasks. Alias: /tasks.
/journey [list|delete <id>|edit <id>]CLI only. Open the learning timeline. Unavailable in messaging. Aliases: /learning, /memory-graph.
/queue <prompt>Queue a prompt. Use list, edit, rm, move, or clear to manage the queue. Alias: /q.
/steer <prompt>Add direction after the next tool call. Alias: /s.
/goal <text>Set a standing goal. Use show, status, gate add, pause, resume, clear, wait, or unwait to manage it.
/heartbeat every <interval> <prompt>Set a recurring idle prompt. Use status, pause, resume, or clear to manage it. Alias: /hb.
/refine [focus instructions]Review the conversation and save useful lessons.
/review [review instructions]Spawn an independent subagent to review the work just discussed (PR, code, docs).
/loop [interval] <prompt> [--times N] [--until <condition>]Repeat a prompt at an interval. Omit the interval to run continuously. Manage it with /loop status, /loop pause, /loop resume, or /loop stop. Alias: /proactive.
/plan [task]Write a markdown implementation plan to .hermes/plans/ without executing anything.
/moa <prompt>Run a prompt through the default Mixture of Agents preset.
/subgoal <text>Add an active-goal criterion. Use remove <N> or clear to change it.
/statusShow session, model, token, and context info.
/egress [status]Show Docker egress proxy status.
/context [all]Show context-window usage, category breakdown, compression, and throughput. Alias: /ctx.
/resume [name]Resume a named session.
/sessionsBrowse sessions. In the TUI, open live sessions.
/quit [--delete]CLI only. Exit the CLI. –delete also removes session history. Alias: /exit.

Settings and display

CommandAction
/export [profile] [-o output.tar.gz]CLI only. Export profile settings and skills to an archive.
/import <archive.tar.gz> [--name <name>]CLI only. Import an archive as a new profile.
/configCLI only. Show current configuration.
/model [model] [--provider name] [--reasoning level] [--global|--session] [--refresh]Switch among configured models in the current session. Use --global to save the default; add providers with hermes model from the shell.
/codex-runtime [auto|codex_app_server]Toggle the Codex app-server runtime. Alias: /codex_runtime.
/personality [name]Set a predefined personality.
/statusbarCLI only. Toggle the status bar. Alias: /sb.
/battery [on|off|status]CLI only. Toggle the battery indicator.
/timestamps [on|off|status]CLI only. Toggle message timestamps. Alias: /ts.
/verboseCLI only. Cycle tool progress display: off -> new -> all -> verbose. Messaging requires display.tool_progress_command: true.
/focus [on|off|status]CLI only. Show only your prompt and final response.
/footer [on|off|status]Toggle the runtime metadata footer.
/yoloToggle YOLO mode (skip all dangerous command approvals).
/approvals [manual|smart|off]Show or set the persistent dangerous-command approval mode.
/reasoning [level|show|hide|full|clamp] [--global]Manage reasoning effort and display.
/fast [normal|fast|auto|cold|ultrafast|status] [--global]Set fast-processing mode (OpenAI or Anthropic).
/skin [name]CLI only. Show or change the display theme.
/indicator [ascii|emoji|kaomoji|unicode]CLI only. Choose the terminal busy-indicator style.
/voice [on|off|tts|status]Control voice mode. Join, channel, and leave are Discord-only.
/wake [on|off|status]CLI only. Toggle the Hey Hermes wake-word listener.
/busy [queue|steer|interrupt|status]Choose how messages behave while Hermes is working.

Tools, skills, and automation

CommandAction
/tools [list|disable|enable] [name...]CLI only. Manage available tools.
/toolsetsCLI only. List available toolsets.
/skillsCLI only. Search, install, inspect, or manage skills. Messaging write-review subcommands require skills.write_approval.
/memory [pending|approve|reject|approval] [id|on|off]Review pending memory writes or set the approval gate.
/bundlesList skill bundles (aliases /<name> for multiple skills).
/pet [toggle|list|scale <n>|<slug>]CLI only. Toggle or select a mascot.
/hatch [description]CLI only. Generate a pet from a description. Alias: /generate-pet.
/learn <what to learn from>Create a reusable skill from supplied material.
/init [notes]Generate or update repository instructions.
/cron [subcommand]CLI only. Manage scheduled tasks.
/suggestionsReview suggested automations. Use accept, dismiss <N>, or catalog.
/blueprint [name] [slot=value ...]Set up an automation from a blueprint. Alias: /bp.
/curator [subcommand]Control background skill maintenance.
/kanban [subcommand]Manage tasks and collaboration boards across profiles.
/reloadCLI only. Reload .env variables into the running session.
/reload-mcpReload MCP servers from config. Alias: /reload_mcp.
/reload-skillsRefresh the installed-skill list. Alias: /reload_skills.
/browser [connect|disconnect|status|use]CLI only. Connect browser tools via CDP or switch to Browser Use mode.
/pluginsCLI only. Show installed plugins and their status.

Information and diagnostics

CommandAction
/whoamiShow slash-command access level.
/profileShow the active profile and Hermes home.
/diff [staged|all|session] [--stat] [path...]Show git changes in the working directory.
/help [skills|<filter>]Show available commands (/help skills lists skill commands, /help <text> filters).
/paletteClassic CLI only. Open the fuzzy command palette. Ctrl+P is an alternative.
/usage [reset [--force]]Show token usage, cost, and provider limits.
/subscriptionCLI only. View or change your Nous plan. Alias: /upgrade.
/loginSign in with a Nous account.
/topupShow balance and billing options.
/insights [days]Show usage insights.
/platformsCLI only. Show messaging gateway platform status. Alias: /gateway.
/copy [number]CLI only. Copy an assistant reply to the clipboard.
/pasteCLI only. Attach an image from the clipboard.
/image <path>CLI only. Attach a local image to the next prompt.
/updateUpdate Hermes Agent.
/versionShow Hermes version. Alias: /v.
/debug [nous|local]Upload debug report (system info + logs) and get shareable links.

Messaging-only commands

These commands run in configured messaging chats.

CommandAction
/startAcknowledge platform start pings without a reply.
/topic [off|help|session-id]Enable or inspect Telegram DM topic sessions.
/pause <reason>Pause new messaging work globally. /pause off resumes it.
/approve [session|always]Approve a pending dangerous command.
/deny [all] [reason]Deny a pending dangerous command (optionally with a reason).
/sethomeSet this chat as the home channel. Alias: /set-home.
/commands [page]Browse all commands and skills (paginated).
/restartGracefully restart the gateway after draining active runs.
/platform listList messaging platforms. Use pause <name> or resume <name> to change one.

Dynamic commands

Installed skills, bundles, and user-defined Quick Commands can add slash names.

CommandAction
/<skill-name> [arguments]Load an installed skill on demand. Built-in commands win name conflicts; invoke a colliding skill with /skill <name>.
/<bundle-name> [arguments]Run a configured skill bundle that loads multiple skills.
/<quick-name> [arguments]Run a user-defined exec shell command or dispatch an alias to another slash command. String-only prompt shortcuts are unsupported.

Modern TUI views

The TypeScript TUI adds panels and controls to the shared slash-command set. These entries apply when Hermes starts with --tui or display.interface is set to tui.

CommandAction
/helpOpen the categorized command overlay.
/sessionsOpen the live-session switcher for sessions active in this TUI process. Alias: /switch.
/model [model]Open the provider-grouped model picker.
/skin [name]Preview and apply a theme while browsing.
/usageOpen a token, cost, and context panel.
/agentsOpen the live agent and process monitor. Alias: /tasks.
/reloadReload ~/.hermes/.env into the running TUI process.
/connectorsTUI only. List connector accounts and rename, add, reconnect, or remove them.
/details [hidden|collapsed|expanded|cycle]Set or cycle global tool-call detail visibility.
/details <section> [hidden|collapsed|expanded|reset]Set or reset visibility for one detail section. Alias: /detail.
/mouse [on|off|toggle|wheel|buttons|all]Choose a mouse-tracking preset. The setting is saved to config. Alias: /scroll.
/terminal-setup [auto|cursor|vscode|windsurf]Install local IDE terminal bindings for multiline input and undo/redo.
/density [on|off|toggle]TUI only. Toggle compact display density.
/theme [auto|light|dark]TUI only. Choose automatic, light, or dark mode.

Classic CLI keyboard shortcuts

ShortcutAction
EnterSend the message.
Alt+EnterInsert a newline. On Windows Terminal, use Ctrl+Enter or Ctrl+J because Alt+Enter toggles fullscreen.
Ctrl+JInsert a newline. Shift+Enter also works when supported by the terminal.
Alt+VPaste a clipboard image when the terminal supports it.
Ctrl+VPaste text. The CLI may also attach a clipboard image.
Ctrl+GOpen the draft in $EDITOR. Save and quit to send it. Ctrl+X Ctrl+E is an alternative.
Ctrl+CClear a typed draft. With an empty composer, interrupt Hermes. Press twice within two seconds to force exit.
Ctrl+DExit the classic CLI.
Ctrl+BStart or stop voice recording when voice mode is enabled.
Ctrl+SStash a draft. Press again on an empty composer to restore it.
Ctrl+TOpen the live work monitor. F6 is an alternative. In its roster, s steers a worker.
Ctrl+RToggle the live-work dock. F7 is an alternative.
Ctrl+ZSuspend Hermes on Unix. Run fg in the shell to resume.
TabAccept a suggestion or complete a slash command.
Ctrl+POpen the fuzzy command palette. Up/Down move through matches and Enter inserts the selected command. Also opens with /palette.
UpMove up one line or browse earlier prompt history at the first line.
DownMove down one line or browse later prompt history at the last line.
Ctrl+AMove to the start of the line.
Ctrl+EMove to the end of the line.
Ctrl+UDelete from the cursor back to the start of the line.
Ctrl+KDelete from the cursor to the end of the line.
Ctrl+WDelete the word before the cursor.
Alt+BMove back one word.
Alt+FMove forward one word.
Alt+BackspaceDelete the word before the cursor.
Alt+DDelete the word after the cursor.
Ctrl+YRestore the most recently cut text.

TUI keyboard shortcuts

ShortcutAction
EnterSend the prompt.
Alt+EnterInsert a newline. Windows Terminal captures this key for fullscreen, so use Ctrl+Enter or Ctrl+J there. Shift+Enter works when the terminal distinguishes it from Enter.
Alt+VPaste a clipboard image when the terminal supports it.
Cmd+VPaste on macOS. The TUI may attach a clipboard image.
Ctrl+VPaste on Windows or Linux. The TUI may attach a clipboard image.
Ctrl+BStart or stop voice recording when voice mode is enabled.
Ctrl+GOpen the draft in $EDITOR. Ctrl+X Ctrl+E also opens it.
Ctrl+SStash a draft. Press again to restore it, or browse/discard when several drafts are parked.
Ctrl+CClear a typed draft. With an empty composer, interrupt Hermes. Double-press within 2 seconds to force exit.
Ctrl+TExpand the live-work dock into the agents roster. F6 is an alternative.
Ctrl+RToggle the live-work dock. F7 is an alternative. Refresh inside the session switcher.
Ctrl+XOpen the live-session switcher. With selected text it cuts the selection, and while editing a queued message it removes that queued item.
Ctrl+DExit from an empty composer. Inside the session switcher, close the selected live session.
Ctrl+ZSuspend Hermes on Unix. Run fg in the shell to resume.
TabAccept ghost-text suggestion or slash-command completion.
Mouse dragSelect text in the transcript.

Inside the agents roster

ShortcutAction
UpMove selection in the agents roster.
DownMove selection in the agents roster.
EnterOpen the selected agent transcript. t is an alternative.
dShow selected agent details.
eSteer the selected agent.
xRequest that the selected agent stop.

Inside the session switcher

ShortcutAction
UpMove selection in the session switcher.
DownMove selection in the session switcher.
EnterSwitch to the selected live session.
Ctrl+NStart a new session from the switcher.
Ctrl+DClose the selected live session.
Ctrl+RRefresh the session list.
EscClose the session switcher.

Configuration files and commands

FileAction
~/.hermes/config.yamlDefault configuration file on POSIX systems. On Windows, the default home is %LOCALAPPDATA%\hermes.
~/.hermes/.envCredentials and other environment variables for the active profile.

Config CLI

CommandAction
hermes config showPrint the active merged configuration.
hermes config set terminal.backend dockerSet a dotted config.yaml value. The terminal backend runs agent shell/code tools.
hermes config set DISCORD_BOT_TOKEN <token>Save a credential in the active profile .env file.
hermes config get model.defaultPrint one resolved setting by dotted key.
hermes config editOpen the active config.yaml in the configured editor.
hermes config set <key> <value>Write a dotted setting to config.yaml or an uppercase environment name to .env.
hermes config unset <key>Remove a setting or secret and return it to its built-in default.
hermes config pathPrint the active config.yaml path.
hermes config env-pathPrint the active .env path.
hermes config checkCheck for missing, stale, or inactive settings.
hermes config migrateInteractively add or update options introduced by the installed release.
hermes config set OPENROUTER_API_KEY <key>Store a provider API key in the active profile .env without writing it to config.yaml.
hermes config get model.provider
hermes config set model.default <model-id>
hermes config set OPENROUTER_API_KEY <key>
hermes config check

Configuration keys

Model, agent, and display

Configuration keyAction
model.defaultChoose the default model ID for new sessions.
model.providerChoose the provider route. Provider credentials are read from the matching environment variable.
model.base_urlSet a custom OpenAI-compatible endpoint for the selected provider.
model.context_lengthOverride the model context window when the endpoint or catalog reports the wrong size.
agent.max_turnsSet the maximum tool iterations per conversation turn. Omit the key or set it to null to leave turns uncapped.
agent.reasoning_effortSet the default reasoning level. Supported values include none through ultra.
compression.enabledKeep automatic conversation compression enabled for long sessions.
compression.thresholdStart compression at the configured fraction of the model context window.
compression.target_ratioPreserve the recent tail up to this fraction of the trigger threshold.
auxiliary.compression.providerChoose the provider for compression summaries. auxiliary.compression.model selects its model.
memory.memory_enabledEnable bounded persistent memory in the agent context.
memory.memory_char_limitLimit the curated memory text injected into the system prompt.
memory.write_approvalRequire approval for memory writes and stage background-review suggestions.
display.interfaceChoose cli for the classic interface or tui for the modern terminal interface.
display.tool_progress_commandAllow tool-progress controls in messaging.
auxiliary.compression.modelChoose the model for compression summaries.

Terminal, skills, MCP, and plugins

Configuration keyAction
terminal.backendChoose local, docker, ssh, modal, daytona, vercel_sandbox, or singularity for agent terminal tools.
terminal.cwdSet the working directory used by gateway and cron agent runs. Interactive CLI uses its launch directory.
terminal.home_modeChoose auto, real, or profile for subprocess HOME handling.
terminal.env_passthroughForward named environment variables into sandboxed terminal and execute_code sessions.
skills.auto_loadLoad listed skills at the start of every new session.
skills.external_dirsScan additional skill directories alongside ~/.hermes/skills/.
skills.create_dirChoose where newly authored skills are saved.
skills.write_approvalStage agent skill edits and deletions for review before applying them.
mcp_servers.<name>.commandSet the executable for a local stdio MCP server. Use mcp_servers.<name>.args for its arguments.
mcp_servers.<name>.urlConnect to a remote HTTP MCP endpoint.
mcp_servers.<name>.headersSet HTTP headers. Reference secrets as ${ENV_VAR} so credentials stay in .env.
mcp_servers.<name>.tools.includeExpose only the listed tools from that server.
mcp_servers.<name>.tools.excludeHide listed tool names or patterns while leaving other server tools enabled.
plugins.enabledAllow the named plugin to load its hooks and tools.
plugins.disabledDeny a plugin even when its name also appears in the enabled list.
plugins.auto_applyOpt tracked Git plugins into unattended updates. Manual updates are the default.
mcp_servers.<name>.argsPass argument strings to a local stdio MCP server.

Gateway, automation, and delegation

Configuration keyAction
gateway.allow_all_usersAllow any messaging user when set to true. The default is false.
cron.modelSet the default model for scheduled jobs without a model override.
cron.model_providerSet the default provider for scheduled jobs without a provider override.
cron.max_parallel_jobsLimit the number of scheduled agent runs active at once.
cron.preflightValidate provider credentials, attached skills, delivery targets, and MCP toolsets before a scheduled agent run.
cron.allow_agent_schedulingAllow cron-run agents to create, edit, or remove jobs. Disabled by default.
kanban.dispatch_in_gatewayRun the dispatcher inside the gateway. This is the default.
kanban.dispatch_interval_secondsSet the embedded dispatcher’s polling interval.
kanban.max_in_progressCap the number of active tasks across a board.
kanban.max_in_progress_per_profileLimit concurrent worker tasks for each assignee profile.
delegation.max_concurrent_childrenCap parallel children per batch and concurrent background delegation units. Set it explicitly when the same capacity is required across installations.
delegation.max_spawn_depthKeep delegation flat by default. Raise it to allow orchestrator children to spawn descendants.
delegation.worktree_isolationKeep children in the shared working directory by default. Enable isolated Git worktrees for local-backend repositories.
delegation.max_iterationsSet each child agent’s tool-call iteration budget.
delegation.modelChoose the model for delegated child agents. Empty value inherits the parent model.
delegation.providerChoose the provider for delegated child agents. auto inherits the parent route.
bot_peers.<name>Stores peer names and gateway URLs. Credentials use HERMES_PEER_<NAME>_KEY in .env.
model:
  provider: openrouter
  default: <model-id>
terminal:
  backend: local
compression:
  enabled: true
mcp_servers:
  filesystem:
    command: npx
    args: [-y, "@modelcontextprotocol/server-filesystem", /home/user/projects]
  company_api:
    url: https://example.com/mcp
    headers:
      Authorization: "Bearer ${COMPANY_MCP_TOKEN}"

Environment variables

Environment variableAction
HERMES_TIMEZONEOverride the local timezone with an IANA timezone name.
HERMES_TUISet to 1 to launch the modern TUI when running hermes.
HERMES_TUI_THEMEUse light, dark, or a six-character hex background to choose the TUI color theme.
HERMES_INFERENCE_MODELOverride the inference model for a run; can also be set with --model.
OPENROUTER_API_KEYOpenRouter credential. Save with hermes config set OPENROUTER_API_KEY <key> or place in .env.
OPENAI_API_KEYOpenAI API or explicitly configured custom endpoint credential.
ANTHROPIC_API_KEYAnthropic Console API credential.
GOOGLE_API_KEYGoogle AI Studio credential. GEMINI_API_KEY is an alias.
XAI_API_KEYxAI API credential for Grok routes.
TELEGRAM_BOT_TOKENStore a Telegram bot credential in .env.
TELEGRAM_ALLOWED_USERSRestrict Telegram access to the listed user IDs.
DISCORD_ALLOWED_USERSRestrict Discord access to the listed user IDs.
GATEWAY_ALLOWED_USERSApply one comma-separated user allowlist across all messaging platforms.
GATEWAY_ALLOW_ALL_USERSControl global allow-all access. Default false, and the environment variable overrides gateway.allow_all_users.
HERMES_CRON_TIMEOUTSet the cron agent’s inactivity timeout in seconds. 0 disables it.
HERMES_CRON_SCRIPT_TIMEOUTSet the script-only job timeout in seconds.
HERMES_KANBAN_BOARDPin a process and its workers to a board created with hermes kanban boards create <slug>.
DELEGATION_MAX_CONCURRENT_CHILDRENSet the child concurrency cap through the process environment.
API_SERVER_KEYCredential required by the remote gateway when its api_server platform is enabled.
HERMES_HOMESelect the configuration and data home. Defaults to ~/.hermes on POSIX and %LOCALAPPDATA%\hermes on Windows.
HERMES_PEER_<NAME>_KEYStore a registered peer gateway credential.

Official Sources

Alternatives & Related Resources

Leave a Reply

Your email address will not be published. Required fields are marked *

Get the latest & top AI tools sent directly to your email.

Subscribe now to explore the latest & top AI tools and resources, all in one convenient newsletter. No spam, we promise!