Skip to content
Development
Skill

/pith-uninstall

Uninstall Pith from Claude Code. Removes hooks, slash commands, and cleans pith entries from settings.json. Preserves ~/.pith/state.json (token history) unless user explicitly asks to wipe all data.

From plugin
pith
9812 skills4 commands4 hooks
Install
$ npx -y skills add abhisekjha/pith --skill pith-uninstall --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/pith-uninstall

Context preview

The summary Claude sees to decide when to auto-load this skill.

Uninstall Pith from Claude Code. Removes hooks, slash commands, and cleans pith entries from settings.json. Preserves ~/.pith/state.json (token history) unless user explicitly asks to wipe all data.

SKILL.md

pith-uninstall.SKILL.md
name: pith-uninstall
description: >
  Uninstall Pith from Claude Code. Removes hooks, slash commands, and
  cleans pith entries from settings.json. Preserves ~/.pith/state.json
  (token history) unless user explicitly asks to wipe all data.

When to use

  • User runs `/pith uninstall`
  • User asks "remove pith", "uninstall pith", or "clean up pith"

---

Steps

1 — Confirm intent

Before running, ask once:

This will remove:
  • ~/.claude/hooks/pith/   (all hook scripts)
  • ~/.claude/commands/pith.md, budget.md, focus.md
  • pith entries in ~/.claude/settings.json

Your project wikis (wiki/) and token history (~/.pith/) are NOT deleted.

Proceed? (yes / no)

If user says no, stop. If yes, continue.

2 — Run the uninstall script

Locate the pith directory (same logic as pith-install step 1), then:

bash "<pith_dir>/uninstall.sh"

Stream the output so user sees each item removed.

3 — Verify clean

# Hooks gone
ls ~/.claude/hooks/pith/ 2>/dev/null && echo "STILL EXISTS" || echo "removed ok"

# Slash commands gone
ls ~/.claude/commands/ | grep -E "pith|budget|focus" 2>/dev/null && echo "STILL EXISTS" || echo "removed ok"

# Settings clean
node -e "const s=require(require('os').homedir()+'/.claude/settings.json'); const h=JSON.stringify(s.hooks||''); console.log(h.includes('pith')?'pith still in hooks':'hooks clean'); console.log(s.statusLine?'statusLine still set':'statusLine clean')"

4 — Optionally wipe all data

If the user said "remove everything" or "wipe all data", also run:

rm -rf ~/.pith
rm -f ~/.config/pith/config.json

Warn first: "This deletes your lifetime token savings history. Are you sure?"

5 — Confirm to user

Pith uninstalled.

Removed:
  ✓ hooks (session-start, post-tool-use, prompt-submit, stop)
  ✓ slash commands (/pith, /budget, /focus)
  ✓ settings.json entries

Preserved:
  • wiki/ directories in your projects
  • ~/.pith/state.json  (token history)

To reinstall: /pith install

---

Error handling

| Error | Fix | |-------|-----| | `uninstall.sh` not found | Run the node cleanup inline: remove `~/.claude/hooks/pith`, delete command files, patch settings manually | | `settings.json` malformed | Show the file, offer to remove pith keys manually | | Hook files already missing | Skip silently, still clean settings.json |

One-shot. Does not persist.

Read more
Ships withpith

Status: stable — not actively adding features. Bug fixes welcome via issues. Token compression hooks for Claude Code. Install once, works in every session, zero config.

Get the whole plugin
Stats
98
Stars
11
Forks
Maintained
Maintenance
Python
Language
MIT
License
4mo ago
Last commit
5mo ago
Created

Repo: abhisekjha/pith

Other skills on pith.