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ção | Descrição |
|---|---|
--harness NAME | Adaptador de harness a remover, ou all para o conjunto de todo o registro (obrigatório). |
--yes | Pula o prompt de confirmação. |
--project PATH | Raiz do projeto para os harnesses com escopo de projeto. |
--quiet, -q | Suprime a saída informativa; apenas os erros são emitidos. |
--verbose, -v | Aceito por consistência com os demais comandos; este comando não imprime saída extra. |
--format plain|json | Formato de saída (padrão: plain). |
--json | Abreviação de --format json. |
--no-color | Desativa os códigos de cor ANSI na saída. |
-h, --help | Mostra 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 aliasUma 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 nowCódigos de saída
| Código | Significado |
|---|---|
| 0 | Adaptador desinstalado, ou não estava instalado |
| 1 | Harness não encontrado, confirmação recusada ou indisponível (modo não interativo ou JSON sem --yes), ou todas as remoções falharam |
| 2 | Remoção parcial — pelo menos um harness foi removido antes de uma falha |
| 64 | Erro 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