A Anthropic publicou a arquitetura técnica por trás do Auto Mode do Claude Code, o sistema de permissões GA desde abril que substituiu aprovação a cada ação por execução gated por classificador. Os números chave do post: 0,4% de falsos-positivos após o filtro de dois estágios, 17% de falsos-negativos em ações detectadas como excessivamente entusiasmadas, classificador cego por design à prosa do assistente e aos outputs de tools. Para builders rodando Claude Code em loops autônomos ou fan-outs de subagents, esses números moldam o que esperar do circuito de segurança — e a escolha arquitetônica abaixo é interessante por si.

Três tiers de ações. Tier 1 — leituras de arquivo, busca por texto e pattern, navegação de código, transições de todo e plan-mode — roda numa allowlist fixa, nunca gated pelo classificador. Tier 2 — escritas e edits de arquivo dentro do diretório do projeto — auto-permitidos sem review do classificador. Tier 3 — comandos shell, web fetches, integrações de tools externos, spawns de subagents, operações filesystem fora do projeto — passa pelo classificador. O classificador é Sonnet 4.6, dois estágios: um filtro rápido single-token «sim/não» (8,5% FPR sozinho), com raciocínio chain-of-thought entrando só quando o estágio 1 flag (colapsando para 0,4% FPR pipeline completo). O mesmo prompt alimenta os dois estágios com só a instrução final mudando, então o prompt caching faz o grosso do trabalho. A decisão de design que importa: o classificador é **reasoning-blind por intenção** — vê só as mensagens user e os tool calls do agente, nunca a prosa do assistente nem os outputs de tools. É um isolamento deliberado contra a ameaça meta-prompt-injection em que o output de um tool convenceria o gatekeeper mesmo de que algo perigoso está OK. Chamadas subagent são gated duas vezes: outbound na delegação (block se não autorizado), return-phase como warning em vez de discard. Três negações consecutivas ou vinte no total disparam o circuit-breaker e escalam para humano.

A leitura de ecossistema disso é que a Anthropic aposta que o modelo é bom o suficiente para se policiar, com o context-stripping deliberado como garantia. A história de permissões do Cursor é rules-based em config; o Aider fica em approve-each; o Codex da OpenAI confia mais em isolamento de container do que em gating runtime com classificador. A aposta da Anthropic é unicamente arquitetônica — mesma família de modelo fazendo o trabalho e a supervisão, com o formato do input (sem prosa, sem outputs) como mecanismo de confiança. O tradeoff 0,4%/17% importa: builders trocam ~um block espúrio por 250 ações gated por uma taxa pequena de fuga de moves excessivamente entusiasmados que passam. A entrada em Auto Mode também dropa as regras agressivas de allowlist configuradas pelo user — acesso shell blanket, interpretadores wildcarded python/node/ruby, comandos package manager run — o que significa que configs custom que você montou não se transferem como sob approve-each. É a pegadinha para conhecer antes de virar uma sessão longa para auto.

Movimento prático: se você roda Claude Code com regras de allowlist custom tunadas para velocidade, audite-as antes de ativar Auto Mode — suas regras shell blanket ficam stripped. Se usa subagents pesadamente, espere que o gating outbound adicione latência na delegação; o flag return-phase é informativo, não bloqueante. Com 0,4% FPR pipeline completo, planeje prompts de aprovação espúrios ocasionais em sessões longas mas não arquitete em volta deles. O circuit-breaker 3-consecutivos / 20-total é o piso — se você bate, é o sistema dizendo para ir olhar de verdade. O design reasoning-blind é a bandeira-sinal para builders pensando nos próprios stacks de agentes: quando o classificador e o ator compartilham pesos, o que cada um vê tem que diferir, ou o ator pode argumentar o classificador para fora do julgamento.