\
CONTEXT/academy
Novedades · ≈ 6 min

Claude Code estrena modo restringido: `--restricted` arranca sin las herramientas que ejecutan código y sin cargar tus settings

Desde la v2.1.248, `--restricted` (o `CLAUDE_CODE_RESTRICTED=1`) arranca Claude Code quitando las herramientas que ejecutan comandos y código, confinando los ficheros al directorio de trabajo, ignorando tus settings de usuario y proyecto y rechazando `bypassPermissions`. Qué te afecta y a quién.

Publicado el

Sesgo declarado, como siempre: enseño Claude Code a equipos de ingeniería, así que cualquier cambio en cómo se limita lo que Claude puede ejecutar —y en quién decide esa política— me toca de lleno. Precisamente por eso esta pieza va de hechos verificables y de qué te toca decidir, no de vender un flag de arranque como una revolución.

Esta semana hay un cambio callado pero con una lectura clara para cualquiera que corra Claude Code en un contexto que no controla del todo: un nuevo modo de arranque restringido que quita de golpe las herramientas peligrosas y deja de leer tus ficheros de configuración.

Los hechos

Según el changelog oficial de Claude Code, la versión v2.1.248 (27 de agosto de 2026) añade el flag --restricted (o la variable de entorno CLAUDE_CODE_RESTRICTED=1), que "elimina las herramientas integradas que ejecutan comandos o código y WebFetch (salvo que las nombres en --tools), mantiene las herramientas de ficheros dentro del directorio de trabajo, rechaza bypassPermissions e ignora los ficheros de settings de usuario, proyecto y local".

La referencia de CLI lo detalla y le pone un caso de uso concreto: "Arranca en modo restringido. Úsalo cuando un harness de evaluación conduce claude en una máquina compartida y Claude Code no debe ejecutar comandos ni leer los settings de usuario y proyecto de esa máquina". Desglosado, el modo hace cuatro cosas:

  • Quita las herramientas que ejecutan comandos o código y WebFetch. No están disponibles salvo que las nombres una a una en --tools —y ojo, no valen a través del preset default, sino nombradas de forma individual.
  • Confina las herramientas de ficheros al directorio de trabajo. La lectura y la escritura de ficheros quedan encerradas en tus working directories.
  • Solo carga los settings gestionados y --settings. Ignora los settings de usuario, de proyecto (.claude/settings.json) y locales. Solo entran los managed settings de la organización y lo que pases explícitamente con --settings.
  • Rechaza bypassPermissions. El modo que se salta todas las comprobaciones queda vetado; no puedes reactivarlo desde dentro.

No es un experimento en preview: es comportamiento estable a partir de la v2.1.248. Para tenerlo, actualiza a esa versión o superior.

Por qué esto importa

El titular fácil es "un flag más". El titular real, para un equipo, es que Claude Code gana por fin un modo de mínimo privilegio de una sola pieza. Hasta ahora, dejar a Claude en un contexto poco confiable —una máquina compartida, un pipeline, un repo de terceros que estás revisando— significaba ir apagando capacidades a mano: reglas de permisos, sandbox, denegar herramientas. --restricted empaqueta esa postura en un único arranque: sin herramientas que ejecuten código, con los ficheros encerrados en el directorio de trabajo y sin cargar configuraciones que tú no controlas.

Ese último punto es el más fácil de pasar por alto y el más interesante para un equipo: ignorar los settings de usuario, proyecto y locales. Significa que un .claude/settings.json que venga en un repo clonado —o los ajustes que tenga la máquina donde corre el harness— no pueden abrir permisos ni redefinir reglas a tus espaldas. Lo único que manda es lo que la organización fija por managed settings y lo que pasas de forma explícita. Es la diferencia entre "confío en la configuración que encuentre" y "aquí solo vale lo que yo apruebo".

Qué te afecta, según quién seas

Si corres Claude Code en evaluaciones o en máquinas compartidas. Este es el caso que la propia documentación pone por delante. Cuando un harness lanza claude sobre una máquina que no es tuya, no quieres que ejecute comandos ni que herede la configuración de ese equipo. --restricted es exactamente ese candado: sin ejecución de comandos ni WebFetch, con los ficheros confinados y leyendo solo los settings que tú controlas.

Si dejas a Claude tocar código o repos que aún no has revisado. Un repositorio de terceros, una PR de fuera, una demo que quieres inspeccionar sin darle manos libres: arrancar en modo restringido te deja leer y navegar con las herramientas de ficheros —encerradas en el directorio de trabajo— sin arriesgarte a que un comando se ejecute o a que la configuración del propio repo relaje tus protecciones. Y si de verdad necesitas alguna herramienta concreta, la habilitas nombrándola en --tools, no abriendo la puerta entera.

Si administras Claude Code para un equipo. Aquí hay un matiz que conviene subrayar: en modo restringido, la única configuración que sobrevive son los managed settings de la organización y lo que se pase con --settings. Dicho de otro modo, el modo restringido y los settings gestionados se refuerzan: la política que despliegas de forma central sigue mandando, y nada de lo que traiga la máquina o el repo puede sortearla. Decidir qué se cierra sin excepción y quién puede reabrirlo es justo el tipo de política que trabajamos en el curso de permisos, settings y seguridad.

Qué llevarte

  • --restricted (v2.1.248): un modo de arranque de mínimo privilegio, también disponible como CLAUDE_CODE_RESTRICTED=1.
  • Sin herramientas peligrosas: quita las que ejecutan comandos o código y WebFetch; para recuperar alguna, nómbrala en --tools (no vale el preset default).
  • Ficheros confinados: las herramientas de ficheros quedan dentro del directorio de trabajo.
  • Configuración bajo control: ignora los settings de usuario, proyecto y locales; solo carga los managed settings y --settings.
  • Sin escape: rechaza bypassPermissions, así que no puede saltarse todas las comprobaciones desde dentro.

Preguntas rápidas

¿Cambia algo si no uso el flag? No. Es un modo opt-in: solo se activa cuando arrancas con --restricted o CLAUDE_CODE_RESTRICTED=1. Sin él, Claude Code se comporta como hasta ahora.

¿Puedo recuperar una herramienta concreta en modo restringido? Sí, nombrándola de forma individual en --tools. Lo que no vale es habilitarlas a través del preset default: en modo restringido tienes que pedir cada herramienta por su nombre.

¿En qué se diferencia del sandbox de Bash? El sandbox de Bash aísla lo que un comando puede leer, escribir y a dónde puede conectarse cuando se ejecuta. --restricted va un paso antes: retira del arranque las herramientas que ejecutan comandos y código, y encima ignora tus ficheros de settings. Son capas distintas y complementarias.


¿Vais a dejar correr a Claude en máquinas o repos que no controláis del todo? Decidir cuándo arrancar en modo restringido, qué herramientas nombrar de forma explícita y cómo encaja con los managed settings de la organización es justo el tipo de criterio que trabajamos en la formación en directo para equipos — sobre vuestro repo, vuestra configuración y vuestro modelo de amenazas real.