Switch a plugin on or off
Switch an installed plugin on or off by ref: enabled false keeps it installed but takes its skills, agents and connectors away from agents and leaves it out of runners' bundles; true brings them back.
PATCH
/workspaces/{workspace}/customize/plugins/{ref}Owners only. Recorded in the audit log.
A switched-off plugin stays installed and keeps its pinned commit, but agents lose its skills, templates and connectors until it is switched on again, and runners’ bundles leave it out.
- Authentication: Required. Send an access token as
Authorization: Bearer. - MCP tool:
customizewithactionset_plugin_enabled, and the same inputs - Scope: An access token needs
workspace:admin.
Path parameters
Section titled “Path parameters”| Name | Type | Required | Description |
|---|---|---|---|
workspace |
string | Yes | The workspace’s slug. |
ref |
string | Yes | The plugin as name@marketplace, such as commit-commands@claude-plugins-official. |
Body parameters
Section titled “Body parameters”Send a JSON object. Names are snake_case, as in responses; the camelCase spelling is accepted too.
| Name | Type | Required | Description |
|---|---|---|---|
enabled |
boolean | Yes | True to switch it on, false to switch it off. |
Example request
Section titled “Example request”curl -X PATCH https://api.g1t.sh/workspaces/flagon-io/customize/plugins/release-notes%2540flagon-tools \ -H "Authorization: Bearer $G1T_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "enabled": false }'Example response
Section titled “Example response”A successful request answers 200 with:
{ "id": "plg_01kq9g3j5l7n9q1s3u5w7y9a1c", "ref": "release-notes@flagon-tools", "name": "release-notes", "marketplace": "flagon-tools", "display_name": "Release notes", "description": "Writes release notes from merged pull requests.", "version": "0.3.1", "sha": "4f6a8e1b3d5f7a9c1e3b5d7f90a1c3e5b7d9f1a3", "fetch": { "kind": "g1t", "repo": "flagon-io/plugins", "ref": null, "path": "plugins/release-notes" }, "components": { "skills": [ { "name": "release-notes", "description": "Write release notes from the pull requests merged since the last tag.", "path": "skills/release-notes/SKILL.md" } ], "agents": [], "commands": [], "mcp_servers": [], "hooks": false, "lsp": false, "bin": false, "output_styles": false }, "problems": [], "enabled": false, "installed_by": "syntaqx", "installed_at": "2026-10-11T14:20:31.904Z", "update": null}Errors
Section titled “Errors”A failed request answers with one of these statuses and a body like {"error": {"code": "not_found", "message": "Repository not found."}}. See errors.
| Status | Code | When |
|---|---|---|
| 401 | unauthenticated |
A token is required, or the one sent is not valid. |
| 403 | forbidden |
The token is valid but not allowed to do this, such as a member-only change or an agent token outside its repository. |
| 404 | not_found |
It does not exist, or you cannot see it. |
| 409 | conflict |
The request conflicts with the current state. |
| 422 | invalid |
The input is not valid. message says which field and why. |