Claude Code
Cómo permitir que Claude Code ejecute todos los comandos: modos de permisos, reglas allow y omitir permisos
¿Cómo hago que Claude Code deje de pedir permiso cada vez?
Presiona Shift+Tab para alternar entre modos de permisos, inicia con claude --permission-mode <mode> o preaprueba comandos específicos con reglas permissions.allow como Bash(npm run *) en .claude/settings.json. El modo auto se ejecuta sin confirmaciones rutinarias mientras un clasificador revisa las acciones; --dangerously-skip-permissions está pensado solo para contenedores o VMs.
Esta página es una traducción de la guía en inglés. Los comandos, claves de configuración y el código no se modifican; si hay diferencias, prevalece la versión en inglés. Leer en inglés → · Otros idiomas: 简体中文 · 日本語 · 한국어 · Português (Brasil)
Entérate cuando cambie la configuración
Cuando cambie un ajuste, flag o regla de permisos de estas herramientas, te avisamos en un correo semanal (en inglés), verificado con la documentación oficial.
Modos de permisos
- default (etiquetado Manual): pide confirmación la primera vez que se usa cada herramienta.
- acceptEdits: acepta automáticamente ediciones de archivos y comandos comunes del sistema de archivos como mkdir, touch, mv y cp en tus directorios de trabajo.
- plan: explora y ejecuta comandos de solo lectura, pero no edita tus archivos fuente.
- auto: sin confirmaciones rutinarias; un clasificador en segundo plano revisa los comandos de shell y las solicitudes de red en función de lo que pediste. Es el modo inicial integrado desde v2.1.283.
- dontAsk: deniega todo lo que pediría confirmación, excepto las herramientas que preaprobaste.
- bypassPermissions: omite las confirmaciones, incluso para escrituras en rutas protegidas como .git y .claude. Solo para contenedores o VMs aislados.
Cambiar de modo
- Durante una sesión: presiona Shift+Tab para alternar default → acceptEdits → plan (y otros modos habilitados).
- Para una sesión: claude --permission-mode plan (o default, acceptEdits, auto, dontAsk).
- Como predeterminado: configura permissions.defaultMode en ~/.claude/settings.json.
Mejor preaprueba comandos exactos
Las reglas allow son más seguras que omitir todas las comprobaciones. Pon el * después del subcomando: Bash(git log *) permite solo git log, mientras que Bash(git *) permite todos los comandos de git. Las reglas deny siempre ganan.
.claude/settings.json
{
"permissions": {
"allow": ["Bash(npm run *)", "Bash(git commit *)"],
"deny": ["Bash(git push *)"]
}
}Usa /permissions dentro de Claude Code para ver cada regla y de qué archivo de configuración viene.
Ejecuciones totalmente desatendidas
Solo dentro de un contenedor o VM, como usuario no root
claude -p "run the test suite and fix failures" --dangerously-skip-permissions
Herramientas permitidas: --allowedTools y permissions.allow
--allowedTools (también escrito --allowed-tools) enumera las herramientas que se ejecutan sin confirmación durante una sesión. Usa la misma sintaxis de reglas que permissions.allow en settings.json. --disallowedTools agrega reglas deny, y un nombre de herramienta solo, como Edit, quita esa herramienta de la sesión.
Una sesión con comandos de lectura de git preaprobados
claude --allowedTools "Bash(git log *)" "Bash(git diff *)" "Read"
- Las reglas se comprueban primero deny, luego ask y luego allow. Un deny amplio como Bash(aws *) bloquea una llamada aunque también coincida una regla allow más específica.
- Las reglas de Bash entienden los operadores de shell: Bash(safe-cmd *) no aprueba safe-cmd && other-cmd. Cada subcomando tiene que coincidir por sí mismo.
- Bash(ls:*) es lo mismo que Bash(ls *). La forma :* solo funciona al final de un patrón.
- Herramientas MCP: mcp__puppeteer permite todas las herramientas del servidor puppeteer y mcp__puppeteer__puppeteer_navigate permite una sola herramienta. Los globs en allow necesitan un nombre de servidor literal, así que una regla allow de mcp__* se omite con una advertencia.
- Web fetches: WebFetch(domain:example.com) coincide solo con example.com. Agrega WebFetch(domain:*.example.com) para cubrir subdominios.
- Para limitar qué herramientas integradas existen, usa --tools "Bash,Edit,Read" en lugar de una lista allow.
Fuentes
Documentación oficial (en inglés) con la que se verificó esta guía. Versión en inglés revisada el: 2026-10-18
Más guías en español
- Permitir todos los comandos en cualquier agente de programación con IA: Cursor, Claude Code, Codex, Gemini CLI, Copilot CLI y 7 más (2026)
- Archivos de reglas e instrucciones en todos los agentes de programación con IA: .cursor/rules, CLAUDE.md, AGENTS.md, GEMINI.md, instrucciones de Copilot y más (2026)
- Ubicación de los archivos de configuración en todos los agentes de programación con IA: Claude Code, Cursor, Codex, Gemini CLI, OpenCode, Qwen Code, Amp y Factory Droid (2026)
- Añadir un MCP server a cualquier agente de programación con IA: Claude Code, Cursor, Codex, Gemini CLI, VS Code y 8 más (2026)
- Hooks en todos los agentes de programación con IA: Claude Code, Cursor, Gemini CLI, GitHub Copilot, Kiro y Factory Droid (2026)
- Agent Skills (SKILL.md) en todos los agentes de programación con IA: Claude Code, Codex, Cline, Amp y OpenHands (2026)
- Permisos de Claude Code: reglas allow, ask y deny, sintaxis de reglas y herramientas permitidas
- Cómo permitir que Cursor ejecute todos los comandos: Run Everything, allowlist y sandbox
- Configuración de reglas en Cursor: reglas de proyecto, de usuario y Team Rules, frontmatter .mdc, globs y AGENTS.md
- Agregar servidores MCP a Claude Code (claude mcp add, .mcp.json, scopes)
- Subagentes y agentes personalizados comparados: Claude Code vs Codex vs Cursor vs Gemini CLI vs GitHub Copilot (2026)