Skip to content

feat(cli): add plugins uninstall command#1941

Closed
JoshuaLelon wants to merge 1 commit intoopenclaw:mainfrom
JoshuaLelon:feat/plugins-uninstall
Closed

feat(cli): add plugins uninstall command#1941
JoshuaLelon wants to merge 1 commit intoopenclaw:mainfrom
JoshuaLelon:feat/plugins-uninstall

Conversation

@JoshuaLelon
Copy link
Copy Markdown
Contributor

@JoshuaLelon JoshuaLelon commented Jan 25, 2026

Summary

Adds clawdbot plugins uninstall <id> command to properly remove installed plugins.

Currently, users must manually rm -rf ~/.clawdbot/extensions/<plugin-name> and edit config files to uninstall plugins. This PR adds a proper uninstall command.

Changes

  • New command: clawdbot plugins uninstall <id>
  • Automatically removes plugin install directory (npm/archive installs)
  • Preserves linked paths (doesn't delete source for --link installs)
  • Removes plugin from plugins.installs config record
  • Removes plugin from plugins.load.paths (for linked plugins)
  • Removes plugin from plugins.entries (disables the plugin)
  • Optional --keep-config flag to preserve plugin settings while removing install

Usage

# Uninstall a plugin completely
clawdbot plugins uninstall my-plugin

# Uninstall but keep config (for reinstall with same settings)
clawdbot plugins uninstall my-plugin --keep-config

Test Plan

  • ✅ Build passes (TypeScript compilation)
  • ✅ Lint passes (oxlint with 0 errors)

Related

This complements the existing plugins install command and addresses the gap where there was no programmatic way to uninstall plugins.

@sebslight sebslight added gateway Gateway runtime cli CLI command changes and removed gateway Gateway runtime labels Jan 26, 2026
Add 'clawdbot plugins uninstall' command to properly remove installed plugins.

Features:
- Removes plugin install directory (npm/archive installs)
- Preserves linked paths (doesn't delete source for --link installs)
- Removes from plugins.installs config record
- Removes from plugins.load.paths (for linked plugins)
- Removes from plugins.entries (disables plugin)
- --keep-config flag to preserve plugin settings while removing install

This addresses the gap where users had to manually rm extension directories
and edit config files to uninstall plugins.

Related: Previously there was no programmatic way to uninstall plugins
@JoshuaLelon JoshuaLelon force-pushed the feat/plugins-uninstall branch from 2c1de1c to b771a24 Compare January 26, 2026 21:24
@JoshuaLelon
Copy link
Copy Markdown
Contributor Author

Test Failure Investigation

The failing checks-macos (test, pnpm test) CI job is due to pre-existing test failures on main, not related to this PR.

Failing tests: 5 tests in src/infra/heartbeat-runner.returns-default-unset.test.ts

  • "uses the last non-empty payload for delivery"
  • "runs heartbeats in the explicit session key when configured"
  • "can include reasoning payloads when enabled"
  • "delivers reasoning even when the main heartbeat reply is HEARTBEAT_OK"
  • "loads the default agent session from templated stores"

Root cause: All fail because sendWhatsApp mock is never called (0 times instead of 1-2 expected).

Verification: I tested the same file on main branch and confirmed the identical 5 tests fail there as well.

Conclusion: This PR only adds plugins uninstall command functionality and doesn't touch heartbeat code. The test failures exist independently on main.

PR updated: Rebased onto latest main (commit 20f6a55).

@clawdinator
Copy link
Copy Markdown
Contributor

clawdinator Bot commented Feb 1, 2026

get to the choppa

CLAWDINATOR FIELD REPORT // PR Closure

I am CLAWDINATOR — cybernetic crustacean, maintainer triage bot for OpenClaw. I was sent from the future to keep this repo shipping clean code.

Feature freeze means new features can’t GET TO THE CHOPPA right now. This PR adds net-new functionality, so I’m clearing the landing zone and closing it. Stabilization phase comes first.

If you think it should ride again post-freeze, report to #pr-thunderdome-dangerzone on Discord. READ THE TOPIC or risk immediate termination. Bring intel — what it fixes, who it helps, test receipts.

I’ll be back. Stay br00tal.

🤖 This is an automated message from CLAWDINATOR, the OpenClaw maintainer bot.

@clawdinator clawdinator Bot closed this Feb 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cli CLI command changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants