Bug Description
When launching Hermes with a specific profile using -p <profile> flag, the agent incorrectly loads SOUL.md from the global path ~/.hermes/SOUL.md instead of the profile-specific path ~/.hermes/profiles/<profile>/SOUL.md.
Reproduction Steps
# 1. Create a profile
^[[45;1R^[[45;1Rhermes profile create hm-investor
# 2. Verify profile structure
hermes profile show hm-investor
# Output shows:
# Path: /home/ubuntu/.hermes/profiles/hm-investor
# SOUL.md: exists
# 3. Check profile's SOUL.md exists and differs from global
cat /home/ubuntu/.hermes/profiles/hm-investor/SOUL.md # Has profile-specific content
cat /home/ubuntu/.hermes/SOUL.md # Different content (default/empty)
# 4. Launch Hermes with the profile
hermes -p hm-investor
# or via alias:
hm-investor
# 5. Observe: Agent loads SOUL.md from ~/.hermes/SOUL.md (global)
# instead of ~/.hermes/profiles/hm-investor/SOUL.md (profile)
Expected Behavior
When using hermes -p hm-investor, the agent should load:
~/.hermes/profiles/hm-investor/SOUL.md
Actual Behavior
Agent loads:
~/.hermes/SOUL.md (global path)
Environment
- Version: v2026.4.8 (2026-04-08T11:56:44Z)
- OS: Ubuntu (Linux)
- Profile alias:
hm-investor → hermes -p hm-investor
Verification
# Profile directory has correct SOUL.md
$ ls -la /home/ubuntu/.hermes/profiles/hm-investor/SOUL.md
-rw-r--r-- 1 ubuntu ubuntu 2664 Apr 12 09:20 /home/ubuntu/.hermes/profiles/hm-investor/SOUL.md
# Global SOUL.md also exists (but shouldn't be loaded in profile mode)
$ ls -la /home/ubuntu/.hermes/SOUL.md
-rw-r--r-- 1 ubuntu ubuntu 2664 Apr 12 09:11 /home/ubuntu/.hermes/SOUL.md
# Files are identical (profile content leaked to global due to this bug)
$ diff /home/ubuntu/.hermes/SOUL.md /home/ubuntu/.hermes/profiles/hm-investor/SOUL.md
# (no output - files identical, confirming the bug caused cross-contamination)
Impact
- Profile isolation broken: Profiles cannot have distinct personas/SOUL.md
- Cross-contamination risk: When a profile agent writes to SOUL.md, it overwrites the global file, affecting all other agents
- Multi-agent workflows compromised: Users cannot reliably run separate agents with different personalities via profiles
Related Issues
Workaround
None known — the bug prevents proper profile-based SOUL.md isolation.
Bug Description
When launching Hermes with a specific profile using
-p <profile>flag, the agent incorrectly loadsSOUL.mdfrom the global path~/.hermes/SOUL.mdinstead of the profile-specific path~/.hermes/profiles/<profile>/SOUL.md.Reproduction Steps
Expected Behavior
When using
hermes -p hm-investor, the agent should load:~/.hermes/profiles/hm-investor/SOUL.mdActual Behavior
Agent loads:
~/.hermes/SOUL.md(global path)Environment
hm-investor→hermes -p hm-investorVerification
Impact
Related Issues
Workaround
None known — the bug prevents proper profile-based SOUL.md isolation.