profile-commands.md
1 --- 2 sidebar_position: 7 3 --- 4 5 # Profile Commands Reference 6 7 This page covers all commands related to [Hermes profiles](../user-guide/profiles.md). For general CLI commands, see [CLI Commands Reference](./cli-commands.md). 8 9 ## `hermes profile` 10 11 ```bash 12 hermes profile <subcommand> 13 ``` 14 15 Top-level command for managing profiles. Running `hermes profile` without a subcommand shows help. 16 17 | Subcommand | Description | 18 |------------|-------------| 19 | `list` | List all profiles. | 20 | `use` | Set the active (default) profile. | 21 | `create` | Create a new profile. | 22 | `delete` | Delete a profile. | 23 | `show` | Show details about a profile. | 24 | `alias` | Regenerate the shell alias for a profile. | 25 | `rename` | Rename a profile. | 26 | `export` | Export a profile to a tar.gz archive. | 27 | `import` | Import a profile from a tar.gz archive. | 28 29 ## `hermes profile list` 30 31 ```bash 32 hermes profile list 33 ``` 34 35 Lists all profiles. The currently active profile is marked with `*`. 36 37 **Example:** 38 39 ```bash 40 $ hermes profile list 41 default 42 * work 43 dev 44 personal 45 ``` 46 47 No options. 48 49 ## `hermes profile use` 50 51 ```bash 52 hermes profile use <name> 53 ``` 54 55 Sets `<name>` as the active profile. All subsequent `hermes` commands (without `-p`) will use this profile. 56 57 | Argument | Description | 58 |----------|-------------| 59 | `<name>` | Profile name to activate. Use `default` to return to the base profile. | 60 61 **Example:** 62 63 ```bash 64 hermes profile use work 65 hermes profile use default 66 ``` 67 68 ## `hermes profile create` 69 70 ```bash 71 hermes profile create <name> [options] 72 ``` 73 74 Creates a new profile. 75 76 | Argument / Option | Description | 77 |-------------------|-------------| 78 | `<name>` | Name for the new profile. Must be a valid directory name (alphanumeric, hyphens, underscores). | 79 | `--clone` | Copy `config.yaml`, `.env`, and `SOUL.md` from the current profile. | 80 | `--clone-all` | Copy everything (config, memories, skills, sessions, state) from the current profile. | 81 | `--clone-from <profile>` | Clone from a specific profile instead of the current one. Used with `--clone` or `--clone-all`. | 82 | `--no-alias` | Skip wrapper script creation. | 83 84 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`. 85 86 **Examples:** 87 88 ```bash 89 # Blank profile — needs full setup 90 hermes profile create mybot 91 92 # Clone config only from current profile 93 hermes profile create work --clone 94 95 # Clone everything from current profile 96 hermes profile create backup --clone-all 97 98 # Clone config from a specific profile 99 hermes profile create work2 --clone --clone-from work 100 ``` 101 102 ## `hermes profile delete` 103 104 ```bash 105 hermes profile delete <name> [options] 106 ``` 107 108 Deletes a profile and removes its shell alias. 109 110 | Argument / Option | Description | 111 |-------------------|-------------| 112 | `<name>` | Profile to delete. | 113 | `--yes`, `-y` | Skip confirmation prompt. | 114 115 **Example:** 116 117 ```bash 118 hermes profile delete mybot 119 hermes profile delete mybot --yes 120 ``` 121 122 :::warning 123 This permanently deletes the profile's entire directory including all config, memories, sessions, and skills. Cannot delete the currently active profile. 124 ::: 125 126 ## `hermes profile show` 127 128 ```bash 129 hermes profile show <name> 130 ``` 131 132 Displays details about a profile including its home directory, configured model, gateway status, skills count, and configuration file status. 133 134 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: "."`). 135 136 | Argument | Description | 137 |----------|-------------| 138 | `<name>` | Profile to inspect. | 139 140 **Example:** 141 142 ```bash 143 $ hermes profile show work 144 Profile: work 145 Path: ~/.hermes/profiles/work 146 Model: anthropic/claude-sonnet-4 (anthropic) 147 Gateway: stopped 148 Skills: 12 149 .env: exists 150 SOUL.md: exists 151 Alias: ~/.local/bin/work 152 ``` 153 154 ## `hermes profile alias` 155 156 ```bash 157 hermes profile alias <name> [options] 158 ``` 159 160 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. 161 162 | Argument / Option | Description | 163 |-------------------|-------------| 164 | `<name>` | Profile to create/update the alias for. | 165 | `--remove` | Remove the wrapper script instead of creating it. | 166 | `--name <alias>` | Custom alias name (default: profile name). | 167 168 **Example:** 169 170 ```bash 171 hermes profile alias work 172 # Creates/updates ~/.local/bin/work 173 174 hermes profile alias work --name mywork 175 # Creates ~/.local/bin/mywork 176 177 hermes profile alias work --remove 178 # Removes the wrapper script 179 ``` 180 181 ## `hermes profile rename` 182 183 ```bash 184 hermes profile rename <old-name> <new-name> 185 ``` 186 187 Renames a profile. Updates the directory and shell alias. 188 189 | Argument | Description | 190 |----------|-------------| 191 | `<old-name>` | Current profile name. | 192 | `<new-name>` | New profile name. | 193 194 **Example:** 195 196 ```bash 197 hermes profile rename mybot assistant 198 # ~/.hermes/profiles/mybot → ~/.hermes/profiles/assistant 199 # ~/.local/bin/mybot → ~/.local/bin/assistant 200 ``` 201 202 ## `hermes profile export` 203 204 ```bash 205 hermes profile export <name> [options] 206 ``` 207 208 Exports a profile as a compressed tar.gz archive. 209 210 | Argument / Option | Description | 211 |-------------------|-------------| 212 | `<name>` | Profile to export. | 213 | `-o`, `--output <path>` | Output file path (default: `<name>.tar.gz`). | 214 215 **Example:** 216 217 ```bash 218 hermes profile export work 219 # Creates work.tar.gz in the current directory 220 221 hermes profile export work -o ./work-2026-03-29.tar.gz 222 ``` 223 224 ## `hermes profile import` 225 226 ```bash 227 hermes profile import <archive> [options] 228 ``` 229 230 Imports a profile from a tar.gz archive. 231 232 | Argument / Option | Description | 233 |-------------------|-------------| 234 | `<archive>` | Path to the tar.gz archive to import. | 235 | `--name <name>` | Name for the imported profile (default: inferred from archive). | 236 237 **Example:** 238 239 ```bash 240 hermes profile import ./work-2026-03-29.tar.gz 241 # Infers profile name from the archive 242 243 hermes profile import ./work-2026-03-29.tar.gz --name work-restored 244 ``` 245 246 ## `hermes -p` / `hermes --profile` 247 248 ```bash 249 hermes -p <name> <command> [options] 250 hermes --profile <name> <command> [options] 251 ``` 252 253 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. 254 255 | Option | Description | 256 |--------|-------------| 257 | `-p <name>`, `--profile <name>` | Profile to use for this command. | 258 259 **Examples:** 260 261 ```bash 262 hermes -p work chat -q "Check the server status" 263 hermes --profile dev gateway start 264 hermes -p personal skills list 265 hermes -p work config edit 266 ``` 267 268 ## `hermes completion` 269 270 ```bash 271 hermes completion <shell> 272 ``` 273 274 Generates shell completion scripts. Includes completions for profile names and profile subcommands. 275 276 | Argument | Description | 277 |----------|-------------| 278 | `<shell>` | Shell to generate completions for: `bash` or `zsh`. | 279 280 **Examples:** 281 282 ```bash 283 # Install completions 284 hermes completion bash >> ~/.bashrc 285 hermes completion zsh >> ~/.zshrc 286 287 # Reload shell 288 source ~/.bashrc 289 ``` 290 291 After installation, tab completion works for: 292 - `hermes profile <TAB>` — subcommands (list, use, create, etc.) 293 - `hermes profile use <TAB>` — profile names 294 - `hermes -p <TAB>` — profile names 295 296 ## See also 297 298 - [Profiles User Guide](../user-guide/profiles.md) 299 - [CLI Commands Reference](./cli-commands.md) 300 - [FAQ — Profiles section](./faq.md#profiles)