Remove one Workbench component
remove_componentUninstall one OpenCode Workbench component by id from a local or SSH target; previews changes unless confirm is true, and reports absent or manual when not removable.
Instructions
Uninstall one Workbench component by id from a target — the inverse of install_component — for a bounded, documented subset with an automated uninstall (e.g. opencode, pnpm, npm-mcps, skills, docker-containers); component must be an id from describe_workbench. Idempotent: an already-absent component reports absent; a component with no automated uninstall (system packages such as git/curl/node) reports manual. Destructive and consent-gated: without confirm:true it returns a preview and changes nothing, and it deletes only that component's files — never opencode.json or the profile repo. Parameter semantics: workspace sets the profile path some removals need; dryRun reports without changing. Use it to tear down one component; for several, call it per id.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| dryRun | No | Report the action without changing anything. | |
| target | Yes | The machine to operate on: this host (local) or a remote host over SSH (ssh). | |
| confirm | No | Set true to actually remove. When absent, the call returns a preview and makes no changes. | |
| component | Yes | Component id from describe_workbench. | |
| workspace | No | Profile repo directory (used by components whose removal needs it). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Component id acted on. | |
| code | Yes | Exit code of the action. | |
| action | Yes | What happened: removed, updated, already absent, or manual (no automated uninstall). | |
| output | Yes | Captured output (truncated). | |
| target | Yes | Label of the target. | |
| requiresConfirmation | No | True when the call returned a preview without acting; re-call with confirm:true. |