The docs said ~/.hanzo-bot/hanzo-bot.json (and ~/.hanzo-bot-<profile>, hanzo-bot.plugin.json), which nothing reads: src/config/paths.ts resolves ~/.bot, bot.json and ~/.bot-<profile>, and plugins ship bot.plugin.json. Every such path in docs/ now names what the code opens. Co-authored-by: Hanzo Dev <[email protected]>
3.3 KiB
summary, read_when, title
| summary | read_when | title | ||
|---|---|---|---|---|
| Uninstall HanzoBot completely (CLI, service, state, workspace) |
|
Uninstall |
Uninstall
Two paths:
- Easy path if
hanzo-botis still installed. - Manual service removal if the CLI is gone but the service is still running.
Easy path (CLI still installed)
Recommended: use the built-in uninstaller:
hanzo-bot uninstall
Non-interactive (automation / npx):
hanzo-bot uninstall --all --yes --non-interactive
npx -y hanzo-bot uninstall --all --yes --non-interactive
Manual steps (same result):
- Stop the gateway service:
hanzo-bot gateway stop
- Uninstall the gateway service (launchd/systemd/schtasks):
hanzo-bot gateway uninstall
- Delete state + config:
rm -rf "${BOT_STATE_DIR:-$HOME/.bot}"
If you set BOT_CONFIG_PATH to a custom location outside the state dir, delete that file too.
- Delete your workspace (optional, removes agent files):
rm -rf ~/.bot/workspace
- Remove the CLI install (pick the one you used):
npm rm -g hanzo-bot
pnpm remove -g hanzo-bot
bun remove -g hanzo-bot
- If you installed the macOS app:
rm -rf /Applications/HanzoBot.app
Notes:
- If you used profiles (
--profile/BOT_PROFILE), repeat step 3 for each state dir (defaults are~/.bot-<profile>). - In remote mode, the state dir lives on the gateway host, so run steps 1-4 there too.
Manual service removal (CLI not installed)
Use this if the gateway service keeps running but hanzo-bot is missing.
macOS (launchd)
Default label is ai.hanzo.bot.gateway (or ai.hanzo.bot.<profile>; legacy com.hanzo-bot.* may still exist):
launchctl bootout gui/$UID/ai.hanzo.bot.gateway
rm -f ~/Library/LaunchAgents/ai.hanzo.bot.gateway.plist
If you used a profile, replace the label and plist name with ai.hanzo.bot.<profile>. Remove any legacy com.hanzo-bot.* plists if present.
Linux (systemd user unit)
Default unit name is hanzo-bot-gateway.service (or hanzo-bot-gateway-<profile>.service):
systemctl --user disable --now hanzo-bot-gateway.service
rm -f ~/.config/systemd/user/hanzo-bot-gateway.service
systemctl --user daemon-reload
Windows (Scheduled Task)
Default task name is HanzoBot Gateway (or HanzoBot Gateway (<profile>)).
The task script lives under your state dir.
schtasks /Delete /F /TN "HanzoBot Gateway"
Remove-Item -Force "$env:USERPROFILE\.bot\gateway.cmd"
If you used a profile, delete the matching task name and ~\.bot-<profile>\gateway.cmd.
Normal install vs source checkout
Normal install (install.sh / npm / pnpm / bun)
If you used https://hanzo-bot.ai/install.sh or install.ps1, the CLI was installed with npm install -g hanzo-bot@latest.
Remove it with npm rm -g hanzo-bot (or pnpm remove -g / bun remove -g if you installed that way).
Source checkout (git clone)
If you run from a repo checkout (git clone + hanzo-bot ... / bun run hanzo-bot ...):
- Uninstall the gateway service before deleting the repo (use the easy path above or manual service removal).
- Delete the repo directory.
- Remove state + workspace as shown above.