Skip to content

[Bug]: Full uninstall leaves Hermes data, Desktop state, LaunchAgents, and application files behind on macOS #62209

Description

@anthonydigrazia

Bug Description

Running a full Hermes uninstall on macOS does not remove all Hermes-created files and state.

After the uninstall reported that Hermes data had been removed, substantial Hermes-related files and directories still remained across the home directory and macOS Library folders.

These leftovers affected the next installation. Hermes continued to exhibit provider and performance problems until all remaining Hermes files were manually removed.

After a genuinely clean reinstall, performance returned to normal.

Steps to Reproduce

  1. Install and use Hermes Desktop on macOS.
  2. Run the full uninstall option.
  3. Allow the uninstall process to complete.
  4. Search for remaining Hermes files:
  5. find "$HOME/Library" "$HOME/.local" "$HOME/.config" "$HOME/.cache" \
  6. -maxdepth 3 -iname 'hermes' 2>/dev/null
  7. Check whether ~/.hermes, LaunchAgents, Desktop state, caches, preferences, logs, and application files remain.
  8. Reinstall Hermes.
  9. Observe that previous state or degraded behavior may persist.

Expected Behavior

A full uninstall should either:

  1. Remove all Hermes-created files, application state, background services, and configuration, or
  2. Create a clearly labeled backup of user data before removal and explicitly inform the user which files were preserved.

If ~/.hermes is intentionally preserved, the user should be told that it contains profiles, provider configuration, sessions, memory, skills, and other state that may affect a future reinstall.

A full uninstall should result in a genuinely clean reinstall experience.

Actual Behavior

The full uninstall reported successful removal, but Hermes-related files remained in multiple locations.

The remaining items included or potentially included:

~/.hermes
~/.local/share/hermes
~/.local/bin/hermes
~/.cache/hermes
~/.config/hermes

~/Library/Application Support/Hermes
~/Library/Caches/Hermes
~/Library/Caches/com.nousresearch.hermes
~/Library/Caches/hermes-setup
~/Library/Caches/com.nousresearch.hermes.setup

~/Library/Logs/Hermes

~/Library/Preferences/com.nousresearch.hermes.plist

~/Library/WebKit/com.nousresearch.hermes
~/Library/WebKit/hermes-setup
~/Library/WebKit/com.nousresearch.hermes.setup

~/Library/HTTPStorages/com.nousresearch.hermes

~/Library/Saved Application State/com.nousresearch.hermes.savedState

~/Library/LaunchAgents/ai.hermes.gateway*.plist
~/Library/LaunchAgents/io.nousresearch.hermes-agent.gateway*.plist

/Applications/Hermes.app

Hermes-related gateway processes and LaunchAgents also had to be stopped or unloaded manually.

The following kinds of cleanup were required:

pkill -x Hermes 2>/dev/null || true
pkill -f hermes-agent 2>/dev/null || true

launchctl bootout "gui/$(id -u)/ai.hermes.gateway" 2>/dev/null || true
launchctl bootout "gui/$(id -u)/io.nousresearch.hermes-agent.gateway" 2>/dev/null || true

The remaining files then had to be manually deleted before reinstalling.

Affected Component

Other

Messaging Platform (if gateway-related)

No response

Debug Report

None.  as I didnt know if what I did would solve, and I deleted all things Hermes!

Operating System

macOS 26.5.2

Python Version

3.11.9

Hermes Version

0.18.2

Additional Logs / Traceback (optional)

Root Cause Analysis (optional)

No response

Proposed Fix (optional)

For hermes uninstall --full:

Stop all Hermes processes.
Unload all Hermes LaunchAgents.
Remove the Desktop app.
Remove Electron/WebKit caches and state.
Remove preferences, logs, HTTP storage, and saved application state.
Remove or archive ~/.hermes.
Show the user an exact list of preserved and deleted locations.

A safer user-friendly approach would be:

Create a timestamped backup such as:
~/.hermes-backup-YYYYMMDD-HHMMSS
Inform the user that the backup contains profiles, sessions, provider configuration, memory, and skills.
Remove the active ~/.hermes directory so the next install is genuinely clean.
Provide instructions for selectively restoring data without restoring broken configuration.

Are you willing to submit a PR for this?

  • I'd like to fix this myself and submit a PR

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium — degraded but workaround existsbugcomp/cliCLI entry point, hermes_cli/, setup wizardcomp/desktopElectron desktop app (apps/desktop/*)type/bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions