Reference docs fixes: - cli-commands.md: remove non-existent --provider alibaba, add hermes profile/completion/plugins/mcp to top-level table, add --profile/-p global flag, add --source chat option - slash-commands.md: add /yolo and /commands, fix /q alias conflict (resolves to /queue not /quit), add missing aliases (/bg, /set-home, /reload_mcp, /gateway) - toolsets-reference.md: fix hermes-api-server (not same as hermes-cli, omits clarify/send_message/text_to_speech) - profile-commands.md: fix show name required not optional, --clone-from not --from, add --remove/--name to alias, fix alias path, fix export/ import arg types, remove non-existent fish completion - tools-reference.md: add EXA_API_KEY to web tools requires_env - mcp-config-reference.md: add auth key for OAuth, tool name sanitization - environment-variables.md: add EXA_API_KEY, update provider values - plugins.md: remove non-existent ctx.register_command(), add ctx.inject_message() Feature docs additions: - security.md: add /yolo mode, approval modes (manual/smart/off), configurable timeout, expanded dangerous patterns table - cron.md: add wrap_response config, [SILENT] suppression - mcp.md: add dynamic tool discovery, MCP sampling support - cli.md: add Ctrl+Z suspend, busy_input_mode, tool_preview_length - docker.md: add skills/credential file mounting Messaging platform docs: - telegram.md: add webhook mode, DoH fallback IPs - slack.md: add multi-workspace OAuth support - discord.md: add DISCORD_IGNORE_NO_MENTION - matrix.md: add MSC3245 native voice messages - feishu.md: expand from 129 to 365 lines (encrypt key, verification token, group policy, card actions, media, rate limiting, markdown, troubleshooting) - wecom.md: expand from 86 to 264 lines (per-group allowlists, media, AES decryption, stream replies, reconnection, troubleshooting) Configuration docs: - quickstart.md: add DeepSeek, Copilot, Copilot ACP providers - configuration.md: add DeepSeek provider, Exa web backend, terminal env_passthrough/images, browser.command_timeout, compression params, discord config, security/tirith config, timezone, auxiliary models 21 files changed, ~1000 lines added
6.8 KiB
sidebar_position
| sidebar_position |
|---|
| 7 |
Profile Commands Reference
This page covers all commands related to Hermes profiles. For general CLI commands, see CLI Commands Reference.
hermes profile
hermes profile <subcommand>
Top-level command for managing profiles. Running hermes profile without a subcommand shows help.
| Subcommand | Description |
|---|---|
list |
List all profiles. |
use |
Set the active (default) profile. |
create |
Create a new profile. |
delete |
Delete a profile. |
show |
Show details about a profile. |
alias |
Regenerate the shell alias for a profile. |
rename |
Rename a profile. |
export |
Export a profile to a tar.gz archive. |
import |
Import a profile from a tar.gz archive. |
hermes profile list
hermes profile list
Lists all profiles. The currently active profile is marked with *.
Example:
$ hermes profile list
default
* work
dev
personal
No options.
hermes profile use
hermes profile use <name>
Sets <name> as the active profile. All subsequent hermes commands (without -p) will use this profile.
| Argument | Description |
|---|---|
<name> |
Profile name to activate. Use default to return to the base profile. |
Example:
hermes profile use work
hermes profile use default
hermes profile create
hermes profile create <name> [options]
Creates a new profile.
| Argument / Option | Description |
|---|---|
<name> |
Name for the new profile. Must be a valid directory name (alphanumeric, hyphens, underscores). |
--clone |
Copy config.yaml, .env, and SOUL.md from the current profile. |
--clone-all |
Copy everything (config, memories, skills, sessions, state) from the current profile. |
--clone-from <profile> |
Clone from a specific profile instead of the current one. Used with --clone or --clone-all. |
Examples:
# Blank profile — needs full setup
hermes profile create mybot
# Clone config only from current profile
hermes profile create work --clone
# Clone everything from current profile
hermes profile create backup --clone-all
# Clone config from a specific profile
hermes profile create work2 --clone --clone-from work
hermes profile delete
hermes profile delete <name> [options]
Deletes a profile and removes its shell alias.
| Argument / Option | Description |
|---|---|
<name> |
Profile to delete. |
--yes, -y |
Skip confirmation prompt. |
Example:
hermes profile delete mybot
hermes profile delete mybot --yes
:::warning This permanently deletes the profile's entire directory including all config, memories, sessions, and skills. Cannot delete the currently active profile. :::
hermes profile show
hermes profile show <name>
Displays details about a profile including its home directory, configured model, active platforms, and disk usage.
| Argument | Description |
|---|---|
<name> |
Profile to inspect. |
Example:
$ hermes profile show work
Profile: work
Home: ~/.hermes/profiles/work
Model: anthropic/claude-sonnet-4
Platforms: telegram, discord
Skills: 12 installed
Disk: 48 MB
hermes profile alias
hermes profile alias <name> [options]
Regenerates the shell alias script at ~/.local/bin/<name>. Useful if the alias was accidentally deleted or if you need to update it after moving your Hermes installation.
| Argument / Option | Description |
|---|---|
<name> |
Profile to create/update the alias for. |
--remove |
Remove the wrapper script instead of creating it. |
--name <alias> |
Custom alias name (default: profile name). |
Example:
hermes profile alias work
# Creates/updates ~/.local/bin/work
hermes profile alias work --name mywork
# Creates ~/.local/bin/mywork
hermes profile alias work --remove
# Removes the wrapper script
hermes profile rename
hermes profile rename <old-name> <new-name>
Renames a profile. Updates the directory and shell alias.
| Argument | Description |
|---|---|
<old-name> |
Current profile name. |
<new-name> |
New profile name. |
Example:
hermes profile rename mybot assistant
# ~/.hermes/profiles/mybot → ~/.hermes/profiles/assistant
# ~/.local/bin/mybot → ~/.local/bin/assistant
hermes profile export
hermes profile export <name> [options]
Exports a profile as a compressed tar.gz archive.
| Argument / Option | Description |
|---|---|
<name> |
Profile to export. |
-o, --output <path> |
Output file path (default: <name>.tar.gz). |
Example:
hermes profile export work
# Creates work.tar.gz in the current directory
hermes profile export work -o ./work-2026-03-29.tar.gz
hermes profile import
hermes profile import <archive> [options]
Imports a profile from a tar.gz archive.
| Argument / Option | Description |
|---|---|
<archive> |
Path to the tar.gz archive to import. |
--name <name> |
Name for the imported profile (default: inferred from archive). |
Example:
hermes profile import ./work-2026-03-29.tar.gz
# Infers profile name from the archive
hermes profile import ./work-2026-03-29.tar.gz --name work-restored
hermes -p / hermes --profile
hermes -p <name> <command> [options]
hermes --profile <name> <command> [options]
Global flag to run any Hermes command under a specific profile without changing the sticky default. This overrides the active profile for the duration of the command.
| Option | Description |
|---|---|
-p <name>, --profile <name> |
Profile to use for this command. |
Examples:
hermes -p work chat -q "Check the server status"
hermes --profile dev gateway start
hermes -p personal skills list
hermes -p work config edit
hermes completion
hermes completion <shell>
Generates shell completion scripts. Includes completions for profile names and profile subcommands.
| Argument | Description |
|---|---|
<shell> |
Shell to generate completions for: bash or zsh. |
Examples:
# Install completions
hermes completion bash >> ~/.bashrc
hermes completion zsh >> ~/.zshrc
# Reload shell
source ~/.bashrc
After installation, tab completion works for:
hermes profile <TAB>— subcommands (list, use, create, etc.)hermes profile use <TAB>— profile nameshermes -p <TAB>— profile names