Para comparar otros enfoques de aislamiento como contenedores de desarrollo, contenedores personalizados y máquinas virtuales, consulte Entornos sandbox. Para reducir solicitudes de permiso para herramientas distintas de Bash, consulte modos de permiso.
Primeros pasos
El sandbox está integrado en Claude Code y se ejecuta en macOS, Linux y WSL2. Windows nativo no es compatible. En Windows, ejecute Claude Code dentro de una distribución WSL2. En macOS, no hay nada que instalar: el sandboxing utiliza el marco Seatbelt integrado. En Linux y WSL2, el sandbox se basa en dos paquetes, cubiertos en Configurar Linux y WSL2. Incluso si aún no los ha instalado, puede comenzar con/sandbox, porque su panel muestra si falta algo.
Ejecutar /sandbox
Inicie una sesión de Claude Code y ejecute el comando Esto abre el panel de sandbox con tres pestañas:
/sandbox:- Mode: elija cómo se aprueban los comandos aislados, cubierto en el siguiente paso
- Overrides: elija si los comandos que fallan bajo el sandbox pueden volver a ejecutarse sin aislar. Esta es la configuración
allowUnsandboxedCommands - Config: vea la configuración de sandbox resuelta
/sandbox nuevamente.Elegir un modo
En la pestaña Mode, seleccione auto-allow o permisos regulares. Auto-allow ejecuta comandos aislados sin solicitar, y permisos regulares mantiene las solicitudes de permiso regulares incluso cuando los comandos están aislados. Consulte Modos de sandbox para ver qué comandos aún solicitan en modo auto-allow.
Ejecutar un comando Bash
Pida a Claude que ejecute un comando, como una compilación o un conjunto de pruebas. De forma predeterminada, los comandos dentro del sandbox solo pueden escribir en el directorio de trabajo y el directorio temporal de la sesión. La primera vez que un comando necesita un nuevo dominio de red, Claude Code solicita aprobación.Los comandos que no pueden ejecutarse aislados vuelven al flujo de permiso regular. Para ampliar o reducir estos límites, consulte Configurar sandboxing.
.claude/settings.local.json, que se aplica al proyecto actual y no se verifica en git. Para habilitar el sandbox en todos sus proyectos, establezca sandbox.enabled en true en su configuración de usuario en ~/.claude/settings.json. Para aplicar sandboxing para cada desarrollador en una organización, use configuración administrada.
Configurar Linux y WSL2
En Linux y WSL2, el sandbox se basa en dos paquetes:bubblewrap: la herramienta de sandboxing sin privilegios que aplica aislamiento del sistema de archivossocat: el relé utilizado para enrutar el tráfico de red a través del proxy del sandbox
- Ubuntu/Debian
- Fedora
/sandbox muestra si ripgrep, bubblewrap, socat y el filtro seccomp están disponibles en su plataforma. Ripgrep se incluye con el binario nativo de Claude Code. El filtro seccomp es opcional y agrega bloqueo de socket de dominio Unix. Instálelo con npm install -g @anthropic-ai/sandbox-runtime si falta.
Cuando falta una dependencia requerida, la pestaña Dependencies es la única pestaña mostrada hasta que la instale. La verificación de dependencia se ejecuta al inicio, así que reinicie Claude Code después de instalar paquetes para que /sandbox los detecte.
Ubuntu 24.04 y posterior: permitir que bubblewrap cree espacios de nombres de usuario
Ubuntu 24.04 y posterior: permitir que bubblewrap cree espacios de nombres de usuario
En Ubuntu 24.04 y posterior, la política de AppArmor predeterminada impide que bubblewrap cree los espacios de nombres de usuario que necesita para el aislamiento.Para verificar si su entorno aplica esta restricción, incluso dentro de WSL2, ejecute El perfil se aplica solo a
sysctl kernel.apparmor_restrict_unprivileged_userns. Si la clave no existe o devuelve 0, omita este paso. Si devuelve 1, agregue un perfil de AppArmor que otorgue a bwrap esta capacidad:bwrap en sí, no a los comandos que se ejecutan dentro del sandbox. Recargue AppArmor para aplicarlo:Notas de WSL2
Notas de WSL2
Verifique su versión de WSL con
wsl -l -v desde PowerShell. Si ve Sandboxing requires WSL2, su distribución está ejecutando WSL1. Actualícela a WSL2 o ejecute Claude Code sin sandboxing.En WSL2, los comandos aislados no pueden lanzar binarios de Windows como cmd.exe, powershell.exe o cualquier cosa bajo /mnt/c/. WSL entrega estos al host de Windows a través de un socket Unix, que el sandbox bloquea. Si un comando necesita invocar un binario de Windows, agréguelo a excludedCommands para que se ejecute fuera del sandbox.Modos de sandbox
Claude Code ofrece dos modos de sandbox: Modo auto-allow: Los comandos Bash intentarán ejecutarse dentro del sandbox y se permitirán automáticamente sin requerir permiso. Los comandos que no pueden ser aislados, como aquellos que necesitan acceso a la red a hosts no permitidos, vuelven al flujo de permiso regular, donde Claude Code verifica sus reglas de permiso y le solicita cualquier comando que esas reglas no permitan. Incluso en modo auto-allow, lo siguiente sigue siendo válido:- Las reglas de denegación explícitas siempre se respetan
- Los comandos
rmormdirque apunten a/, su directorio de inicio u otras rutas críticas del sistema aún desencadenan una solicitud de permiso - Las reglas de solicitud con alcance de contenido como
Bash(git push *)aún fuerzan una solicitud incluso para comandos aislados - Una regla de solicitud
Bashsimple, o la forma equivalenteBash(*), se omite para comandos que se ejecutan aislados; aún se aplica a comandos que vuelven al flujo de permiso regular
$TMPDIR en este directorio para comandos aislados, por lo que las herramientas que escriben archivos temporales funcionan sin configuración adicional. Los comandos no aislados heredan su $TMPDIR de shell sin cambios, lo que significa que los comandos aislados y no aislados resuelven $TMPDIR a directorios diferentes. Para pasar archivos temporales entre los dos, escríbalos en el directorio de trabajo en su lugar.
Algunos comandos no pueden ejecutarse dentro del sandbox en absoluto, como herramientas que son incompatibles con él o que necesitan un host que no ha permitido. En lugar de fallar la tarea o requerirle que apague el sandboxing, Claude Code incluye una salida de emergencia: cuando un comando falla debido a restricciones del sandbox, Claude analiza la falla y puede reintentar el comando con el parámetro dangerouslyDisableSandbox. El comando reintentado se ejecuta fuera del sandbox, por lo que pasa por el flujo de permiso regular y requiere su aprobación.
Puede deshabilitar esta salida de emergencia estableciendo "allowUnsandboxedCommands": false en su configuración de sandbox. Cuando está deshabilitado, que la pestaña Overrides de /sandbox muestra como Modo de sandbox estricto, el parámetro dangerouslyDisableSandbox se ignora completamente y todos los comandos deben ejecutarse aislados o estar explícitamente listados en excludedCommands.
El modo auto-allow funciona independientemente de su configuración de modo de permiso. Incluso si no está en modo “aceptar ediciones”, los comandos Bash aislados se ejecutarán automáticamente cuando auto-allow esté habilitado. Esto significa que los comandos Bash que modifican archivos dentro de los límites del sandbox se ejecutarán sin solicitar, incluso cuando las herramientas de edición de archivos normalmente requerirían aprobación.
Configurar sandboxing
Personalice el comportamiento del sandbox a través de su archivosettings.json. Consulte Configuración para obtener la referencia de configuración completa.
De forma predeterminada, los comandos aislados solo pueden escribir en el directorio de trabajo actual y el directorio temporal de la sesión. Si comandos de subproceso como kubectl, terraform o npm necesitan escribir fuera de esos directorios, use sandbox.filesystem.allowWrite para otorgar acceso a rutas específicas:
excludedCommands.
Cuando el mismo array del sistema de archivos se define en múltiples ámbitos de configuración, los arrays se fusionan: las rutas de cada ámbito se combinan, no se reemplazan.
Los prefijos de ruta controlan cómo se resuelven las rutas:
| Prefijo | Significado | Ejemplo |
|---|---|---|
/ | Ruta absoluta desde la raíz del sistema de archivos | /tmp/build se mantiene como /tmp/build |
~/ | Relativo al directorio de inicio | ~/.kube se convierte en $HOME/.kube |
./ o sin prefijo | Relativo a la raíz del proyecto para configuración de proyecto, o a ~/.claude para configuración de usuario | ./output en .claude/settings.json se resuelve a <project-root>/output |
//path para absoluto y /path para relativo al proyecto. Las rutas del sistema de archivos del sandbox usan convenciones estándar: /tmp/build es absoluto.
También puede denegar acceso de escritura o lectura usando sandbox.filesystem.denyWrite y sandbox.filesystem.denyRead, y permitir nuevamente rutas específicas dentro de una región denegada usando sandbox.filesystem.allowRead.
El ejemplo a continuación bloquea la lectura de todo el directorio de inicio mientras aún permite lecturas del proyecto actual. Colóquelo en el .claude/settings.json de su proyecto, porque la ruta relativa . se resuelve a la raíz del proyecto solo cuando la configuración se encuentra en la configuración del proyecto:
. en allowRead se resuelve a la raíz del proyecto porque esta configuración se encuentra en la configuración del proyecto. Si colocara la misma configuración en ~/.claude/settings.json, . se resolvería a ~/.claude en su lugar, y los archivos del proyecto permanecerían bloqueados por la regla denyRead.
Proteger credenciales
La configuraciónsandbox.credentials declara archivos de credenciales y variables de entorno a las que los comandos aislados no deben acceder. Las rutas de archivo enumeradas se deniegan para lecturas dentro del sandbox, el mismo bloque que aplica filesystem.denyRead, y las variables de entorno enumeradas se desactivan antes de que se ejecute cada comando aislado. El bloque dedicado credentials mantiene las reglas de credenciales agrupadas con la desactivación de variables de entorno y separadas de las reglas generales del sistema de archivos. Requiere Claude Code v2.1.187 o posterior.
El ejemplo a continuación bloquea las lecturas del archivo de credenciales de AWS y el directorio SSH y elimina GITHUB_TOKEN y NPM_TOKEN del entorno de los comandos aislados:
"mode": "deny", que es el único valor admitido. El campo mode explícito mantiene el esquema compatible hacia adelante con modos futuros. Las rutas de archivo siguen las mismas reglas de prefijo que las configuraciones sandbox.filesystem.*, y las entradas de cada ámbito de configuración se fusionan. Debido a que el único modo es deny, cualquier ámbito puede agregar restricciones pero ninguno puede eliminarlas.
No hay una lista de denegación de credenciales integrada, por lo que solo los archivos y variables que enumere están restringidos. La configuración afecta solo a los comandos Bash aislados. Para eliminar las credenciales de Anthropic y del proveedor de nube de todos los subprocesos independientemente del sandboxing, establezca CLAUDE_CODE_SUBPROCESS_ENV_SCRUB.
Cómo funciona el sandboxing
Aislamiento del sistema de archivos
La herramienta Bash aislada restringe el acceso al sistema de archivos a directorios específicos:- Comportamiento de escritura predeterminado: acceso de lectura y escritura al directorio de trabajo actual y sus subdirectorios, más el directorio temporal de sesión al que apunta
$TMPDIR - Comportamiento de lectura predeterminado: acceso de lectura a toda la computadora, excepto ciertos directorios denegados. Tenga en cuenta que este comportamiento predeterminado aún permite leer archivos de credenciales como
~/.aws/credentialsy~/.ssh/. Utilicesandbox.credentialspara bloquear lecturas de estos archivos y desconfigurar variables de entorno secretas, o agregue las rutas adenyRead. - Acceso bloqueado: no puede modificar archivos fuera del directorio de trabajo actual y el directorio temporal de sesión sin permiso explícito, incluidos archivos de configuración de shell como
~/.bashrcy binarios del sistema en/bin/ - Git worktrees: cuando el directorio de trabajo es un git worktree vinculado, el sandbox también permite escrituras en el directorio compartido
.gitdel repositorio principal para que comandos comogit commitpuedan actualizar referencias e índices. Las escrituras ahooks/yconfigdentro de ese directorio permanecen denegadas. - Configurable: defina rutas permitidas y denegadas personalizadas a través de la configuración
sandbox.filesystem.allowWrite en su configuración. Estas restricciones se aplican a nivel del sistema operativo, por lo que se aplican a todos los comandos de subproceso, incluidas herramientas como kubectl, terraform y npm, no solo a las herramientas de archivo de Claude.
Aislamiento de red
El acceso a la red se controla a través de un servidor proxy que se ejecuta fuera del sandbox:- Restricciones de dominio: no hay dominios pre-permitidos. La primera vez que un comando necesita un nuevo dominio, Claude Code solicita aprobación. A partir de v2.1.191, elegir Sí permite el host para el resto de la sesión actual, por lo que las conexiones posteriores al mismo host no solicitan nuevamente. Pre-permita dominios con
allowedDomainspara evitar la solicitud por completo. - Bloqueo administrado: si
allowManagedDomainsOnlyse establece en la configuración administrada, los dominios no permitidos se bloquean automáticamente en lugar de solicitar, y solo se honranallowedDomainsde la configuración administrada. - Soporte de proxy personalizado: los usuarios avanzados pueden implementar reglas personalizadas en el tráfico saliente
- Cobertura integral: las restricciones se aplican a todos los scripts, programas y subprocesos generados por comandos
El proxy integrado aplica la lista de permitidos basada en el nombre de host solicitado y no termina ni inspecciona el tráfico TLS. Consulte Limitaciones de seguridad para las implicaciones de este diseño, y Configuración de proxy personalizado si su modelo de amenaza requiere inspección de TLS.
Aplicación a nivel del sistema operativo
La herramienta Bash aislada aprovecha las primitivas de seguridad del sistema operativo:- macOS: utiliza Seatbelt para la aplicación del sandbox
- Linux: utiliza bubblewrap para el aislamiento
- WSL2: utiliza bubblewrap, igual que Linux
@anthropic-ai/sandbox-runtime, que la página Entornos sandbox cubre como un enfoque separado para envolver todo el proceso de Claude Code.
Cómo se relaciona el sandboxing con los permisos y modos de permiso
El sandboxing, las reglas de permiso y los modos de permiso son capas complementarias. Las secciones a continuación cubren cómo el sandbox interactúa con cada una.Reglas de permiso
Las reglas de permiso y el sandboxing controlan cosas diferentes:- Reglas de permiso controlan qué herramientas puede usar Claude Code y se evalúan antes de que se ejecute cualquier herramienta. Se aplican a todas las herramientas: Bash, Read, Edit, WebFetch, MCP y otras.
- Sandboxing proporciona aplicación a nivel del sistema operativo que restringe lo que los comandos Bash pueden acceder a nivel del sistema de archivos y la red. Se aplica solo a comandos Bash y sus procesos secundarios.
| Configuración o regla | Qué hace |
|---|---|
sandbox.filesystem.allowWrite | Otorga acceso de escritura de subproceso a rutas fuera del directorio de trabajo |
sandbox.filesystem.denyWrite y sandbox.filesystem.denyRead | Bloquea el acceso de subproceso a rutas específicas |
sandbox.filesystem.allowRead | Permite nuevamente la lectura de rutas específicas dentro de una región denyRead |
Reglas de permitir Edit | Otorga acceso de escritura a rutas específicas, de la misma manera que sandbox.filesystem.allowWrite |
Reglas de denegar Read y Edit | Bloquea el acceso a archivos o directorios específicos |
Reglas de permitir y denegar WebFetch | Controla el acceso al dominio |
allowedDomains del sandbox | Controla qué dominios pueden alcanzar los comandos Bash |
deniedDomains del sandbox | Bloquea dominios específicos incluso cuando un comodín allowedDomains más amplio de otra manera los permitiría |
sandbox.filesystem y reglas de permiso se fusionan en la configuración final del sandbox.
El directorio de ejemplos del repositorio claude-code incluye configuraciones de configuración de inicio para escenarios de implementación comunes, incluidos ejemplos específicos del sandbox. Úselos como puntos de partida y ajústelos para que se adapten a sus necesidades.
Modos de permiso
/sandbox no es un modo de permiso. Los modos de permiso deciden si se ejecuta una llamada de herramienta y si se le solicita primero, mientras que el sandbox restringe lo que un comando Bash puede acceder una vez que se ejecuta. Difieren en lo que controlan y qué reemplaza la solicitud por acción:
| Qué controla | Qué reemplaza la solicitud | |
|---|---|---|
/sandbox | Lo que un comando Bash puede acceder una vez que se ejecuta | El límite del sandbox en sí, en modo auto-allow |
| Modo automático | Si se ejecuta cada llamada de herramienta | Un clasificador que revisa acciones |
--dangerously-skip-permissions | Si se ejecuta cada llamada de herramienta | Nada. Las verificaciones de ruta protegida también se omiten; solo eliminar / o su directorio de inicio aún solicita |
Configurar el sandbox para su organización
Los administradores pueden requerir sandboxing para cada usuario, evitar que los desarrolladores amplíen la política y enrutar el tráfico del sandbox a través de un proxy corporativo.Aplicar sandboxing con configuración administrada
Para requerir el sandbox para cada desarrollador, entregue las clavessandbox a través de configuración administrada, ya sea como un archivo administrado por su MDM o a través de configuración administrada por servidor en Claude.ai.
La siguiente configuración de configuración administrada habilita el sandbox, se niega a iniciar Claude Code si el sandbox no puede inicializarse y evita que el modelo reintente comandos fuera del sandbox:
enabled controlan qué sucede cuando el sandbox no puede ejecutar un comando:
failIfUnavailable: una dependencia faltante como bubblewrap en Linux bloquea que Claude Code se inicie en lugar de mostrar una advertencia y volver a la ejecución sin aislarallowUnsandboxedCommands: false: la salida de emergenciadangerouslyDisableSandboxse ignora, por lo que los comandos que fallan bajo el sandbox no pueden reintentarse fuera de él
excludedCommands para cualquier herramienta aprobada por la organización que deba ejecutarse sin aislamiento. Agregue entradas sandbox.credentials para directorios de credenciales como ~/.aws y ~/.ssh y para variables de entorno secretas, ya que la política de lectura predeterminada aún las permite.
El sandbox no se ejecuta en Windows nativo, por lo que si su flota incluye hosts de Windows, limite esta configuración a macOS y Linux o haga que esos usuarios ejecuten Claude Code dentro de WSL2 o un contenedor.
Evitar que los desarrolladores amplíen la política
Para claves booleanas comoenabled y failIfUnavailable, Claude Code usa el valor administrado e ignora cualquier cosa que un desarrollador establezca localmente. Para claves de array como excludedCommands y allowRead, Claude Code fusiona entradas de cada ámbito, por lo que un desarrollador puede agregar entradas que amplíen la política.
Establezca allowManagedReadPathsOnly en true en la configuración administrada para que solo se honren las entradas allowRead de la configuración administrada. Las entradas allowRead de usuario, proyecto y local se ignoran. Esto evita que los desarrolladores amplíen el acceso de lectura más allá de las rutas aprobadas por la organización. Para bloquear dominios de red a los valores administrados de la misma manera, establezca allowManagedDomainsOnly.
excludedCommands no tiene un bloqueo equivalente solo administrado, por lo que un desarrollador siempre puede agregar entradas que ejecuten comandos adicionales fuera del sandbox. Mantenga la lista administrada estrecha.
Configuración de proxy personalizado
Para organizaciones que requieren seguridad de red avanzada, puede implementar un proxy personalizado para:- Descifrar e inspeccionar tráfico HTTPS
- Aplicar reglas de filtrado personalizadas
- Registrar todas las solicitudes de red
- Integrar con infraestructura de seguridad existente
Solución de problemas
Algunos comandos fallan dentro del sandbox aunque funcionen fuera de él. Las correcciones a continuación cubren los casos más comunes.- Los comandos fallan con un error de host no permitido: muchas herramientas CLI necesitan alcanzar hosts específicos. Otorgar permiso cuando se solicita agrega el host a su lista de permitidos para que la herramienta se ejecute dentro del sandbox en el futuro.
jestse cuelga o falla:watchmanes incompatible con el sandbox. Ejecutejest --no-watchmanen su lugar.- Las CLI basadas en Go fallan en la verificación de TLS en macOS: herramientas como
gh,gcloudyterraformpueden fallar en la verificación de TLS bajo Seatbelt. Liste estas herramientas enexcludedCommandspara ejecutarlas fuera del sandbox. Si está usandohttpProxyPortcon un proxy MITM y CA personalizado, establezcaenableWeakerNetworkIsolationentrueen su lugar. - Los comandos
open,osascripto los flujos de autenticación basados en navegador fallan con el error-600en macOS: el sandbox bloquea Apple Events de forma predeterminada. EstablezcaallowAppleEventsentrueen su configuración de usuario, administrada o CLI para permitirlos. La configuración del proyecto se ignora para esta clave. Habilitarlo elimina el aislamiento de ejecución de código, ya que los comandos aislados pueden entonces lanzar otras aplicaciones sin aislar sin solicitud del usuario y enviar comandos AppleScript a aplicaciones en ejecución, sujeto a la solicitud de consentimiento de automatización de macOS (TCC). Alternativamente, agregue el comando aexcludedCommandspara ejecutarlo fuera del sandbox. - Los comandos
dockerfallan:dockeres incompatible con el sandbox. Agreguedocker *aexcludedCommandspara ejecutarlo fuera del sandbox. - Bubblewrap falla al iniciarse dentro de un contenedor: en un contenedor sin privilegios, bubblewrap no puede montar un sistema de archivos
/procnuevo. EstablezcaenableWeakerNestedSandboxentruepara que el sandbox interno monte el/procexistente del contenedor en su lugar. Solo use esta configuración cuando el contenedor externo ya proporcione el límite de aislamiento que necesita, ya que expone información de proceso a comandos aislados que un montaje/procnuevo ocultaría. - Filtro seccomp en Linux: el filtro seccomp es necesario para bloquear sockets de dominio Unix. La pestaña Dependencies en
/sandboxmuestra si está disponible. Si falta, ejecutenpm install -g @anthropic-ai/sandbox-runtimepara instalar el asistente. --dangerously-skip-permissionsfalla como root: esta bandera se bloquea cuando se ejecuta como root o a través de sudo en Linux y macOS, porque el acceso root combinado sin solicitudes de permiso puede modificar cualquier archivo o servicio en el sistema. La verificación se omite automáticamente dentro de un sandbox reconocido. Para ejecutar de manera autónoma en un contenedor, use la configuración contenedor de desarrollo, que ejecuta Claude Code como un usuario no root.
Limitaciones
El sandboxing reduce el riesgo pero no es un límite de aislamiento completo. Revise las limitaciones a continuación antes de confiar en él como un control de seguridad duro.Limitaciones de seguridad
- Filtrado de red: el sistema de filtrado de red funciona restringiendo los dominios a los que se permite que se conecten los procesos. El proxy integrado no termina ni realiza inspección de TLS en el tráfico saliente, por lo que el contenido de las conexiones cifradas no se examina. Usted es responsable de asegurarse de que solo se permitan dominios confiables en su política.
- Escalada de privilegios a través de sockets Unix: la configuración
allowUnixSocketspuede otorgar inadvertidamente acceso a servicios del sistema poderosos que podrían llevar a omisiones del sandbox. Por ejemplo, permitir acceso a/var/run/docker.sockefectivamente otorga acceso al sistema host a través del socket de Docker. Considere cuidadosamente cualquier socket Unix que permita a través del sandbox. - Escalada de permisos del sistema de archivos: los permisos de escritura del sistema de archivos demasiado amplios pueden permitir ataques de escalada de privilegios. Permitir escrituras en directorios que contienen ejecutables en
$PATH, directorios de configuración del sistema o archivos de configuración de shell del usuario como.bashrco.zshrcpuede llevar a ejecución de código en diferentes contextos de seguridad cuando otros usuarios o procesos del sistema acceden a estos archivos. - Fortaleza del sandbox de Linux: la implementación de Linux proporciona un fuerte aislamiento del sistema de archivos y la red pero incluye un modo
enableWeakerNestedSandboxque le permite funcionar dentro de entornos Docker sin espacios de nombres privilegiados, o en hosts Linux donde los espacios de nombres de usuario sin privilegios están deshabilitados por sysctl. Esta opción debilita considerablemente la seguridad y solo debe usarse cuando se aplica aislamiento adicional de otra manera. - Apple Events en macOS: el sandbox de macOS bloquea Apple Events de forma predeterminada. La configuración
allowAppleEventslevanta esta restricción para que herramientas comoopenyosascriptfuncionen, pero elimina el aislamiento de ejecución de código: los comandos aislados pueden lanzar otras aplicaciones sin aislar sin solicitud del usuario, y pueden enviar comandos AppleScript a aplicaciones en ejecución, sujeto al aviso de consentimiento de automatización por aplicación de macOS (TCC). Solo se honra desde configuración de usuario, administrada o CLI. La configuración del proyecto no puede habilitarla. - Archivos de configuración protegidos: el sandbox automáticamente deniega acceso de escritura a los archivos
settings.jsonde Claude Code en cada ámbito y al directorio de configuración administrada, por lo que un comando aislado no puede modificar su propia política.
Compatibilidad de plataforma y herramienta
- Soporte de plataforma: admite macOS, Linux y WSL2. WSL1 y Windows nativo no son compatibles.
- Sobrecarga de rendimiento: mínima, pero algunas operaciones del sistema de archivos pueden ser ligeramente más lentas.
- Compatibilidad de herramienta: algunas herramientas que requieren patrones de acceso específicos del sistema pueden necesitar ajustes de configuración, o pueden necesitar ejecutarse fuera del sandbox.
Alcance
El sandbox aísla subprocesos Bash. Otras herramientas operan bajo límites diferentes:- Herramientas de archivo integradas: Read, Edit y Write usan el sistema de permisos directamente en lugar de ejecutarse a través del sandbox. Consulte permisos.
- Uso de computadora: cuando Claude abre aplicaciones y controla su pantalla, se ejecuta en su escritorio real en lugar de en un entorno aislado. Las solicitudes de permiso por aplicación controlan cada aplicación. Consulte uso de computadora en CLI o uso de computadora en Desktop.
- Variables de entorno: los comandos Bash aislados heredan el entorno del proceso padre de forma predeterminada, incluidas las credenciales establecidas allí. Use
sandbox.credentialspara eliminar variables específicas para comandos aislados, o establezcaCLAUDE_CODE_SUBPROCESS_ENV_SCRUBpara eliminar credenciales de Anthropic y proveedores de nube de todos los subprocesos. - Subagentes: los subagentes se ejecutan en el mismo proceso que la sesión padre y usan la misma configuración de sandbox. Los comandos Bash dentro de un subagente están aislados cuando el sandboxing está habilitado en la sesión padre.
Ver también
- Entornos sandbox: compare el sandbox integrado con contenedores de desarrollo, contenedores y máquinas virtuales
- Seguridad: características de seguridad integral y mejores prácticas
- Permisos: configuración de permisos y control de acceso
- Configuración: referencia de configuración completa
- Referencia de CLI: opciones de línea de comandos