Plugin Uninstall

SkillDatabases & data

Uninstall an EvoNexus plugin, reverting the files it copied and running its uninstall.sql. Use when the user asks to remove, uninstall, or delete a plugin. Triggers on "desinstala plugin X", "remove plugin X", "uninstall plugin X", "tira o plugin Y".

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Plugin Uninstall skill

What this skill tells your AI

The instructions your AI receives, as published by evolution-foundation/evo-nexus in .claude/skills/plugin-uninstall/SKILL.md and read by ahel’s review.

Remove a plugin from the workspace using DELETE /api/plugins/<slug>. Uninstall is reverse-order via .install-manifest.json.

How to use

Step 1 — Resolve the slug

If not given, call list and ask which one:

from dashboard.backend.sdk_client import evo

plugins = evo.get("/api/plugins")

Validate exists:

detail = evo.get(f"/api/plugins/{slug}")

If HTTP 404, say so and stop.

Step 2 — Show what will be removed

Read manifest from detail. Summarise:

  • Files in .claude/agents/plugin-<slug>-*.md, .claude/skills/plugin-<slug>-*/, .claude/commands/plugin-<slug>-*.md, .claude/rules/plugin-<slug>-*.md
  • Heartbeats registered by the plugin (disappear from /heartbeats)
  • Routines (scheduler SIGHUP reload on removal)
  • Claude hook handlers under plugins/<slug>/claude-hook-handlers/
  • Contents of migrations/uninstall.sql — full text
  • Contents of hooks/pre-uninstall.sh and hooks/post-uninstall.sh — full text

Important: user data created inside plugin-managed tables is usually DROPped by uninstall SQL. Tell the user explicitly and ask if they want to export first.

Step 3 — Require explicit confirmation

Accept only clear affirmatives. If user hesitates, offer:

  • Export first via GET /api/plugins/<slug>/readonly-data/<query> if declared
  • Disable instead of remove: evo.patch(f"/api/plugins/{slug}", {"enabled": False}) — reversible, keeps data

Step 4 — Run uninstall

evo.delete(f"/api/plugins/{slug}")

Step 5 — Report

On success, summarise: files removed, tables dropped, hooks cleared. Point to /plugins for confirmation.

Error handling

  • HTTP 404 not_found — slug doesn't exist. Reprompt.
  • HTTP 409 uninstall_failed — reverse-order chain failed. Surface specific step. Offer manual recovery (delete plugins/<slug>/ after fixing, then retry).
  • HTTP 500 sql_rollback_failed — rare. DB may be inconsistent. Check ADWs/logs/plugins/.

Notes for the agent

  • Disable ≠ uninstall. Disable keeps data and is reversible.
  • If plugin has routines, scheduler reloads automatically. If offline, user must restart.

Signals

GitHub stars
533
Forks
177
Last commit
May 2026
Advanced
Catalog kind
skill
Gateway key
plugin-uninstall
Source
github.com/evolution-foundation/evo-nexus