List installed plugins
The plugins a workspace installed, switched off ones included: each with its ref (name@marketplace), name, marketplace, display_name, description, version, the commit it was read at (sha), how it is fetched (fetch), what it brought (components: skills, agents, commands, mcp_servers, and whether it carries hooks, lsp, bin or output_styles, which only Claude Code on a runner uses), problems met when installing, enabled, who installed it and when, and update when the marketplace lists a newer version.
/workspaces/{workspace}/customize/pluginsMembers only.
sha is the commit the plugin was read at, which it stays pinned to; update is set when the marketplace now lists a newer version. components is what installing extracted: skills and commands joined the library as plugin:name, agents are templates to hire from, mcp_servers with remote true became connectors (stdio ones are for Claude Code only), and hooks, lsp, bin and output_styles say what only Claude Code on a runner uses.
- Authentication: Required. Send an access token as
Authorization: Bearer. - MCP tool:
customizewithactionlist_plugins, and the same inputs - Scope: An access token needs
workspace:read.
Path parameters
Section titled “Path parameters”| Name | Type | Required | Description |
|---|---|---|---|
workspace |
string | Yes | The workspace’s slug. |
Example request
Section titled “Example request”curl https://api.g1t.sh/workspaces/flagon-io/customize/plugins \ -H "Authorization: Bearer $G1T_TOKEN"Example response
Section titled “Example response”A successful request answers 200 with:
[ { "id": "plg_01kq9f2h4k6m8p0r2t4v6x8z0b", "ref": "commit-commands@claude-plugins-official", "name": "commit-commands", "marketplace": "claude-plugins-official", "display_name": "Commit commands", "description": "Commands for committing, pushing and opening pull requests.", "version": "1.0.0", "sha": "9c1f4a6e8b0d2c4f6a8e1b3d5f7a9c1e3b5d7f90", "fetch": { "kind": "github", "repo": "anthropics/claude-plugins-official", "ref": null, "sha": "9c1f4a6e8b0d2c4f6a8e1b3d5f7a9c1e3b5d7f90", "path": "plugins/commit-commands" }, "components": { "skills": [], "agents": [], "commands": [ { "name": "commit", "path": "commands/commit.md" }, { "name": "commit-push-pr", "path": "commands/commit-push-pr.md" } ], "mcp_servers": [], "hooks": false, "lsp": false, "bin": false, "output_styles": false }, "problems": [], "enabled": true, "installed_by": "syntaqx", "installed_at": "2026-10-10T09:14:52.207Z", "update": { "version": "1.1.0", "sha": "e3b5d7f90a1c3e5b7d9f1a3c5e7b9d1f3a5c7e9b" } }]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. |
| 422 | invalid |
The input is not valid. message says which field and why. |