Skip to main content
Você executa comandos de plugin como claude plugin do seu shell ou script, ou como /plugin e /reload-plugins dentro de uma sessão Claude Code. Esta referência fornece as flags, padrões, saída e códigos de saída de cada comando, junto com as duas flags que carregam um plugin para uma sessão. As tabelas abaixo listam as opções comumente usadas de cada subcomando, não todas as opções. Execute claude plugin --help no seu shell para ver quais subcomandos sua versão possui, e claude plugin <subcommand> --help para a lista completa de opções de um subcomando.
Estes casos são cobertos em outras páginas:

Comandos claude plugin

Execute claude plugin <subcommand> do seu shell ou script, fora de uma sessão Claude Code. Estes subcomandos instalam e gerenciam plugins sem abrir o painel /plugin. claude plugins é um alias para claude plugin. Cada subcomando compartilha estes códigos de saída, argumentos de plugin e valores de escopo:
  • Códigos de saída: 0 em caso de sucesso e 1 em caso de falha. validate adiciona saída 2 para um erro inesperado, e eval adiciona os códigos listados em sua seção.
  • Argumentos de plugin: um argumento <plugin> é um name de plugin ou name@marketplace. Quando dois marketplaces oferecem o mesmo nome, use a forma qualificada. configure aceita apenas a forma qualificada.
  • Escopos: --scope aceita user, project ou local, e nomeia o arquivo de configurações que o comando escreve. update também aceita managed.

plugin init

Crie um novo plugin em ~/.claude/skills/<name>/. Ele carrega em sua próxima sessão como <name>@skills-dir sem etapa de instalação. new é um alias para init. Para o fluxo de trabalho criar, testar e editar que começa com este comando, veja Criar um plugin.
<name> se torna o nome do diretório sob ~/.claude/skills/ e o name do plugin em seu manifesto. O comando não possui flag para outro local. Para criar um scaffold dentro de um projeto, veja Criar um plugin. Criar um plugin com arquivos de skill e hook iniciais:
Claude Code valida o que foi escrito e imprime Created plugin "my-helper" at ~/.claude/skills/my-helper, seguido pelo id que ele carrega como e o comando claude plugin disable que o desativa. Claude Code sai com 1 sem escrever quando não consegue criar um scaffold com segurança, e a mensagem nomeia o motivo. Estes são motivos comuns:
  • Um valor desconhecido em --with
  • Um scaffold existente no destino sem --force
  • Uma configuração gerenciada que bloqueia plugins de diretório de skills

plugin install

Instale um plugin de um dos seus marketplaces. i é um alias para install.
A maioria dos plugins é instalada sem um prompt. Para um plugin cuja entrada de marketplace executa um comando para instalá-lo ou define um headersHelper para seu download, Claude Code primeiro imprime o comando e pergunta Run this command now? [y/N]. Execute claude plugin install --help em seu shell para ver todas as opções que sua versão suporta. Passe -y do seu próprio terminal para aceitar o comando exibido sem o prompt. Aqui está o que acontece sem um TTY e quando Claude executa o comando:
  • stdin ou stdout não é um TTY, e você não passa -y nem --accept-command: a instalação é recusada. A saída diz que o comando foi apenas exibido, e o código de saída é 1
  • Claude executa o comando através de sua ferramenta Bash: -y é ignorado. Execute o comando do seu próprio terminal
Instale um plugin para todos que clonam o projeto:
Claude Code imprime Successfully installed plugin: formatter@my-marketplace (scope: project). Quando nada novo é instalado, a saída diz por quê:
  • Já instalado nesse escopo: a saída é Plugin "formatter@my-marketplace" is already installed (scope: project) e o código de saída é 0
  • Você recusa um prompt de origem de comando: a saída é Aborted. e o código de saída é 1
  • Você recusa um prompt headersHelper, ou não pode ser confirmado sem um TTY: a saída é Aborted — the command was not run. e o código de saída é 1

Formato de resultado JSON

Quando você passa --json para plugin install, a última linha de stdout é um objeto JSON. Analise apenas essa linha, porque Claude Code imprime qualquer comando que o marketplace declara antes dela. Três campos estão sempre presentes:
  • command: o subcomando que foi executado, como install
  • outcome: ok ou failed
  • message: uma descrição legível por humanos do resultado
Outros campos, como pluginId, scope e failureCode, aparecem apenas quando se aplicam. A opção --json em plugin uninstall, plugin update, plugin enable e plugin disable imprime o mesmo objeto com os próprios campos desse subcomando. Um erro de uso, como um --scope inválido, não imprime nenhuma linha de resultado e sai com 1 com o motivo em stderr.

Resultado JSON para comandos de marketplace

Em plugin marketplace add, plugin marketplace remove e plugin marketplace update, --json imprime um objeto JSON na última linha de stdout com os campos command, outcome e message. O seguinte é o resultado de claude plugin marketplace remove your-marketplace --json:
O valor de command é marketplace-add, marketplace-remove ou marketplace-update. Os campos abaixo aparecem apenas quando se aplicam:
  • marketplace: o nome do marketplace sobre o qual o comando atuou
  • failureCode: um código para o motivo pelo qual o comando falhou, como invalid_source
plugin marketplace add e plugin marketplace remove podem não imprimir nenhuma linha de resultado quando o argumento é o nome reservado anthropic-plugin-directory, então verifique o código de saída para esse nome.

Aceitar um comando de instalação exibido

Quando uma execução --json exibe um comando declarado pelo marketplace e não o executa, o resultado failed também carrega um objeto shownCommand. Seus campos incluem o comando conforme exibido, o plugin ao qual pertence e o sha256 do comando. Para aceitar exatamente esse comando, execute novamente com esse sha256 como --accept-command do seu próprio terminal, porque a flag não tem efeito dentro de uma sessão Claude Code. Requer Claude Code v2.1.271 ou posterior. O sha256 conta como aceitação para exatamente esse comando, plugin e catálogo de marketplace. Se qualquer um deles mudou desde que o comando foi exibido, Claude Code não aceita o sha256 e mostra o comando novamente. Uma mudança que a atualização do marketplace da própria execução busca também conta como tal mudança. Se shownCommand.acceptCommandMatched for false, o sha256 que você passou não corresponde ao comando agora exibido. Revise esse comando antes de executar novamente com seu sha256.

plugin uninstall

Remova um plugin instalado de um escopo. remove e rm são aliases para uninstall.
Desinstale um plugin do escopo do projeto:
Claude Code imprime Successfully uninstalled plugin: formatter (scope: project). Quando o plugin não está instalado nesse escopo, o comando imprime uma linha que começa com Failed to uninstall plugin "formatter@my-marketplace": e sai com 1. Se a linha de falha continuar com "formatter" was not uninstalled: e nomear um arquivo de configurações, Claude Code não conseguiu confirmar que as configurações do escopo não ativam mais o plugin, então o plugin permanece instalado com tudo que salvou. Com --json, o resultado carrega failureCode: "settings_still_on". Esta verificação de configurações requer Claude Code v2.1.282 ou posterior.

O que uma desinstalação deleta e mantém

Quando você desinstala um plugin do último escopo em que está instalado, Claude Code também deleta as opções e segredos armazenados do plugin e seu diretório de dados, ~/.claude/plugins/data/<id>/. Há três exceções:
  • Com --keep-data, o diretório de dados permanece
  • Quando outro plugin instalado usa a mesma pasta, como um cujo ID difere deste apenas em maiúsculas/minúsculas, o diretório de dados permanece
  • Quando Claude Code não consegue ler a lista de plugins instalados novamente após removê-lo desse escopo, as opções, segredos e diretório de dados todos permanecem, porque o plugin pode ainda estar instalado em outro escopo. A desinstalação ainda é bem-sucedida. A mensagem lista o que permaneceu e como deletá-lo, e com --json o resultado carrega savedKept: "install_records_unreadable"
Com --json, keptData relata se o diretório permaneceu, e /plugin mostra · data preserved quando fez. Para um diretório que permanece sem --keep-data, este relatório requer Claude Code v2.1.281 ou posterior. O campo savedKept requer Claude Code v2.1.282 ou posterior.

plugin enable

Ative um plugin desativado. Para um plugin sincronizado de claude.ai, passe <name>@synced como o plugin.
Sem --scope, o comando verifica seus arquivos de configurações na ordem local, projeto, usuário, e usa o primeiro escopo que menciona o plugin. Se você passar um --scope onde o plugin não está declarado, o comando escreve uma substituição ou falha:
  • Um escopo que tem precedência sobre o que o declara: Claude Code escreve uma substituição no escopo que você passou. Por exemplo, claude plugin disable formatter --scope local desativa um plugin ativado no projeto apenas para você
  • Qualquer outro escopo: o comando falha com Plugin "formatter" is installed at project scope, not user. Use --scope project or omit --scope to auto-detect.
Se o plugin já está ativado no escopo resolvido, o comando imprime Plugin "formatter" is already enabled e sai com 1. Com --json, o resultado tem "failureCode": "already_in_goal_state" e "alreadyInGoalState": true, então um script pode tratar esse caso como sucesso. Quando o plugin declara dependências, Claude Code as ativa também. O comando falha nestes casos:
  • Uma dependência não está instalada: a ativação falha e imprime o comando claude plugin install para cada dependência ausente
  • Uma dependência é bloqueada pela política de plugin da sua organização: a ativação falha e nomeia a dependência bloqueada
  • Uma dependência é definida como false em um escopo com precedência maior que o escopo de destino: a ativação falha. Ative a dependência nesse escopo, ou passe --scope para escrever lá
Reative um plugin onde quer que seja declarado:
Claude Code imprime Successfully enabled plugin: formatter (scope: project), nomeando o escopo que detectou.

plugin disable

Desative um plugin sem desinstalá-lo. Para um plugin sincronizado de claude.ai, passe <name>@synced como o plugin.
Sem --scope, o escopo é auto-detectado na mesma ordem local, projeto, usuário que plugin enable. Se você não passar nem um nome de plugin nem --all, Claude Code imprime Please specify a plugin name or use --all to disable all plugins e sai com 1. Desativar um plugin que já está desativado imprime Plugin "formatter" is already disabled e sai com 1, como plugin enable faz para um plugin já ativado. O comando falha para um plugin que ainda é necessário:
  • Outro plugin ativado depende dele: o comando falha e nomeia os dependentes para desativar primeiro
  • Sua organização o requer como um plugin sincronizado: o comando falha e não salva nada
Desative um plugin:
Claude Code imprime Successfully disabled plugin: formatter (scope: project).

plugin update

Atualize um plugin para a versão mais recente que seu marketplace oferece. A nova versão carrega em sua próxima sessão, ou depois que você executa /reload-plugins em uma em execução.
Atualize um plugin:
Claude Code imprime Checking for updates for plugin "formatter@my-marketplace"…, depois o resultado. Quando nada é mais recente, imprime formatter is already at the latest version (1.0.0). e sai com 0, a menos que tente novamente a instalação de dependências do plugin e essa instalação falhe.

Qual escopo o comando atualiza

Se você omitir --scope, o comando atualiza o plugin no escopo mais específico em que está instalado para seu projeto atual, verificando local, projeto, usuário, depois gerenciado. Antes de v2.1.281, o comando usava user quando você omitia --scope, então atualizar um plugin instalado apenas em escopo de projeto ou local falhava com Plugin "<name>" is not installed at scope user. Nessas versões, passe --scope. managed é o único escopo que você pode atualizar mas não instalar. Para plugins instalados por admin, veja Gerenciar plugins para sua organização.

Atualizar por nome simples

Você pode passar um nome de plugin simples, que o comando corresponde contra seus plugins instalados. Quando plugins instalados de diferentes marketplaces compartilham o nome, o comando recusa a atualização e lista os comandos plugin-name@marketplace-name qualificados para executar. Atualizar por nome simples requer Claude Code v2.1.246 ou posterior.

Tentar novamente uma instalação de dependências inacabada

Quando o plugin já está em sua versão mais recente, o comando também pode tentar novamente uma instalação de dependências inacabada em sua cópia em cache. Para os casos em que essa nova tentativa é executada ou ignorada, veja Os pacotes que ele lista não estão instalados. Se a nova tentativa falhar, a saída é Failed to update plugin "formatter@my-marketplace" com o motivo e o código de saída é 1. Antes de v2.1.287, o comando relatava o plugin em sua versão mais recente sem tentar novamente a instalação.

plugin list

Liste plugins instalados com sua versão, escopo e status.
Claude Code agrupa a saída legível por humanos por como cada plugin carrega:
  • Installed plugins:: plugins que você instalou de um marketplace
  • Session-only plugins (--plugin-dir / --plugin-url):: plugins carregados por essas flags no mesmo comando, como em claude --plugin-dir ./my-plugin plugin list
  • Skills-directory plugins (.claude/skills/*):: plugins que Claude Code encontrou em um diretório de skills
  • Synced from claude.ai: plugins sincronizados de sua conta claude.ai
Sem nada em nenhum grupo, Claude Code imprime No plugins installed. Use `claude plugin install` to install a plugin.

Saída JSON

Com --json, Claude Code imprime um array com um objeto por instalação. Cada objeto carrega os campos abaixo. id, version, scope, enabled e installPath estão sempre presentes, e os outros aparecem apenas quando se aplicam. Com --json --available, Claude Code imprime um objeto em vez de um array. Seu campo installed contém o array de objetos de plugin instalado, e seu campo available contém um objeto por plugin de marketplace não instalado com os campos abaixo.

plugin details

Mostre o inventário de componentes de um plugin e seu custo de token projetado. O plugin deve estar carregado: instalado, encontrado em um diretório de skills, ou passado com --plugin-dir ou --plugin-url no mesmo comando. O <name> é um name de plugin ou name@marketplace.
O comando não toma flags além de --help. Mostre o que um plugin instalado contribui:
Claude Code imprime o nome, versão, descrição e fonte do plugin, depois estas seções:
  • Component inventory: os skills, agents, hooks, servidores MCP e servidores LSP do plugin
  • Projected token cost: os tokens sempre ativados que o plugin adiciona a cada sessão
  • Per-component (rounded): estimativas sempre ativadas e sob invocação para cada skill, agent e comando. Omitido quando o plugin não tem nenhum
Para o que as duas figuras de custo significam, veja Medir custo e uso de plugin. Para um plugin que não está carregado, Claude Code imprime Plugin "formatter" not found. Run `claude plugin list` to see installed plugins, or pass --plugin-dir <path> to load one from disk. e sai com 1.

plugin configure

Mostre as opções userConfig de um plugin instalado e quais estão definidas, ou salve valores canalizados em stdin. Requer Claude Code v2.1.285 ou posterior.
Sem flags, o comando lista cada opção com até três rótulos: required ou optional, depois sensitive para uma opção que o manifesto declara sensível, depois set ou not set. Não imprime valores salvos. Com --json, a saída inclui os valores salvos de opções que não são sensíveis, e nunca o texto de uma sensível. Para salvar valores, escreva-os em um arquivo como um objeto JSON que mapeia chaves de opção para valores de string, depois passe o arquivo em stdin. Substitua formatter@my-marketplace pelo id do seu próprio plugin conforme claude plugin list o mostra. Este exemplo define uma opção nomeada api_url de um arquivo values.json que contém {"api_url": "https://example.com"}:
Claude Code valida cada valor contra o tipo declarado da opção e imprime Configuration saved. Restart Claude Code to apply it. Se você passar uma chave que o manifesto não declara, ou um valor que falha na validação, o comando não salva nada, imprime Failed to save configuration: com o motivo, e sai com 1. Com --json, um valor recusado também imprime um objeto em stdout cujo campo refused carrega a message e, quando uma opção é culpada, sua chave option. Passe o id completo name@marketplace do plugin, conforme claude plugin list o mostra. configure não aceita um name simples. Quando nenhum plugin carregado tem esse id, o comando imprime No installed plugin has the id "<plugin>". e sai com 1. Para as configurações de um servidor MCP empacotado, veja plugin install --config ou o item Configure em /plugin.

plugin prune

Remova dependências auto-instaladas que nenhum plugin instalado precisa mais. O comando nunca remove um plugin que você instalou você mesmo. autoremove é um alias para prune.
Visualize o que um prune removeria:
Claude Code lista as dependências órfãs e termina com (dry run — nothing removed). Sem nada para remover, imprime uma linha que começa com Nothing to prune. Sem --dry-run, o comando remove as dependências órfãs apenas depois que você confirma no prompt ou passa -y. O código de saída é 0 qualquer que seja sua resposta no prompt. O que prune faz depende se um terminal está anexado e se você passa -y:

plugin eval

Execute casos de eval de um plugin e relate resultados pontuados. Requer Claude Code v2.1.269 ou posterior. Cada caso é um prompt mais avaliadores. Claude Code o executa várias vezes em uma sessão isolada com apenas o plugin de destino carregado, e por padrão também sem o plugin para que o relatório mostre a diferença. Veja Testar plugins com evals para o formato de caso, avaliadores, resultados e uso de CI.
O target opcional padrão é o diretório atual e toma qualquer uma destas formas:
  • Um diretório de plugin
  • Um único arquivo prompt.md ou case.yaml
  • Um plugin instalado como name ou name@marketplace
  • name@skills-dir
Coloque o target antes de --tag, --allow-tools e --json. Cada uma dessas opções toma as palavras que a seguem como seu valor, então um target escrito após uma delas é lido como uma tag, um nome de ferramenta ou o caminho de saída JSON em vez de como o target. Esta tabela lista as opções que a maioria das execuções usa. Execute claude plugin eval --help para o conjunto completo, incluindo --case, --tag, --output-dir, --report, --allow-real-servers, --keep-temp e --verbose. O código de saída relata como a execução terminou. Para agir sobre ele em um pipeline, veja Executar evals em CI.

plugin eval init

Crie um conjunto de eval para o plugin no diretório atual. Requer Claude Code v2.1.269 ou posterior. Veja Criar seu primeiro conjunto de eval.
Execute o comando a partir da pasta raiz do plugin, o diretório que contém .claude-plugin/plugin.json ou o SKILL.md do skill. Para criar o conjunto em outro diretório propositalmente, passe --eval-dir. Em um terminal, o comando abre uma sessão Claude Code interativa para uma entrevista de autoria. Na entrevista, Claude faz o seguinte:
  1. Lê o plugin
  2. Pergunta o que ele deveria fazer bem
  3. Propõe casos e avaliadores
  4. Escreve os arquivos de caso
  5. Executa os casos e revisa as notas com você para verificar que os avaliadores pontuam da forma que você faria
Com --bare, ou sem um terminal, o comando escreve um modelo de caso único em branco. Quando Claude executa o comando de dentro de uma sessão Claude Code, o comando imprime as instruções da entrevista para essa sessão seguir em vez de escrever um modelo. O name opcional é um nome de caso. É necessário com --bare ou sem um terminal, porque o comando escreve o modelo em branco para esse caso. Um nome de caso começa com uma letra ou dígito e contém apenas letras, dígitos, ., _ e -. Em todas as plataformas, o comando também recusa nomes que Windows não consegue armazenar, como con ou um nome terminando em .. O comando aceita estas opções:

plugin tag

Crie uma tag git anotada nomeada <name>--v<version> para uma versão de plugin. Antes de marcar, o comando verifica se o plugin.json do plugin e qualquer entrada de marketplace que o liste concordam sobre a versão. Para quando marcar uma versão, veja Publicar um plugin.
O [path] é o diretório do plugin, padronizando para o diretório atual. O comando encontra a entrada do marketplace caminhando para cima a partir desse diretório para um .claude-plugin/marketplace.json que lista o plugin. Visualize a tag para um plugin em um checkout de marketplace:
Claude Code imprime o plano:
  • O nome do plugin
  • A versão e qual arquivo ela veio
  • A entrada de marketplace correspondente, quando há uma
  • O nome da tag
  • Os comandos git tag e git push que executaria
Sem --dry-run, Claude Code imprime Created tag formatter--v1.0.0 e Pushed to origin ou o comando push para você executar você mesmo. Se o push falhar, a tag ainda é criada localmente e o comando sai com um erro. O comando sai com 1 e imprime o motivo quando não consegue marcar com segurança. Motivos comuns são:
  • Sem version em plugin.json ou na entrada do marketplace
  • A tag já existe
  • A árvore de trabalho está suja

plugin test

Execute os testes de um mod, um plugin cujo código registra manipuladores de eventos. O comando não precisa de sessão, login ou rede. Para saber como escrever um teste, veja Testar um mod.
O [directory] é o diretório do mod, padronizando para o diretório atual. O comando executa todos os arquivos sob ele cujo nome termina em .test.ts ou .test.tsx, e sai com status 1 quando um teste falha. Execute os testes de um mod em ./first-mod:

plugin validate

Valide um manifesto de plugin, um manifesto de marketplace, ou os skills, agents e comandos em um diretório, e saia com um código que um trabalho de CI pode agir. Para o fluxo de trabalho criar, testar e editar, veja Criar um plugin. Para o que o validador verifica em cada manifesto, veja a referência de manifesto de plugin e a referência de marketplace.
Valide um plugin antes de fazer commit:

Validar um diretório

O <path> é um arquivo de manifesto ou um diretório. Dado um diretório, Claude Code escolhe o que validar pelo que encontra lá:
  • .claude-plugin/marketplace.json, quando existe
  • Caso contrário .claude-plugin/plugin.json
  • Caso contrário os arquivos de componente, escolhidos pelo nome do diretório. Validar arquivos de componente sem um manifesto requer Claude Code v2.1.233 ou posterior:
    • Um diretório nomeado skills, agents ou commands: os arquivos dentro dele
    • Um diretório nomeado .claude: os diretórios skills, agents e commands dentro dele
    • Qualquer outro diretório: esses três diretórios sob seu .claude
Quando o diretório contém tanto um .claude-plugin/marketplace.json quanto um .claude-plugin/plugin.json, Claude Code valida o marketplace e também o manifesto e os arquivos de componente do plugin. Isso requer Claude Code v2.1.289 ou posterior. Claude Code não segue symlinks dentro do diretório que você nomeia. O que faz depende de onde o link está:
  • Um diretório skills, agents ou commands vinculado sob a raiz do plugin ou .claude: Claude Code avisa que nada nele foi lido.
  • Uma entrada vinculada dentro de um diretório skills, agents ou commands: Claude Code a pula e avisa, por diretório, quantas entradas pulou que uma sessão carregaria.
  • O diretório skills, agents ou commands que você nomeia é ele mesmo um symlink, ou seu diretório pai .claude é: Claude Code relata um erro e não verifica nada nele. Nomeie o diretório real.
Alguns arquivos não são lidos por uma execução de validação:
  • Um SKILL.md na raiz do plugin: quando você executa claude plugin validate contra um diretório de plugin, Claude Code não verifica um SKILL.md na raiz do plugin
  • Um CLAUDE.md na raiz do plugin: em uma execução de plugin, Claude Code também avisa sobre um CLAUDE.md na raiz do plugin
  • Arquivos de plugin em uma execução de marketplace: de um diretório de marketplace, Claude Code não abre os arquivos de skill, agent, comando ou hook dos plugins que o marketplace lista em outros diretórios, nem os arquivos de servidor MCP que eles incluem. Para encontrar erros nesses arquivos, valide cada diretório de plugin

Saída e códigos de saída

Claude Code imprime o arquivo que validou, quaisquer erros e avisos com seus caminhos, e uma linha de veredicto. O código de saída segue o veredicto: Com --json, Claude Code escreve o relatório para stdout como um objeto JSON com estes campos de nível superior:
  • success: o mesmo veredicto que o código de saída fornece
  • strict: se a execução tratou avisos como erros
  • target: o caminho resolvido que Claude Code validou
  • manifest: o resultado do próprio manifesto, ou null para uma execução sem manifesto
  • contents: resultados por arquivo, cada um nomeando seu file e carregando arrays errors, warnings e notes
    • gatingHooks: se cada hook de mod que pode recusar uma ação, como um hook tool.call, tem um manipulador .catch. Cada item fornece module, pattern, hook e hasCatch. Requer Claude Code v2.1.290 ou posterior
Na saída 2, o comando não escreve nada para stdout. A mensagem de erro vai para stderr.

Comandos claude plugin marketplace

Execute claude plugin marketplace <subcommand> do seu shell para adicionar, listar, atualizar e remover os marketplaces dos quais você instala plugins. Para o que é um marketplace e como Claude Code o armazena em cache, veja Referência de carregamento de plugin.

plugin marketplace add

Adicione um marketplace de um repositório GitHub, uma URL git, um marketplace.json hospedado ou um caminho local, e declare-o em um arquivo de configurações. Depois de adicioná-lo, Claude Code instala quaisquer dependências que seus plugins instalados estavam perdendo.
<source> toma qualquer uma das formas na tabela abaixo, e sua forma decide o tipo de fonte e como Claude Code busca o marketplace. Para o objeto de fonte resultante, veja a referência de marketplace. Para um host cujas URLs de clone não carregam o sufixo .git, como AWS CodeCommit, adicione o marketplace como uma entrada git em extraKnownMarketplaces. Claude Code clona uma entrada git independentemente de sua URL terminar em .git. Claude Code também clona uma URL gitlab.com com subgrupos aninhados, como https://gitlab.com/group/subgroup/project. Adicione um marketplace e compartilhe-o com o projeto:
Claude Code imprime Successfully added marketplace: your-marketplace (declared in project settings), usando o name do próprio manifesto do marketplace. Uma adição repetida ou uma fonte inválida imprime um destes resultados:
  • Marketplace já no disco: a saída é Marketplace 'your-marketplace' already on disk — declared in project settings e o código de saída é 0
  • Fonte não reconhecida: a saída é Invalid marketplace source format. Try: owner/repo, https://..., or ./path e o código de saída é 1
  • Host simples como gitlab.example.com/team/plugins: a adição falha como um atalho owner/repo inválido, e a mensagem diz para adicionar https:// ou usar um caminho local
Adicione um marketplace hospedado em claude.ai pelo nome impresso na seção From claude.ai: de claude plugin marketplace list:
Com --claudeai, o comando recusa --scope e --sparse. O marketplace é hospedado para sua conta, não declarado em um arquivo de configurações, então você não pode compartilhá-lo através do .claude/settings.json de um projeto.

plugin marketplace list

Liste cada marketplace que você adicionou, com sua fonte.
Claude Code imprime Configured marketplaces: e uma linha Source: por marketplace, ou No marketplaces configured. Com --json, Claude Code imprime um array com um objeto por marketplace, carregando os campos abaixo. Cada campo é uma string. Um marketplace claude.ai adicionado não tem clone local, então sua entrada carrega seus identificadores claude.ai, marketplaceId e organizationUuid, no lugar de installLocation. Também carrega scope quando um é registrado, e status. Se suas sessões de terminal sincronizam plugins de sua conta claude.ai, a listagem de texto termina com uma seção From claude.ai:. Essa seção nomeia os marketplaces que claude.ai lista para sua conta que você não adicionou, tanto baseados em git quanto hospedados. Requer Claude Code v2.1.273 ou posterior. Para adicionar um marketplace dessa seção, veja Adicionar um marketplace de claude.ai. A saída --json cobre apenas marketplaces configurados e deixa a seção de fora.

plugin marketplace remove

Remova a declaração de um marketplace de suas configurações. rm é um alias para remove.
Quando você remove um marketplace do último escopo que o declara, Claude Code também exclui seu cache e desinstala cada plugin que você instalou dele. Também exclui suas opções e segredos salvos e dados onde puder.Para atualizar um marketplace sem perder seus plugins, execute plugin marketplace update.
O <name> é o nome do marketplace que plugin marketplace list mostra, não a fonte que você passou para add. Remova um marketplace de cada escopo:
Claude Code imprime Successfully removed marketplace: your-marketplace. Quando o comando desinstala plugins, a saída os lista sob uma linha como Also uninstalled 2 plugins from this marketplace:. Para usar um deles novamente, adicione o marketplace de volta e reinstale o plugin. Se você restringir o escopo a um arquivo de configurações que não declara o marketplace, o comando falha com Marketplace 'your-marketplace' is not declared in project settings. Omit --scope to remove it from all scopes.

plugin marketplace update

Atualize um marketplace, ou cada marketplace, de sua fonte para buscar novos plugins e versões. Um marketplace adicionado com um branch ou tag ref atualiza para o commit mais recente desse ref, não o branch padrão do repositório.
Atualize um marketplace:
Claude Code imprime Successfully updated marketplace: your-marketplace. Quando você omite o nome, imprime uma contagem como Successfully updated 2 marketplaces.

/plugin em uma sessão

Dentro de uma sessão interativa, /plugin abre o painel de plugin. Cada subcomando abre o painel em uma aba, executa uma ação lá ou imprime um resultado inline. /plugins e /marketplace são aliases para /plugin. Você pode executar estes comandos apenas em uma sessão de terminal interativa. Em uma execução não interativa como claude -p, Claude Code responde que /plugin não está disponível neste ambiente. Para quais superfícies têm /plugin, como instalar sem ele e o que cada aba do painel mostra, veja Instalar e gerenciar plugins. Um <plugin> é um name de plugin ou name@marketplace. A tabela abaixo lista cada forma de sessão. Os subcomandos de shell init, update, details, prune, eval, eval init e test não têm forma de sessão. Se você nomear um plugin que não está instalado no projeto atual em /plugin enable, disable, uninstall ou configure, Claude Code imprime Plugin "<plugin>" is not installed in this project em vez de agir.

/reload-plugins

Aplique mudanças de plugin pendentes à sessão em execução sem reiniciá-la. Mudanças pendentes são plugins que você instalou, atualizou, ativou, desativou ou editou no disco desde que a sessão começou. Quando você fecha o painel /plugin com mudanças pendentes que você fez nele, Claude Code executa /reload-plugins para você. Execute-o você mesmo após mudanças de plugin que acontecem fora do painel, como um comando claude plugin que você executou em outro terminal.

Resumo de recarregamento

Claude Code recarrega cada plugin ativo e imprime uma linha de resumo, Reloaded: N plugins · N skills · N agents · N hooks · N plugin MCP servers · N plugin LSP servers, omitindo a contagem de servidor MCP de plugin em uma sessão sem terminal interativo. Quando qualquer plugin falhou, o resumo adiciona N errors during load. Run /plugin for details. A contagem de skills cobre cada skill que um plugin fornece, tanto suas entradas commands/ quanto suas skills SKILL.md. A contagem de agents é o número de agents carregados na sessão, incluindo aqueles que não vêm de plugins. Quando as dependências de um plugin recarregado estão faltando, Claude Code as instala, recarrega novamente e anexa (+ N dependencies: <names>) resolved ao resumo.

Recarregamentos que mudam ferramentas MCP

Quando o recarregamento adicionaria ou removeria um servidor MCP de plugin ou a ferramenta LSP, e essa mudança invalidaria o cache de prompt, Claude Code não aplica o recarregamento. Imprime uma linha como This reload changes MCP tools (<server>) — your next message will re-read the whole conversation instead of using the cache. Run /reload-plugins --force to apply. Passe --force para aplicá-lo mesmo assim.

Sessões sem terminal interativo

/reload-plugins também é executado em sessões sem terminal interativo, como o aplicativo desktop, o Agent SDK e modo não interativo com -p. Requer Claude Code v2.1.260 ou posterior. Nessas sessões, o comando é executado apenas quando você o digita na sessão você mesmo, como no prompt -p ou na caixa de prompt do aplicativo desktop. Quando chega de outra forma, como através de Remote Control ou uma mensagem retransmitida do Slack, o comando responde /reload-plugins isn't available over a remote connection in this session. e não recarrega nada. O recarregamento nessas sessões não conecta ou desconecta servidores MCP de plugin. Essas mudanças entram em vigor em sua próxima sessão.

Flags que carregam um plugin para uma sessão

Duas flags claude carregam um plugin para uma sessão apenas, sem instalá-lo. Ambas são repetíveis. Autores de plugin as usam para testar um plugin antes de publicar. Para o fluxo de trabalho carregar-editar-recarregar, veja Desenvolver sem um marketplace. Um plugin que qualquer uma dessas flags carrega é um plugin de sessão única. claude plugin list o mostra apenas quando a mesma flag precede o subcomando, como em claude --plugin-dir ./my-plugin plugin list. O plugin aparece como <name>@inline sob um cabeçalho que começa com Session-only plugins, e --json relata seu scope como session. Quando um plugin de sessão única compartilha um nome com um plugin instalado, Claude Code carrega a cópia de sessão única para essa sessão e pula a instalada. A cópia instalada carrega em vez disso se você desativou a cópia de sessão única com claude plugin disable <name>@inline, ou se configurações gerenciadas bloqueiam esse nome de plugin. Para a precedência, veja Referência de carregamento de plugin. Um administrador pode rejeitar ambas as flags e pastas nomeadas na variável CLAUDE_CODE_PLUGIN_DIRS, com a configuração gerenciada disableSideloadFlags. Claude Code então imprime que a flag é desativada pelas configurações gerenciadas de sua organização e sai com 1 sem iniciar. Do Agent SDK, a opção plugins é o equivalente de --plugin-dir.

Próximos passos