Profile Commands Reference
Profile Commands Reference
Section titled “Profile Commands Reference”This page covers all commands related to Hermes profiles. For general CLI commands, see CLI Commands Reference.
hermes profile
Section titled “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
Section titled “hermes profile list”hermes profile listLists all profiles. The currently active profile is marked with *.
Example:
$ hermes profile list default* work dev personalNo options.
hermes profile use
Section titled “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 workhermes profile use defaulthermes profile create
Section titled “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. |
--no-alias | Skip wrapper script creation. |
Creating a profile does not make that profile directory the default project/workspace directory for terminal commands. If you want a profile to start in a specific project, set terminal.cwd in that profile’s config.yaml.
Examples:
# Blank profile — needs full setuphermes profile create mybot
# Clone config only from current profilehermes profile create work --clone
# Clone everything from current profilehermes profile create backup --clone-all
# Clone config from a specific profilehermes profile create work2 --clone --clone-from workhermes profile delete
Section titled “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 mybothermes profile delete mybot --yesThis permanently deletes the profile’s entire directory including all config, memories, sessions, and skills. Cannot delete the currently active profile.
hermes profile show
Section titled “hermes profile show”hermes profile show <name>Displays details about a profile including its home directory, configured model, gateway status, skills count, and configuration file status.
This shows the profile’s Hermes home directory, not the terminal working directory. Terminal commands start from terminal.cwd (or the launch directory on the local backend when cwd: ".").
| Argument | Description |
|---|---|
<name> | Profile to inspect. |
Example:
$ hermes profile show workProfile: workPath: ~/.hermes/profiles/workModel: anthropic/claude-sonnet-4 (anthropic)Gateway: stoppedSkills: 12.env: existsSOUL.md: existsAlias: ~/.local/bin/workhermes profile alias
Section titled “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 scripthermes profile rename
Section titled “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/assistanthermes profile export
Section titled “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.gzhermes profile import
Section titled “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-restoredhermes -p / hermes --profile
Section titled “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 starthermes -p personal skills listhermes -p work config edithermes completion
Section titled “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 completionshermes completion bash >> ~/.bashrchermes completion zsh >> ~/.zshrc
# Reload shellsource ~/.bashrcAfter installation, tab completion works for:
hermes profile <TAB>— subcommands (list, use, create, etc.)hermes profile use <TAB>— profile nameshermes -p <TAB>— profile names