Skip to content

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.

GET/workspaces/{workspace}/customize/plugins

Members 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: customize with action list_plugins, and the same inputs
  • Scope: An access token needs workspace:read.
Name Type Required Description
workspace string Yes The workspace’s slug.
curl https://api.g1t.sh/workspaces/flagon-io/customize/plugins \
-H "Authorization: Bearer $G1T_TOKEN"

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"
}
}
]

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.