Fully remove the arthai toolkit (and, optionally, Arth Intelligence) and get back
to a clean Claude Code with no hook errors. Works for the plugin install path
(@arthai). Steps run in Claude Code, then your terminal.
Run for each bundle you installed (prime, or forge/scalpel/sentinel/…):
/plugin uninstall prime@arthai # repeat per bundle
/plugin marketplace remove arthai
This removes the skills, agents, and hooks that live inside the plugin directory.
This is the step that prevents hook errors. It drops the plugin’s hooks from
the running session. Don’t just /clear — quit the app/CLI completely, do Step 3
while it’s closed, then reopen.
Plugin uninstall does not touch your project’s CLAUDE.md, the toolkit’s
per-project state files, or global config. Run from your project root
(macOS: use sed -i '' instead of sed -i):
# Global: plugin cache
rm -rf ~/.claude/plugins/cache/*arthai*
# Keep your Arth license (~/.arthai/license) so you don't need a new key to return.
# Remove only the observability config from ~/.arthai (license stays):
rm -f ~/.arthai/docker-compose.yml ~/.arthai/docker-compose.override.yml
rm -f ~/.arthai/.env ~/.arthai/otel-configured
# Per project: remove the managed blocks the toolkit injected
sed -i '/>>> claude-agents toolkit/,/<<< claude-agents toolkit/d' CLAUDE.md
sed -i '/>>> claude-agents managed/,/<<< claude-agents managed/d' .gitignore
# Per project: remove toolkit STATE files (config/routing/workflow caches) —
# NOT your generated content (preserved below)
rm -f .claude/.claude-agents.conf .claude/registry.json .claude/.triage-full-emitted \
.claude/verification-pending .claude/.workflow-state.json .claude/.autopilot-state.json \
.claude/.skill-usage.json .claude/.project-state-cache.json .claude/.toolkit-setup-done \
.claude/.toolkit-last-seen-sha .claude/.cc-version .claude/.license-validated \
.claude/.precheck-passed .claude/.escalation-state.json .claude/.fix-scope-lock.json \
.claude/.context-block.cache .claude/.arth-otel.env
rm -rf .claude/.goals
If .claude/settings.json still references toolkit hooks afterward (only if the
dev/symlink installer was ever used), delete the hooks entries whose command path
contains claude-agents, arthai, or .claude/hooks/, then restart.
The steps above keep your license at ~/.arthai/license so you can reinstall later
without requesting a new key. Only remove it if you’re done with arthai for good (you’d
need a new key to come back):
rm -rf ~/.arthai # ⚠ also deletes your license key
Stop the local Docker stack (your trace data is in the arthai_data volume —
plain down keeps it; down -v erases it):
docker compose -f ~/.arthai/docker-compose.yml down # stop containers, keep data
# docker compose -f ~/.arthai/docker-compose.yml down -v # ⚠ also erases all trace data
Network arthai_default — Resource is still in use? Harmless. The arthai containers are removed; the network just isn’t deleted because another of your containers is still attached to it./otel-setupreuses the same network on the next start — nothing to fix. (Don’t force-disconnect your own containers from it.)
Then turn off the toolkit’s telemetry env. By default /otel-setup wrote the six
OTEL_* / CLAUDE_CODE_ENABLE_TELEMETRY keys to your global ~/.claude/settings.json
(or a repo’s .claude/settings.local.json if you chose project scope). For a complete removal,
delete just those six keys — the Arth Intelligence guide
lists them and shows how to remove only those (your other settings stay). Prefer not to edit
a settings file at all? export OTEL_DISABLED=true turns telemetry off without changing anything.
Either way, also clear the cached endpoint file:
rm -f .claude/.arth-otel.env
Upgrading, not leaving? You don’t need to remove the env block at all — keep it, reinstall, and run
/otel-setup→ Reconfigure → Local. It refreshes the six keys itself (merging without overwriting your other settings), pulls the latest image, and recreates the stack — a full OTEL install with nothing hand-edited. Your trace history is untouched either way (it lives in thearthai_datavolume).
If you enabled the AI features — the Explain provider key/host (incl. a local
OLLAMA_HOST / LMSTUDIO_HOST), set via /otel-setup or /cloud-setup, and any
orchestrator secrets/flags — they live in ~/.arthai/.env +
~/.arthai/docker-compose.override.yml, both already removed by rm -rf ~/.arthai in
Step 3. The Cloud
Orchestrator also launches disposable sandbox containers and
pulls a sandbox image — neither is managed by the compose file above, so down
doesn’t remove them. Clean up any leftovers:
# Remove any orphaned/stuck per-run sandbox containers
docker ps -aq --filter "name=arth-cloud-" | xargs -r docker rm -f
# Optional: drop the sandbox image too
docker rmi arthai/cloud-sandbox:latest 2>/dev/null || true
(Findings data lives in the arthai_data volume, so down -v above already erases
it — no separate step needed.)
/help → toolkit slash commands (/pr, /qa, /onboard, /skills…) are gone
/plugin → arthai is no longer listed
No hook errors on startup means it’s clean — because you quit fully in Step 2, Claude Code rebuilds the hook set from scratch with no toolkit entries.
Uninstall never deletes content the toolkit generated for you — it’s yours:
.claude/knowledge/, .claude/plans/, .claude/specs/, .claude/qa-knowledge/,
.claude/wikis/, .claude/project-profile.md. To remove that too:
rm -rf .claude/knowledge .claude/plans .claude/specs .claude/qa-knowledge \
.claude/wikis .claude/project-profile.md
To come back later: Getting Started — /plugin marketplace add
ArthTech-AI/arthai-marketplace then /plugin install prime@arthai.
For a clean upgrade (full reinstall): you don’t have to edit any settings file. Uninstall the
plugins (Steps 1–2), stop the stack with docker compose down (Step 4 — run it before rm -rf ~/.arthai,
since deleting the folder first removes the compose file you need), reinstall, then run /otel-setup
→ Reconfigure → Local for a full, idempotent OTEL install. Everything except the per-project
.claude/ cleanup is machine-wide — plugins, the license, the Docker stack, and the global OTEL
env apply to every repo, so you reinstall once; only the .claude/ cleanup and /calibrate are
per project.