Skip to content
Apothem
Install

Uninstalling

Remove Apothem and clean up harness configs.

Remove harness configs first

The bare apothem command used on this page is the shim that the one-shot installer (channel 3 of the installation guide) writes; it runs once that shim's directory is on PATH. On the other install channels, substitute npx @ahmed-g-gad/apothem for apothem, as the installation guide describes.

Before uninstalling Apothem, remove each harness adapter config to leave your harnesses in a clean state. Run apothem harnesses list to see which adapters are currently installed, then remove them one at a time or use the registry-wide selector:

apothem uninstall --harness claude-code
apothem uninstall --harness cursor --project /path/to/project
apothem uninstall --harness all --project /path/to/project --yes

Pass --yes to skip the per-harness confirmation prompt.

Remove the engine

Removal matches the install channel you used. Channel numbers are those of the install channel table:

  • Claude Code plugin (channel 1) — remove the plugin from inside Claude Code: /plugin uninstall apothem@apothem (the marketplace entry can be removed with /plugin marketplace remove ahmed-g-gad/apothem).

  • npx (channel 2) — nothing to remove; npx runs from its cache. Clear it with npm cache clean --force if you want the cached copy gone.

  • One-shot installer (channel 3) — run the matching uninstall script from the checkout: scripts/installer/uninstall.sh (POSIX) or scripts/installer/uninstall.ps1 (PowerShell). Each script removes the harness named by --harness (-Harness on PowerShell), else APOTHEM_HARNESS, else Claude Code. It also removes the apothem command shim. The source comes from APOTHEM_SOURCE when set, or from APOTHEM_HOME (default $HOME/.apothem). The source stays unless you pass --remove-source (-RemoveSource on PowerShell). That flag deletes only the managed clone at APOTHEM_HOME, and only when it has a .git directory. With the default location, it also deletes the install backups and the ledger under ~/.apothem/. Both prompt before removing the harness configs and the source. --yes (-Yes on PowerShell) skips the prompts. Both refuse unsafe targets.

  • VS Code-family extension (channel 4) — run Apothem: Uninstall from the command palette first to remove the harness configs, then remove the extension from the Extensions view or with code --uninstall-extension ahmed-g-gad.apothem-vscode (a copy installed from an earlier apothem.vsix is ahmed-g-gad.apothem). By default the extension runs the engine through npx, so the npx entry above covers the cache.

  • Command-line bootstraps (channels 5–7) — remove the extension or plugin with its host tool after the harness configs are gone. The hosts:

    channel 5   Gemini CLI extension
    channel 6   Qwen Code extension
    channel 7   Codex plugin

    The bootstrap only adds assistant context (a context file, a command, or a skill) that calls the engine through npx, so nothing else remains. The extension hosts of channels 5 and 6 take an uninstall command; for the plugin host of channel 7, uninstall apothem in its plugin browser.

    gemini extensions uninstall apothem   # channel 5
    qwen extensions uninstall apothem     # channel 6
  • Direct engine (channel 8) — nothing to uninstall; delete the clone once the harness configs are removed.

  • Backups and state — install backups live under ~/.apothem/backups/ and the install ledger under ~/.apothem/state/. Both stay bounded: after every install, uninstall and rollback Apothem keeps the newest 10 install records per install root and the newest 10 backup sets per harness, and never deletes a backup a kept record still needs, so the last 10 installs can still be rolled back. To keep fewer, run apothem backups prune --keep N (add --dry-run to see what it would remove first); it never removes the backup that rollback of a harness's latest install restores from. Once the engine is removed and you no longer need any of the history, delete ~/.apothem/.

What is NOT removed

  • The shared profile YAML at ~/.config/apothem/profile.yaml or --profile PATH is never removed by apothem uninstall.
  • Unrelated operator-authored files in harness directories are preserved.
  • Entries you added to a shared settings file are preserved: your own permission rules, MCP servers and hook handlers stay. Uninstall removes only the keys and list entries the install ledger records as Apothem's (see Settings).
  • The shared data stores under .apothem/ at the install root (memory/, contexts/, learning/) stay while another installed harness at the same root still uses them. Uninstalling the last harness at that root copies each store into ~/.apothem/backups/ first, then removes it with everything in it.
  • Plan suites under <project>/.apothem/plans/ (and the legacy <project>/.plans/) are unaffected.

Directories

Uninstall also removes the directories the install created (for example a ~/.claude/ that did not exist before the first install), once they are empty. A directory that still holds a file of yours, or data another installed harness uses, stays. Directories that existed before the install are never removed.

To fully clean up a harness root, remove the harness-native path documented on the harness reference pages after confirming you have backed up any custom rules, helpers, or profile files you want to keep.

On this page