Skip to content
Mchael Poncardas
Go back

Hermes Profiles - Isolated Agent Contexts

3 min read

Hermes Agent supports profiles — fully isolated configurations that let you run multiple independent agent instances on the same machine. Each profile has its own settings, API keys, skills, memory, and conversation history.

Think of it like browser profiles or Python virtualenvs, but for AI agents.

Why Use Profiles

Separate contexts cleanly. Work projects use different API keys, model preferences, and memory stores than personal tinkering. Profiles keep them from bleeding into each other.

Test safely. Try a new model or experimental skill configuration without breaking your main setup.

Run multiple gateways. One profile for a Discord bot, another for Telegram — each with isolated sessions and tools.

Collaborate without friction. Export your profile, someone else imports it, and they have your exact setup without touching their default config.

Quick Start

# Create a new profile (copies current config)
hermes profile create work --clone

# Switch to it permanently
hermes profile use work

# Run a one-off command with a specific profile
hermes --profile work chat -q "Review the codebase"

# Wrapper command for quick access
hermes profile alias work   # Creates `hermes-work`

What Gets Isolated

Each profile lives in ~/.hermes/profiles/<name>/ with its own:

The default profile uses ~/.hermes/ directly. Switching profiles changes which directory Hermes reads from and writes to.

Real-World Patterns

Work vs personal. Work profile uses company API keys, stricter tool restrictions, and work-specific memory. Personal profile uses your own keys, broader tool access, and personal project memory.

Client projects. Create a profile per client. Each has isolated credentials, project-specific skills, and zero cross-contamination between client contexts.

Model comparison. Profile A uses Claude. Profile B uses GPT-5. Same prompts, same tasks, easy comparison without config thrashing.

CI/CD agents. Export a profile with minimal tools and specific credentials. Import it in CI for reproducible agent runs.

Import and Export

# Backup a profile
hermes profile export work > work-profile.tar.gz

# Restore or share
hermes profile import work-profile.tar.gz

Exports include everything except absolute paths — portable across machines.

Profiles vs Other Isolation

ApproachScopeUse When
ProfilesConfig, keys, memory, skillsLong-term separation
--worktree flagGit state onlyParallel code edits
delegate_taskTemporary subagentQuick parallel tasks
New session (/reset)Conversation onlyFresh context, same config

Profiles are the heavy-duty option. Use them when you need complete isolation that persists across sessions and reboots.

The One Command That Matters

hermes profile create NAME --clone

This copies your current setup into a new profile. From there, modify config, add different API keys, install project-specific skills — whatever the context demands. Switch back to default with hermes profile use default or override per-command with --profile NAME.

Profiles turn one Hermes installation into many specialized agents. Use them before your contexts get messy enough to matter.

Command Reference

hermes profile list              # Show all profiles
hermes profile create NAME       # New profile (--clone to copy current)
hermes profile use NAME          # Set default sticky profile
hermes profile show NAME         # View profile details
hermes profile delete NAME       # Remove a profile
hermes profile export NAME       # Backup to tar.gz
hermes profile import FILE       # Restore from archive
hermes profile alias NAME        # Create wrapper command
hermes profile rename OLD NEW    # Rename a profile

Use --profile NAME flag with any Hermes command for one-off execution without switching defaults.

Share this post on:
Share this post on LinkedIn Share this post via WhatsApp Share this post on Facebook Share this post via email

Related Posts