Extensions

Installed plugins.

9 actions. Each is callable by the agent as a tool, over HTTP via /api/invoke, and (usually) from a UI page.

extensions.list_catalog

GET

List third-party extensions available to install from the bundled catalog.

  • AI tool: extensions_list_catalog
  • API: GET /api/invoke/extensions.list_catalog

Input

No parameters.

JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}

extensions.list_marketplace

GET

Browse the hosted extension marketplace (bundled + curated remote entries).

  • AI tool: extensions_list_marketplace
  • API: GET /api/invoke/extensions.list_marketplace

Input

Field Type Required Description
q string
featuredOnly boolean
JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "q": {
      "type": "string"
    },
    "featuredOnly": {
      "type": "boolean"
    }
  }
}

extensions.list_installed

GET

List the extensions installed in this workspace.

  • AI tool: extensions_list_installed
  • API: GET /api/invoke/extensions.list_installed

Input

No parameters.

JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}

extensions.list_ui

GET

List the sidebar nav items contributed by enabled extensions with a UI (powers the dynamic Extensions nav group).

  • AI tool: extensions_list_ui
  • API: GET /api/invoke/extensions.list_ui

Input

No parameters.

JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}

extensions.get

GET

Get one installed extension with the skills + MCP tools it contributes and the status of each declared secret.

  • AI tool: extensions_get
  • API: GET /api/invoke/extensions.get

Input

Field Type Required Description
id string yes
JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "id"
  ]
}

extensions.install

POST · mutating · roles: owner, admin

Install an extension from the catalog, a git / ClawHub repo (owner/repo@ref), a URL, or a local package. Creates its skills and registers its MCP tools.

When the agent calls it: Use when the user wants to add a new capability/integration by name, e.g. "install the Vercel extension".

  • AI tool: extensions_install
  • API: POST /api/invoke/extensions.install

Input

Field Type Required Description
source "catalog" | "git" | "clawhub" | "local" | "url"
ref string yes
grantPermissions string[]
JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "source": {
      "default": "catalog",
      "type": "string",
      "enum": [
        "catalog",
        "git",
        "clawhub",
        "local",
        "url"
      ]
    },
    "ref": {
      "type": "string"
    },
    "grantPermissions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "ref"
  ]
}

extensions.uninstall

POST · mutating

Uninstall an extension and remove the skills it contributed.

  • AI tool: extensions_uninstall
  • API: POST /api/invoke/extensions.uninstall

Input

Field Type Required Description
id string yes
JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "id"
  ]
}

extensions.set_secret

POST · mutating

Set a credential an extension needs. Pass a raw value (stored encrypted in the vault) or point at an existing vault secret / env var.

  • AI tool: extensions_set_secret
  • API: POST /api/invoke/extensions.set_secret

Input

Field Type Required Description
id string yes
key string yes
value string
source "env" | "vault"
vaultSecretId string
field string
envVar string
JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    },
    "key": {
      "type": "string"
    },
    "value": {
      "type": "string"
    },
    "source": {
      "type": "string",
      "enum": [
        "env",
        "vault"
      ]
    },
    "vaultSecretId": {
      "type": "string",
      "minLength": 1
    },
    "field": {
      "type": "string"
    },
    "envVar": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "key"
  ]
}

extensions.set_enabled

POST · mutating

Enable or disable an installed extension (disabled = its MCP tools and skills are not loaded).

  • AI tool: extensions_set_enabled
  • API: POST /api/invoke/extensions.set_enabled

Input

Field Type Required Description
id string yes
enabled boolean yes
JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    },
    "enabled": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "enabled"
  ]
}