Anthropic publicó la arquitectura técnica detrás de Auto Mode de Claude Code, el sistema de permisos GA desde abril que reemplazó la aprobación por acción con ejecución gated por clasificador. Los números clave del post: 0,4% de falsos-positivos tras el filtro de dos etapas, 17% de falsos-negativos en las acciones detectadas como demasiado entusiastas, clasificador ciego por diseño a la prosa del asistente y a los outputs de tools. Para builders corriendo Claude Code en loops autónomos o fan-outs de subagents, esos números dan forma a lo que esperar del circuito de seguridad — y la decisión arquitectónica debajo es interesante por sí misma.
Tres tiers de acciones. Tier 1 — lecturas de archivo, búsqueda por texto y pattern, navegación de código, transiciones de todo y plan-mode — corre sobre una allowlist fija, nunca gated por el clasificador. Tier 2 — escrituras y edits de archivos dentro del directorio del proyecto — auto-permitidos sin review del clasificador. Tier 3 — comandos shell, web fetches, integraciones de tools externos, spawns de subagents, operaciones filesystem fuera del proyecto — pasa por el clasificador. El clasificador es Sonnet 4.6, dos etapas: un filtro rápido single-token «sí/no» (8,5% FPR sola), con razonamiento chain-of-thought entrando solo cuando la etapa 1 flag (colapsando a 0,4% FPR pipeline completo). El mismo prompt alimenta ambas etapas con solo la instrucción final cambiando, así que el prompt caching hace lo grueso del trabajo. La decisión de diseño que importa: el clasificador es **reasoning-blind por intención** — ve solo los mensajes user y los tool calls del agente, nunca la prosa del asistente ni los outputs de tools. Es un aislamiento deliberado contra la amenaza meta-prompt-injection donde el output de un tool convencería al gatekeeper mismo de que algo peligroso está bien. Las llamadas subagent son gated dos veces: outbound en la delegación (block si no autorizado), return-phase como warning en lugar de discard. Tres denegaciones consecutivas o veinte totales disparan el circuit-breaker y escalan a humano.
La lectura ecosystem es que Anthropic apuesta que el modelo es lo bastante bueno para vigilarse a sí mismo, con el context-stripping deliberado como garantía. La historia de permisos de Cursor es rules-based en config; Aider se queda en approve-each; el Codex de OpenAI confía más en aislamiento de contenedor que en gating runtime con clasificador. La apuesta de Anthropic es únicamente arquitectónica — misma familia de modelo haciendo el trabajo y la supervisión, con la forma del input (sin prosa, sin outputs) como mecanismo de confianza. El tradeoff 0,4%/17% importa: builders trocan ~un block espurio por 250 acciones gated por una tasa pequeña de fuga de movidas demasiado entusiastas que pasan. La entrada a Auto Mode también dropea las reglas agresivas de allowlist configuradas por el user — acceso shell blanket, intérpretes wildcarded python/node/ruby, comandos package manager run — lo que significa que las configs custom que armaste no se transfieren como bajo approve-each. Esa es la trampa que hay que conocer antes de flipear una sesión larga a auto.
Movida práctica: si estás corriendo Claude Code con reglas de allowlist custom tuneadas para velocidad, audítalas antes de activar Auto Mode — tus reglas shell blanket quedan stripped. Si usas subagents intensivamente, espera que el gating outbound agregue latencia en la delegación; el flag return-phase es informativo, no bloqueante. Con 0,4% FPR pipeline completo, plani for prompts de aprobación espurios ocasionales en sesiones largas pero no arquitectures alrededor. El circuit-breaker 3-consecutivos / 20-total es el piso — si lo pegas, es el sistema diciéndote que vayas a mirar de verdad. El diseño reasoning-blind es la bandera-señal para builders pensando en sus propios stacks de agentes: cuando el clasificador y el actor comparten pesos, lo que cada uno ve tiene que diferir, o el actor puede convencer al clasificador fuera de su juicio.
