Files
hermes-agent/website/docs/reference/profile-commands.md
Teknium b151d5f7a7 docs: fix profile alias naming and improve quick start
The docs incorrectly showed aliases as 'hermes-work' when the actual
implementation creates 'work' (profile name directly, no prefix).

Rewrote the user guide to lead with the alias pattern:
  hermes profile create coder → coder chat, coder setup, etc.

Also clarified that the banner shows 'Profile: coder' and the prompt
shows 'coder ❯' when a non-default profile is active.

Fixed alias paths in command reference (hermes-work → work).
2026-03-29 10:51:51 -07:00

6.5 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.
--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 --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. Defaults to the current active profile if omitted.

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>

Regenerates the shell alias script at ~/.local/bin/hermes-<name>. Useful if the alias was accidentally deleted or if you need to update it after moving your Hermes installation.

Argument Description
<name> Profile to create/update the alias for.

Example:

hermes profile alias work
# Creates/updates ~/.local/bin/work

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> <output-path>

Exports a profile as a compressed tar.gz archive.

Argument Description
<name> Profile to export.
<output-path> Path for the output archive (e.g., ./work-backup.tar.gz).

Example:

hermes profile export work ./work-2026-03-29.tar.gz

hermes profile import

hermes profile import <archive-path> [name]

Imports a profile from a tar.gz archive.

Argument Description
<archive-path> Path to the tar.gz archive to import.
[name] Name for the imported profile. Defaults to the original profile name from the archive.

Example:

hermes profile import ./work-2026-03-29.tar.gz 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, zsh, or fish.

Examples:

# Install completions
hermes completion bash >> ~/.bashrc
hermes completion zsh >> ~/.zshrc
hermes completion fish > ~/.config/fish/completions/hermes.fish

# Reload shell
source ~/.bashrc

After installation, tab completion works for:

  • hermes profile <TAB> — subcommands (list, use, create, etc.)
  • hermes profile use <TAB> — profile names
  • hermes -p <TAB> — profile names

See also