Solução de problemas
Comece pelo doctor
cabecao doctor
Ele confere a versão do Cabeção, Node.js, git, o cérebro, a configuração da máquina, a identidade do git, o remoto e a credencial, o .gitignore, o banco local, a busca por significado, travas, operações interrompidas, conflitos, o registro nos clientes de IA, as skills, o sync agendado e o provedor de respostas do ask. Cada item sai como ok, aviso ou falha, com a correção ao lado. O código de saída é 1 se houver alguma falha.
Sem rede, ou para ser rápido, use cabecao doctor --offline: ele não consulta o remoto.
$ cabecao doctor --offline --brain ~/pasta-qualquer
Diagnóstico do Cabeção: ~/pasta-qualquer
ok Cabeção 1.0.0 (instalado com npm -g); para atualizar: npm i -g cabecao@latest
ok Node.js v24.21.0
ok git 2.54.0
falha Cérebro não achei .cabecao.json em ~/pasta-qualquer: a pasta não é um cérebro do Cabeção. Rode "cabecao init".
Correção: Confira o caminho do cérebro ou rode "cabecao init".
ok Configuração da máquina máquina "notebook"
ok Respostas (ask) opcional e desligado: nada sai da máquina ("cabecao llm on" ativa)
5 ok, 0 avisos, 1 falha.
Credencial: "Sem permissão para acessar"
$ cabecao init https://github.com/voce-exemplo-inexistente/cerebro.git
cabecao: consultando o remoto...
O cérebro não foi criado: Sem permissão para acessar https://github.com/voce-exemplo-inexistente/cerebro.git. O Cabeção usa as credenciais que o seu git já usa (chave SSH, token salvo, gerenciador de credenciais) e nunca pede senha. Teste no terminal: git ls-remote https://github.com/voce-exemplo-inexistente/cerebro.git Nada foi criado nesta máquina.
O que fazer: o Cabeção usa as credenciais do seu git e nunca pede senha. Configure uma chave SSH (com o ssh-agent) ou salve um token no gerenciador de credenciais, confira com "git ls-remote <url>" e repita.
Saída do git:
fatal: could not read Username for 'https://github.com': terminal prompts disabled
Ou comece só local agora: rode "cabecao init" sem a URL.
O Cabeção roda o git sem terminal, então ele não pode perguntar usuário e senha. O que fazer:
- SSH: use o endereço
git@..., com a chave carregada nossh-agent. - HTTPS: salve um token no gerenciador de credenciais do git (no macOS, o Keychain; no Windows, o Git Credential Manager).
- Confira no terminal com
git ls-remote <url>. Se ele responder sem pedir nada, o Cabeção também consegue.
Se o repositório não existe ou o endereço está errado, a mensagem é outra: "Não achei um repositório git em ...". Copie o endereço do botão "clonar" do provedor.
Sem rede
$ cabecao sync
Sync: remoto indisponível. Remoto origin indisponível: não consegui falar com o remoto (sem rede, servidor fora do ar ou tempo esgotado). As mudanças ficaram em commits locais e vão no próximo sync.
Nada se perdeu. Rode cabecao sync de novo quando a rede voltar.
Conflito pendente
O status mostra Conflitos pendentes: 1 e o doctor dá um aviso. Junte a cópia .conflict-* com a nota original e apague a cópia; veja Resolver um conflito.
Sync bloqueado por segredo
O sync para com Sync: bloqueado. Possível segredo em ... e diz arquivo, linha e regra. Tire o segredo do arquivo ou, se não for um, marque a linha com cabecao:allow-secret. Veja Segurança.
Trava ou operação interrompida
- Outro sync rodando: o
cabecao syncsai com 0 sem fazer nada. Espere ele terminar. - Trava órfã (um processo morreu segurando a trava): o
doctormostraTravascomo aviso. O próximo sync ou gravação toma a trava do Cabeção sozinho. Se for oindex.lockdo git, apague-o à mão quando nenhum git estiver rodando. - Sync interrompido no meio (o computador desligou): rode
cabecao sync; ele recupera o estado sozinho, sem perder nada. - Operação do git pela metade (um
mergeourebaseseu na pasta do cérebro): o sync se recusa a continuar. Termine a operação ou desfaça comgit merge --abort(ougit rebase --abort) na pasta do cérebro. - Erro
lockednuma tool: outro processo segurou a trava por tempo demais. Nada foi alterado; o agente pode tentar de novo.
Node.js antigo
$ cabecao --version
cabecao precisa de Node.js 22.16 ou mais novo. Versão atual: v20.12.2. Atualize em https://nodejs.org
Instale o Node.js 24 (LTS). A linha 23 também não é aceita. Se você usa um gerenciador de versões (nvm, fnm, Volta), lembre que os clientes de IA podem enxergar outro Node: o registro feito por uma instalação global aponta direto para o Node que estava ativo no install-client. Depois de trocar de versão, rode cabecao install-client --all de novo.
A pasta não é um cérebro
$ cabecao status
cabecao: nenhum cérebro configurado nesta máquina
Passe --brain <pasta>, defina CABECAO_BRAIN, entre na pasta de um cérebro ou rode "cabecao init".
$ cabecao status --brain ~/pasta-qualquer
cabecao: não achei .cabecao.json em ~/pasta-qualquer: a pasta não é um cérebro do Cabeção. Rode "cabecao init".
Rode "cabecao init" nesta pasta ou aponte para a pasta de um cérebro.
O cérebro é escolhido nesta ordem: --brain, CABECAO_BRAIN, o padrão gravado pelo init, a pasta atual. Numa máquina nova, rode cabecao init.
O init recusou o repositório
- "parece um projeto de código": o repositório tem
package.json,src/ou outro marcador. Use um repositório só para o cérebro. - "A pasta ... já existe e não está vazia": escolha com
--diruma pasta que ainda não existe (ou vazia). Se é o seu vault do Obsidian, não esvazie nada: ponha o vault num repositório remoto e rodecabecao init <url>, que clona numa pasta nova (Adotar um vault existente).
O agente não vê o Cabeção
- Rode
cabecao doctore veja o itemClientes MCP. - Se o cliente não está registrado, rode
cabecao install-client <cliente>. - Reinicie o cliente. Os clientes só leem a configuração ao iniciar.
Banco local estranho
Resultados que não batem com as notas, ou o erro index_failed: rode cabecao reindex --full (ou apague .cabecao/cabecao.db, que não vai para o git, e rode cabecao status). O banco é refeito a partir das notas.
Relatar um problema
Abra uma issue com a saída do cabecao doctor --offline e, se houver erro, a saída com CABECAO_DEBUG=1. Não inclua conteúdo do seu cérebro.