---
title: "Register Plugin"
method: POST
path: "/claude-code/plugins"
tags: ["claude_code_marketplace"]
---

# Register Plugin

`POST /claude-code/plugins`

Register a new plugin in the LiteLLM marketplace.

LiteLLM acts as a registry/discovery layer. Plugins are hosted on
GitHub/GitLab/Bitbucket. Claude Code will clone from the git source
when users install.

This endpoint is create-only and never overwrites. If a plugin with
the same name already exists it returns 409 Conflict; use
PUT /claude-code/plugins/{plugin_name} to update an existing plugin.

Requires a proxy admin API key.

Parameters:
    - name: Plugin name (kebab-case)
    - source: Git source reference (github, url, or git-subdir format)
    - version: Semantic version (optional)
    - description: Plugin description (optional)
    - author: Author information (optional)
    - homepage: Plugin homepage URL (optional)
    - keywords: Search keywords (optional)
    - category: Plugin category (optional)

Returns:
    Registration status (action is always "created") and plugin information.

Example:
    ```bash
    curl -X POST http://localhost:4000/claude-code/plugins \
      -H "Authorization: Bearer sk-..." \
      -H "Content-Type: application/json" \
      -d '{
        "name": "my-plugin",
        "source": {"source": "github", "repo": "org/my-plugin"},
        "version": "1.0.0",
        "description": "My awesome plugin"
      }'
    ```

## Request body

- RegisterPluginRequest — Request body for registering a plugin in the marketplace. LiteLLM acts as a registry/discovery layer. Plugins are hosted on GitHub/GitLab/Bitbucket and referenced by their git source.
  - `author` PluginAuthor — Plugin author information.
    - `email` string, nullable — Author email
    - `name` string, required — Author name
  - `category` string, nullable — Plugin category
  - `description` string, nullable — Plugin description
  - `domain` string, nullable — Skill domain (e.g., 'Productivity')
  - `homepage` string, nullable — Plugin homepage URL
  - `keywords` string[], nullable — Search keywords
  - `name` string, required — Plugin name (kebab-case, e.g., 'my-plugin')
  - `namespace` string, nullable — Skill namespace within domain (e.g., 'workflows')
  - `source` object, required — Git source reference. Supported formats: - GitHub: {'source': 'github', 'repo': 'org/repo'} - Git URL: {'source': 'url', 'url': 'https://github.com/org/repo.git'} - Git Subdir: {'source': 'git-subdir', 'url': 'https://github.com/org/repo.git', 'path': 'plugins/plugin-name'}
  - `version` string, nullable — Semantic version

## Response `200`

Successful Response

- RegisterPluginResponse — Response from plugin registration.
  - `action` string, required — Action taken (created/updated)
  - `plugin` PluginResponse, required — Plugin information in API responses.
    - `description` string, nullable — Plugin description
    - `enabled` boolean, required — Whether plugin is enabled
    - `id` string, required — Plugin unique ID
    - `name` string, required — Plugin name
    - `source` object, required — Git source reference
    - `version` string, nullable — Plugin version
  - `status` string, required — Operation status

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-19** `c357baf422ab` — 2 info
  - api tag `claude_code_marketplace` added
  - api tag `Claude Code Marketplace` removed
- **2026-09-18** `082b5fabd909` — 1 breaking, 7 info
  - the response's body type changed from no type to `object` for status `200`
  - api tag `Claude Code Marketplace` added
  - api tag `claude_code_marketplace` removed
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - …4 more
- **2026-09-16** `7afc3544d64d` — 1 info
  - endpoint added
- **2026-09-15** `b408bdb637df` — 1 breaking
  - api path removed without deprecation
- **2026-09-12** `0915d6a9ba99` — 1 info
  - endpoint added

[Full history](https://skmtc.dev/flock/apis/litellm-api/changes/claude-code/plugins/post.md)

---

[API](https://skmtc.dev/flock/apis/litellm-api.md) · [All operations](https://skmtc.dev/flock/apis/litellm-api/llms.txt) · [OpenAPI document](https://skmtc.dev/flock/apis/litellm-api/revisions/731afbea6a1b?raw)
