AI-translated from English; not yet reviewed by a fluent editor.
# Comprueba el alcance de las instrucciones de Claude Code en dos proyectos de clientes
> Compara las instrucciones cargadas en dos sesiones nuevas de proyectos Claude Code y verifica cuándo un archivo de instrucciones anidado entra en contexto tras una lectura autorizada.
By BIG CHANGE Editorial
Published: 2026-10-20T00:44:54.031Z
Updated: 2026-10-20T00:44:54.031Z
Canonical: https://bigchange.ai/blog/claude-code-client-project-instruction-scope-guide

AI-generated conceptual illustration by BIG CHANGE; no actual client files, Claude Code interface or tested result is depicted.
Claude Code puede cargar instrucciones de varios lugares a la vez. Si mantienes dos proyectos de clientes, una sesión nueva en cada directorio permite comprobar qué archivos entraron realmente en cada contexto. El resultado útil son dos listas registradas, no suponer que las carpetas hermanas separan la información de los clientes.
## El gran cambio
**Qué cambió:** Esta guía convierte la jerarquía documentada de instrucciones de Claude Code en una comparación repetible entre dos directorios existentes y autorizados. Registras los archivos cargados al iniciar y compruebas si aparece un archivo de instrucciones anidado tras una lectura permitida.
**Por qué importa:** Un directorio padre común, una instrucción personal, una importación, regla o ajuste pueden afectar a ambos proyectos. `/context` muestra qué archivos de memoria están cargados en la sesión activa, para investigar una ruta inesperada antes de trabajar para el cliente.
**Qué vigilar:** Las instrucciones cargadas no limitan los archivos a los que Claude puede acceder ni garantizan que las obedezca. Revisa la cuenta, permisos, importaciones, hooks y condiciones de uso de datos antes de enviar contenido del cliente al proveedor elegido.
## Qué necesitas
Este procedimiento es para un desarrollador autorizado a inspeccionar dos repositorios de clientes **existentes** y su configuración de Claude Code. Obtén autorización aparte para enviar el contenido concreto al proveedor o cuenta Claude elegidos. El permiso para editar archivos locales no resuelve esa decisión. Necesitas terminal, Claude Code instalado, una cuenta o proveedor admisible y un archivo existente sin datos sensibles dentro de un subdirectorio de un proyecto. Consulta la documentación de Anthropic sobre [instalación](https://code.claude.com/docs/en/setup), [costes](https://code.claude.com/docs/en/costs) y [uso de datos](https://code.claude.com/docs/en/data-usage) correspondiente a tu vía de acceso.
La estructura siguiente muestra las rutas que debes identificar; no pide crear proyectos nuevos. Sustituye cada ruta ilustrativa de los comandos por su ruta real autorizada. Un archivo padre `CLAUDE.md` es opcional y solo debe contener instrucciones aprobadas para ambos proyectos. El archivo anidado y el documento inocuo ya deben ser adecuados para la vía de datos de la cuenta elegida.
```text
AUTHORIZED_PARENT/
CLAUDE.md optional shared instructions
project-A/
CLAUDE.md A's project instructions
project-B/
CLAUDE.md B's project instructions
subdir/
CLAUDE.md B's nested instructions
README.md authorized, nonsensitive read target
```
## 1. Resuelve las dos rutas de proyecto
Usa **una de las dos opciones:** PowerShell o Bash. Asigna a las variables los directorios reales. Las comprobaciones exigen rutas existentes, comparan las cadenas resultantes y confirman que existe el archivo de lectura de B. La función de PowerShell `Resolve-Path` puede conservar un alias de enlace simbólico o unión; distintas cadenas no prueban que sean proyectos físicos diferentes. Inspecciona enlaces y uniones en ambas rutas de inicio y sus ancestros, sigue sus destinos y confirma que A y B sean proyectos distintos antes de continuar. Guarda rutas, comprobaciones y posteriores listas de contexto en un registro privado.
```powershell
$a = (Resolve-Path -LiteralPath 'C:\actual\authorized\project-A' -ErrorAction Stop).Path
$b = (Resolve-Path -LiteralPath 'C:\actual\authorized\project-B' -ErrorAction Stop).Path
if (-not (Test-Path -LiteralPath $a -PathType Container)) { throw 'A must be an existing directory' }
if (-not (Test-Path -LiteralPath $b -PathType Container)) { throw 'B must be an existing directory' }
if ($a -eq $b) { throw 'A and B must be different directories' }
$target = Join-Path $b 'subdir/README.md'
if (-not (Test-Path -LiteralPath $target -PathType Leaf)) { throw 'Choose an existing authorized nonsensitive file in B/subdir' }
$a
$b
$target
```
```bash
a=$(realpath -- /actual/authorized/project-A) || exit 1
b=$(realpath -- /actual/authorized/project-B) || exit 1
test -d "$a" || { printf '%s\n' 'A must be an existing directory' >&2; exit 1; }
test -d "$b" || { printf '%s\n' 'B must be an existing directory' >&2; exit 1; }
test "$a" != "$b" || { printf '%s\n' 'A and B must be different directories' >&2; exit 1; }
target="$b/subdir/README.md"
test -f "$target" || { printf '%s\n' 'Choose an existing authorized nonsensitive file in B/subdir' >&2; exit 1; }
printf '%s\n' "$a" "$b" "$target"
```
Si los proyectos no son hermanos, registra por separado sus cadenas reales de ancestros. No deduzcas un padre común del dibujo.
## 2. Audita las posibles cargas antes de abrir los proyectos
Para **cada** directorio de inicio resuelto, inspecciona `CLAUDE.md`, `.claude/CLAUDE.md`, `CLAUDE.local.md`, `AGENTS.md` y `.claude/AGENTS.md` allí y en todos sus ancestros hasta la raíz del sistema de archivos. Revisa también las instrucciones administradas de tu sistema operativo, `~/.claude/CLAUDE.md`, las reglas de usuario y los archivos `.claude/rules/` del proyecto. El [manual de memoria](https://code.claude.com/docs/en/memory) indica que los archivos `CLAUDE.md` encontrados se concatenan; uno más cercano no borra el texto de un ancestro. Un archivo anidado `CLAUDE.md` suele cargarse cuando Claude lee, escribe o edita otro archivo en ese directorio. Las reglas limitadas por ruta pueden cargarse al acceder a un archivo coincidente.
Estos comandos solo muestran rutas y proporcionan un inventario de ancestros sin revelar contenidos. Revisa los archivos devueltos con autorización del propietario correspondiente. Repite con ambas variables; en Bash, el bucle incluye las dos automáticamente.
```powershell
foreach ($start in @($a, $b)) {
$dir = [System.IO.DirectoryInfo]::new($start)
while ($null -ne $dir) {
Get-Item -LiteralPath $dir.FullName -Force | Select-Object FullName,LinkType,Target
foreach ($name in @('CLAUDE.md', 'CLAUDE.local.md', 'AGENTS.md', '.claude/CLAUDE.md', '.claude/AGENTS.md')) {
$candidate = Join-Path $dir.FullName $name
if (Test-Path -LiteralPath $candidate -PathType Leaf) { $candidate }
}
$dir = $dir.Parent
}
}
```
```bash
for start in "$a" "$b"; do
dir=$start
while :; do
for name in CLAUDE.md CLAUDE.local.md AGENTS.md .claude/CLAUDE.md .claude/AGENTS.md; do
test -f "$dir/$name" && printf '%s\n' "$dir/$name"
done
test "$dir" = / && break
dir=$(dirname -- "$dir")
done
done
```
Lee los archivos reales y sus importaciones `@path` ; las rutas relativas se resuelven desde el archivo que las contiene. Sigue los enlaces simbólicos o uniones de cada ruta de PowerShell y sus ancestros; audita tanto las jerarquías nombradas como las de destino que puedan afectar a la sesión. Comprueba destinos de enlaces de instrucciones y patrones `claudeMdExcludes` . Inspecciona `.claude/settings.json`, `.claude/settings.local.json`, ajustes de usuario y administrados, opciones de inicio `--settings` o `--setting-sources` , hooks configurados y confianza de cada proyecto. `CLAUDE_CONFIG_DIR` puede cambiar el directorio de configuración de usuario; compruébalo antes de dar por hecho `~/.claude`. Revisa qué comandos podría ejecutar un hook antes de aceptar la confianza del espacio de trabajo. Una importación externa puede pedir aprobación; si se rechaza, no aparecerá como se esperaba. El [manual de ajustes](https://code.claude.com/docs/en/settings) explica qué capa aporta cada ajuste y cuáles esperan la confianza del proyecto.
Comprueba la opción **Project instructions** en `/config` o en el ajuste de plugin de usuario/administrado. La documentación actual describe `AGENTS.md` como alternativa condicional cuando ningún archivo del proyecto o sus ancestros `CLAUDE.md` o `CLAUDE.local.md` cumple los requisitos; `claude-md-and-agents-md` carga ambos. La compatibilidad directa con `AGENTS.md` depende de la versión y el plugin habilitado. Versiones anteriores y algunos ajustes podían omitirlo, incluido el problema de una versión tratado en el [reportaje de BIG CHANGE sobre el indicador de función AGENTS.md](https://bigchange.ai/blog/claude-code-agents-md-telemetry-feature-flags). Usa tu versión real, el ajuste y el resultado de `/context` en vez de suponer que siempre se carga.
Registra los argumentos `--add-dir` y `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` por separado. `--add-dir` amplía el acceso a archivos; de forma predeterminada no carga el archivo `CLAUDE.md` del directorio adicional. La variable de entorno habilita esa carga. Examina la memoria automática con `/memory` como canal separado: puede compartirse entre worktrees y subdirectorios de un repositorio, y su ubicación puede sustituirse. Comprueba ubicación y contenido reales antes de interpretar la comparación. Nunca pongas credenciales o datos no publicados de clientes en instrucciones de ejemplo o registros públicos.
Antes de iniciar, comprueba estas variables de entorno en la misma shell. Un valor Bash vacío significa ausente o vacío; PowerShell solo muestra variables presentes. Estos valores no descartan los de archivos de configuración: confirma los ajustes activos dentro de cada sesión.
```powershell
Get-Item Env:CLAUDE_CONFIG_DIR,Env:CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD -ErrorAction SilentlyContinue | Select-Object Name,Value
```
```bash
printf 'CLAUDE_CONFIG_DIR=%s\n' "${CLAUDE_CONFIG_DIR-}"
printf 'CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=%s\n' "${CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD-}"
```
## 3. Inicia una sesión nueva en el proyecto A
Registra `claude --version` y el comando exacto. Inicia un proceso nuevo desde A, sin `--resume` ni `--continue`. Acepta la confianza solo después de auditar ajustes y hooks. Ejecuta `/context` **antes** de pedir a Claude que abra B o cualquier archivo anidado. Anota las rutas exactas de archivos de memoria y reglas; comprueba su presencia, sin deducir el orden de inyección. Usa `/memory` para inspeccionar las entradas personales, de proyecto y memoria automática mostradas, y su ubicación. Después sal de la sesión.
```powershell
claude --version
Set-Location -LiteralPath $a -ErrorAction Stop
claude
```
```bash
claude --version
cd -- "$a" && claude
```
Dentro de Claude Code, `/status` identifica las fuentes de ajustes activas, y `/permissions` muestra las reglas de herramientas vigentes y sus fuentes. Anótalas junto a la lista de instrucciones:
```text
/context
/memory
/status
/permissions
/exit
```
Deberían aparecer las instrucciones aplicables de A y ancestros comunes, según los ajustes y exclusiones auditados. Un archivo propio de B no debería pertenecer a la jerarquía de inicio de A. Si aparece mediante importación, enlace, directorio añadido u otro canal, registra el mecanismo. Su ausencia no prueba que los archivos de B sean inaccesibles.
## 4. Inicia una sesión aparte en B y lee un archivo anidado
Usa un proceso **nuevo** de Claude Code en B con la misma versión y vía de cuenta/proveedor. Registra `/context` y `/memory` antes de cualquier lectura anidada. Pide a Claude que lea únicamente el archivo exacto, autorizado y sin datos sensibles. Confirma que la lectura ocurrió y ejecuta `/context` de nuevo para comparar rutas presentes. La [regla de carga del manual](https://code.claude.com/docs/en/memory) prevé que el archivo de B `subdir/CLAUDE.md` entre en contexto después de acceder a otro archivo en ese directorio, salvo que un ajuste, exclusión o comportamiento de versión cambie el resultado.
```powershell
Set-Location -LiteralPath $b -ErrorAction Stop
claude
```
```bash
cd -- "$b" && claude
```
Dentro de Claude Code, sustituye la petición de lectura solo si el destino autorizado tiene otra ruta relativa:
```text
/context
/memory
/status
/permissions
Read only subdir/README.md. Tell me whether that exact file was read; do not open other files or display its contents.
/context
/exit
```
Claude Code puede solicitar permiso para una herramienta o proponer otra acción. Aprueba únicamente la lectura autorizada y confirma que la herramienta abrió realmente ese archivo. Una respuesta que afirma haberlo leído no basta por sí sola.
## 5. Compara las listas y explica diferencias
Guarda una tabla privada con las rutas resueltas A y B, raíces de repositorios, versión de Claude Code, cuenta/proveedor, comandos, confianza, fuentes de ajustes, directorios adicionales, rutas de instrucciones y reglas, importaciones, ubicaciones de memoria automática y las tres listas de `/context` observadas: A al iniciar, B antes de leer y B después de leer. Marca cada archivo esperado como presente, ausente o sin explicar. No copies instrucciones de clientes a un informe público.
Si falta un archivo esperado, verifica primero el directorio de inicio y la ruta real. Después comprueba Project instructions y el plugin/versión, `claudeMdExcludes`, `--setting-sources`, importaciones y aprobación externa, patrones de reglas, enlaces simbólicos y lectura anidada confirmada. Si aparece un archivo inesperado, rastrea ancestros, instrucciones personales o administradas, importaciones, reglas, hooks, carga de memoria de directorios adicionales y memoria automática. Un ancestro común o instrucción personal pueden ser intencionados; su procedencia y contenido determinan si pertenecen a ambos proyectos.
Cambia instrucciones o ajustes solo con autorización del cliente correspondiente. Revisa las diferencias propuestas, conserva restricciones y repite ambas observaciones en sesiones nuevas después de modificar. Si no puedes explicar una ruta o no tienes permiso para inspeccionar un canal, pausa el trabajo del cliente y pide al propietario o administrador resolver esa incertidumbre concreta.
El ejercicio termina cuando tienes dos listas de inicio, la lista verificada de B antes/después de leer el archivo anidado y una explicación de cada ruta inesperada relevante. Establece la presencia observada de instrucciones en esas sesiones. No establece confidencialidad, aislamiento de acceso, obediencia garantizada ni el orden exacto en que el modelo utilizó instrucciones. Para inspeccionar y continuar una conversación existente, consulta nuestra [guía de contexto de sesión Claude Code](https://bigchange.ai/blog/claude-code-session-context-continue-guide).
Los cargos y límites dependen del plan, autenticación y proveedor. La [guía de costes](https://code.claude.com/docs/en/costs) de Anthropic contiene las condiciones actuales. Este artículo se preparó con documentación: BIG CHANGE no inspeccionó archivos de clientes, ejecutó sesiones A/B, probó un resultado de modelo ni midió tiempo o coste.
## Fuentes y lecturas adicionales
- [Anthropic, «Cómo recuerda Claude tu proyecto»](https://code.claude.com/docs/en/memory): alcance de instrucciones, importaciones, carga anidada, `AGENTS.md`, reglas, exclusiones, directorios añadidos, memoria automática y `/memory`. Las opciones concretas pueden cambiar con las versiones de Claude Code.
- [Anthropic, «Archivos de ajustes y precedencia»](https://code.claude.com/docs/en/settings): configuración de usuario, proyecto, local y administrada, incluidos `/status`, confianza y hooks.
- [Anthropic, «Configurar permisos»](https://code.claude.com/docs/en/permissions): `/permissions` muestra las reglas de herramientas activas y sus fuentes; las instrucciones no imponen por sí mismas el acceso a herramientas.
- [Anthropic, «Explorar la ventana de contexto»](https://code.claude.com/docs/en/context-window): `/context` muestra archivos de memoria cargados en una sesión activa; la presencia mostrada no prueba el orden de inyección.
- [Anthropic, instalación, costes y uso de datos](https://code.claude.com/docs/en/setup): confirma requisitos de instalación y cuenta; lee también las condiciones separadas de [costes](https://code.claude.com/docs/en/costs) y [uso de datos](https://code.claude.com/docs/en/data-usage) para tu vía de acceso.
## Sources
- [Anthropic: cómo recuerda Claude tu proyecto](https://code.claude.com/docs/en/memory) — Manual primario de instrucciones administradas, de usuario, proyecto y locales; carga de ancestros y archivos anidados; archivos acumulativos; importaciones; reglas; alternativa AGENTS.md y límites de versión/ajustes; exclusiones; acceso a directorios adicionales frente a carga de memoria; y memoria automática. Describe comportamiento documentado, no presencia observada en dos sesiones de clientes.
- [Anthropic: archivos de ajustes y precedencia](https://code.claude.com/docs/en/settings) — Manual primario de capas de configuración, CLAUDE_CONFIG_DIR, lectura de fuentes de ajustes con /status, ajustes locales, confianza y hooks. El lector debe revisar ajustes reales y hooks existentes; aquí no se inspeccionó ninguna configuración de cliente.
- [Anthropic: configurar permisos](https://code.claude.com/docs/en/permissions) — Documenta /permissions como vista de reglas de herramientas activas y sus archivos de ajustes de origen. Los archivos de instrucciones no imponen acceso a herramientas; el lector solo debe aprobar la lectura anidada autorizada.
- [Anthropic: explorar la ventana de contexto](https://code.claude.com/docs/en/context-window) — Documenta /context como comprobación en vivo de archivos de memoria cargados y /memory para inspeccionar memoria. La presencia en la lista es la observación propuesta; el orden visual no se presenta como orden de inyección al modelo.
- [Anthropic: configuración avanzada](https://code.claude.com/docs/en/setup) — Requisitos de instalación y cuenta/proveedor para una sesión Claude Code operada por el lector. BIG CHANGE no realizó instalación ni sesión.
- [Anthropic: gestionar costes eficazmente](https://code.claude.com/docs/en/costs) — La facturación y límites varían según plan, autenticación y proveedor. La guía no afirma un precio fijo, cuota, ahorro de tiempo o consumo medido para el ejercicio.
- [Anthropic: uso de datos](https://code.claude.com/docs/en/data-usage) — El tratamiento varía entre vías de consumo, comerciales y de proveedores. La autorización del cliente para el contenido concreto debe preceder al envío al modelo; no se afirma privacidad universal.
- [BIG CHANGE: cómo inspeccionar el contexto y continuar una sesión Claude Code](https://bigchange.ai/blog/claude-code-session-context-continue-guide) — Cobertura relacionada sobre continuar una sesión existente. Su tarea difiere de comparar instrucciones en sesiones nuevas de dos proyectos y no es fuente de los pasos nuevos.
- [BIG CHANGE: Claude Code puede omitir AGENTS.md con la telemetría desactivada](https://bigchange.ai/blog/claude-code-agents-md-telemetry-feature-flags) — Reportaje relacionado sobre un indicador de función de una versión concreta. El artículo usa el manual oficial actual y la versión, ajustes y lecturas del lector, nunca una afirmación incondicional de carga de AGENTS.md.
El boletín de BIG CHANGE
La visión global, a tu ritmo.
Historias recientes sobre IA y robótica, cambios que vale la pena observar e ideas prácticas para usar. Elige un informe diario, un resumen semanal o una perspectiva mensual.
Próximo envío programado (UTC): . Recibirás tu primera edición en el próximo envío programado después de confirmar.
Tu privacidad, tu elección.
El almacenamiento necesario ayuda a proteger el sitio y a recordar tus preferencias. Google Analytics opcional permanece desactivado hasta que lo autorices. Puedes leer todas las historias usando solo el almacenamiento necesario. Detalles de privacidad