feat: add reset/uninstall commands

This commit is contained in:
Peter Steinberger
2026-01-11 10:23:52 +00:00
parent e84eb3e671
commit 11c8db14a1
13 changed files with 768 additions and 2 deletions

View File

@@ -48,6 +48,8 @@ clawdbot [--dev] [--profile <name>] <command>
onboard
configure (alias: config)
doctor
reset
uninstall
update
providers
list
@@ -442,6 +444,36 @@ Options:
- `--store <path>`
- `--active <minutes>`
## Reset / Uninstall
### `reset`
Reset local config/state (keeps the CLI installed).
Options:
- `--scope <config|config+creds+sessions|full>`
- `--yes`
- `--non-interactive`
- `--dry-run`
Notes:
- `--non-interactive` requires `--scope` and `--yes`.
### `uninstall`
Uninstall the gateway service + local data (CLI remains).
Options:
- `--service`
- `--state`
- `--workspace`
- `--app`
- `--all`
- `--yes`
- `--non-interactive`
- `--dry-run`
Notes:
- `--non-interactive` requires `--yes` and explicit scopes (or `--all`).
## Gateway
### `gateway`

125
docs/install/uninstall.md Normal file
View File

@@ -0,0 +1,125 @@
---
summary: "Uninstall Clawdbot completely (CLI, service, state, workspace)"
read_when:
- You want to remove Clawdbot from a machine
- The gateway service is still running after uninstall
---
# Uninstall
Two paths:
- **Easy path** if `clawdbot` is 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:
```bash
clawdbot uninstall
```
Non-interactive (automation / npx):
```bash
clawdbot uninstall --all --yes --non-interactive
npx -y clawdbot uninstall --all --yes --non-interactive
```
Manual steps (same result):
1) Stop the gateway service:
```bash
clawdbot daemon stop
```
2) Uninstall the gateway service (launchd/systemd/schtasks):
```bash
clawdbot daemon uninstall
```
3) Delete state + config:
```bash
rm -rf "${CLAWDBOT_STATE_DIR:-$HOME/.clawdbot}"
```
If you set `CLAWDBOT_CONFIG_PATH` to a custom location outside the state dir, delete that file too.
4) Delete your workspace (optional, removes agent files):
```bash
rm -rf ~/clawd
```
5) Remove the CLI install (pick the one you used):
```bash
npm rm -g clawdbot
pnpm remove -g clawdbot
bun remove -g clawdbot
```
6) If you installed the macOS app:
```bash
rm -rf /Applications/Clawdbot.app
```
Notes:
- If you used profiles (`--profile` / `CLAWDBOT_PROFILE`), repeat step 3 for each state dir (defaults are `~/.clawdbot-<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 `clawdbot` is missing.
### macOS (launchd)
Default label is `com.clawdbot.gateway` (or `com.clawdbot.<profile>`):
```bash
launchctl bootout gui/$UID/com.clawdbot.gateway
rm -f ~/Library/LaunchAgents/com.clawdbot.gateway.plist
```
If you used a profile, replace the label and plist name with `com.clawdbot.<profile>`.
### Linux (systemd user unit)
Default unit name is `clawdbot-gateway.service` (or `clawdbot-gateway-<profile>.service`):
```bash
systemctl --user disable --now clawdbot-gateway.service
rm -f ~/.config/systemd/user/clawdbot-gateway.service
systemctl --user daemon-reload
```
### Windows (Scheduled Task)
Default task name is `Clawdbot Gateway` (or `Clawdbot Gateway (<profile>)`).
The task script lives under your state dir.
```powershell
schtasks /Delete /F /TN "Clawdbot Gateway"
Remove-Item -Force "$env:USERPROFILE\.clawdbot\gateway.cmd"
```
If you used a profile, delete the matching task name and `~\.clawdbot-<profile>\gateway.cmd`.
## Normal install vs source checkout
### Normal install (install.sh / npm / pnpm / bun)
If you used `https://clawd.bot/install.sh` or `install.ps1`, the CLI was installed with `npm install -g clawdbot@latest`.
Remove it with `npm rm -g clawdbot` (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` + `pnpm clawdbot ...` / `bun run clawdbot ...`):
1) Uninstall the gateway service **before** deleting the repo (use the easy path above or manual service removal).
2) Delete the repo directory.
3) Remove state + workspace as shown above.

View File

@@ -162,6 +162,10 @@ Legacy singleagent path: `~/.clawdbot/agent/*` (migrated by `clawdbot doctor`
Your **workspace** (AGENTS.md, memory files, skills, etc.) is separate and configured via `agents.defaults.workspace` (default: `~/clawd`).
### How do I completely uninstall Clawdbot?
See the dedicated guide: [Uninstall](/install/uninstall).
### Can agents work outside the workspace?
Yes. The workspace is the **default cwd** and memory anchor, not a hard sandbox.
@@ -315,6 +319,31 @@ This runs your login shell and imports only missing expected keys (never overrid
Send `/new` or `/reset` as a standalone message. See [Session management](/concepts/session).
### How do I completely reset Clawdbot (but keep it installed)?
Use the reset command:
```bash
clawdbot reset
```
Non-interactive full reset:
```bash
clawdbot reset --scope full --yes --non-interactive
```
Then re-run onboarding:
```bash
clawdbot onboard --install-daemon
```
Notes:
- The onboarding wizard also offers **Reset** if it sees an existing config. See [Wizard](/start/wizard).
- If you used profiles (`--profile` / `CLAWDBOT_PROFILE`), reset each state dir (defaults are `~/.clawdbot-<profile>`).
- Dev reset: `clawdbot gateway --dev --reset` (dev-only; wipes dev config + credentials + sessions + workspace).
### Do I need to add a “bot account” to a WhatsApp group?
No. Clawdbot runs on **your own account**, so if youre in the group, Clawdbot can see it.

View File

@@ -47,10 +47,20 @@ Windows: use **WSL2** (Ubuntu recommended). WSL2 is strongly recommended; native
## 1) Install the CLI (recommended)
```bash
npm install -g clawdbot@latest
curl -fsSL https://clawd.bot/install.sh | bash
```
Or:
Windows (PowerShell):
```powershell
iwr -useb https://clawd.bot/install.ps1 | iex
```
Alternative (global install):
```bash
npm install -g clawdbot@latest
```
```bash
pnpm add -g clawdbot@latest