Skip to content
Apothem
Referência da CLI

uninstall

Referência da CLI para o comando apothem uninstall.

Remove a configuração de um adaptador de harness.

Sinopse

apothem uninstall --harness NAME|all [--yes] [--project PATH]
                   [--quiet|-q] [--verbose|-v]
                   [--format plain|json] [--json] [--no-color]

Remove os destinos do harness gerenciados pelo adaptador e, em seguida, os diretórios que a instalação criou, assim que estiverem vazios (um diretório que contenha qualquer coisa sua permanece).

Os armazenamentos de memória, contextos e aprendizado do diretório de trabalho compartilhado são salvos em backup e removidos somente quando este for o último harness instalado nesse diretório. A desinstalação remove-os no local que a instalação registrou, de modo que os encontra onde quer que a instalação os tenha gravado (consulte os campos workspace do perfil). O diretório plans/ nunca é removido.

Pede confirmação, a menos que --yes seja fornecido. Quando nenhum prompt é possível — --format json (o texto do prompt corromperia o documento JSON único) ou um shell não interativo (sem TTY) — o comando recusa de antemão com um erro estruturado uninstall.confirmation_required (saída 1), a menos que --yes seja fornecido. Se um harness selecionado não estiver instalado, o comando é concluído com sucesso (saída 0) e, na saída simples, exibe a mensagem NAME is not installed; nothing to remove., em que NAME é o id do harness.

Os armazenamentos de dados compartilhados em .apothem/, na raiz da instalação (memory/, contexts/, learning/), permanecem enquanto outro harness instalado na mesma raiz ainda os usar. Quando o harness que você remove é o último nessa raiz, o comando primeiro copia cada armazenamento para a raiz de backups do Apothem (~/.apothem/backups/) e depois o remove com tudo o que há nele. Tudo o que você mantém em plans/ nunca é removido.

Pastas compartilhadas no seu diretório pessoal

Várias instalações podem usar uma mesma pasta no seu diretório pessoal: a pasta de skills (~/.agents/skills/, ou ~/.codebuddy/skills/, ~/.kiro/skills/ ou ~/.trae/skills/) e ~/.config/apothem/rules/ e ~/.config/apothem/templates/. A página de install lista qual adaptador grava qual. O Apothem registra quais instalações usam cada pasta, e uma desinstalação segue uma regra: ela remove uma pasta somente quando nenhuma outra instalação do Apothem ainda a usa.

  • Desinstalar uma ferramenta mantém as skills enquanto outra instalação ainda as usa, e informa isso. Uma ferramenta instalada em dois projetos conta como duas instalações, então desinstalá-la do projeto A mantém as pastas enquanto o projeto B ainda as usa. A última desinstalação as remove (consulte o segundo exemplo abaixo).
  • Somente o que o próprio registro da instalação lista é removido. Uma instalação feita antes de as pastas serem gerenciadas não tem esse registro, então desinstalá-la não remove nada no seu diretório pessoal. Os arquivos que você adicionou às pastas permanecem, assim como uma pasta que tem o nome de uma skill do Apothem e que o Apothem não gravou.
  • Uma instalação cuja pasta de projeto não existe mais é ignorada, de modo que um projeto excluído não mantém as pastas para sempre. A nota a nomeia.
  • Se o registro de uma instalação que poderia usar as pastas não puder ser lido, a desinstalação para com um erro antes de remover qualquer coisa, e a instalação permanece registrada. Repare ou mova o registro ilegível e execute o comando novamente. Um registro danificado de uma ferramenta que nunca grava essas pastas é ignorado.
  • Quando o último uso termina, as pastas que ficaram vazias também são removidas. Cada pasta é salva em backup em ~/.apothem/backups/ antes de ser removida.

Cada desinstalação imprime uma Note: por pasta, por exemplo Note: <harness> - ~/.agents/skills/ was kept: still used by <harness> (/path/to/project), ou was removed: no other Apothem install uses it. No envelope --format json, cada nota é uma entrada de warnings com "outcome": "advisory", "operation": "shared_root" e "role" definido como retained ou released. Ela carrega path, holders (as instalações que mantêm a pasta), stale (instalações ignoradas) e kept e total (as entradas registradas mantidas e as entradas que a instalação listou).

Se uma pasta permanece por causa de uma instalação que você não consegue encontrar, a nota a nomeia. Quando a pasta do projeto foi excluída, a instalação é ignorada e a pasta sai com a próxima desinstalação. Quando o projeto existe, mas você removeu à mão o bloco do Apothem do arquivo de regras dele, uninstall relata o harness como não instalado e não libera a reivindicação dele; execute install para esse harness e projeto e depois uninstall para liberá-la. apothem verify mostra se uma pasta ainda está completa.

A remoção com --harness all é deliberadamente exaustiva: ela abrange todos os harnesses registrados, incluindo os que o exclude_harnesses do perfil pula durante a instalação — a limpeza alcança o estado que uma instalação anterior, mais ampla, possa ter deixado para trás. Os harnesses que nunca foram instalados recebem o mesmo aviso.

O alias na forma contínua apothem uninstalling (também aceito como apothem Uninstalling) resolve para o mesmo manipulador.

Opções

OpçãoDescrição
--harness NAMEAdaptador de harness a remover, ou all para o conjunto de todo o registro (obrigatório).
--yesPula o prompt de confirmação.
--project PATHRaiz do projeto para os harnesses com escopo de projeto.
--quiet, -qSuprime a saída informativa; apenas os erros são emitidos.
--verbose, -vAceito por consistência com os demais comandos; este comando não imprime saída extra.
--format plain|jsonFormato de saída (padrão: plain).
--jsonAbreviação de --format json.
--no-colorDesativa os códigos de cor ANSI na saída.
-h, --helpMostra a ajuda e sai.

Saída JSON

Quando o adaptador está instalado e é removido com sucesso:

{
  "schema_version": 1,
  "status": "success",
  "command": "uninstall",
  "action": "uninstalled",
  "harness": "claude-code",
  "profile_path": null,
  "project": null,
  "files_written": [],
  "results": [
    {
      "harness": "claude-code",
      "outcome": "updated",
      "operation": "uninstall",
      "path": "C:\\Users\\Example\\.claude\\settings.json",
      "message": "managed files removed"
    }
  ],
  "warnings": [],
  "error": null,
  "output_path": "C:\\Users\\Example\\.claude\\settings.json"
}

Quando o adaptador não estava instalado, o comando sai com 0. Na saída JSON, o envelope tem "status": "success" e "action": "uninstalled", e a linha de resultados tem "outcome": "skipped" com a mensagem "not installed; no files removed". O campo status nunca é "not_installed".

Exemplos

apothem uninstall --harness claude-code
apothem uninstall --harness claude-code --yes
apothem uninstall --harness cursor --project . --yes
apothem uninstall --harness all --project . --yes
apothem uninstalling --harness cursor --project . --yes   # continuous-form alias

Uma pasta de skills compartilhada permanece até que a última instalação que a usa seja removida:

apothem install --harness codex
apothem install --harness cursor --project A
apothem uninstall --harness codex --yes                  # keeps ~/.agents/skills/, the cursor install uses it
apothem uninstall --harness cursor --project A --yes     # removes it: no install uses it now

Códigos de saída

CódigoSignificado
0Adaptador desinstalado, ou não estava instalado
1Harness não encontrado, confirmação recusada ou indisponível (modo não interativo ou JSON sem --yes), ou todas as remoções falharam
2Remoção parcial — pelo menos um harness foi removido antes de uma falha
64Erro de uso: uma opção ou um comando desconhecido, ou um valor de opção ausente ou inválido. Com --json, o erro é um envelope JSON com o código cli.usage.

Veja também

  • apothem uninstalling — alias na forma contínua deste comando (documentado aqui; a CLI aceita ambas as formas)
  • apothem install — instala uma configuração de harness
  • apothem verify — confirma o status da instalação

On this page