Módulo 10 · Sistema de Conocimiento — Ingeniería de Agentes y MCP

📋 Referencia Técnica — Claude Code

El "dash-1" de Claude Code. Todos los comandos, flags, variables de entorno, modos de permiso y configuración verificados en la documentación oficial (mayo 2026).

← Volver al Dashboard

Comandos CLI — Referencia Completa

A Fuente oficial: code.claude.com/docs/en/cli-reference

ComandoDescripciónEjemplo
claudeInicia sesión interactivaclaude
claude "query"Sesión con prompt inicialclaude "explica este proyecto"
claude -p "query"SDK mode: responde y saleclaude -p "explica esta función"
cat file | claude -pProcesa contenido pipedcat logs.txt | claude -p "explica"
claude -cContinúa la conversación más recienteclaude -c
claude -r "nombre"Resume sesión por nombre o IDclaude -r "auth-refactor"
claude updateActualiza al a última versiónclaude update
claude install [ver]Instala versión específica: stable, latest, o númeroclaude install stable
claude auth loginLogin. Flags: --email, --sso, --consoleclaude auth login --console
claude auth logoutCierra sesiónclaude auth logout
claude auth statusEstado de auth como JSON. --text para legible. Exit 0=loggeadoclaude auth status
claude agentsMonitor de sesiones en background. --cwd para filtrarclaude agents
claude attach <id>Adjunta a sesión en background en este terminalclaude attach 7c5dcf5d
claude logs <id>Output reciente de sesión en backgroundclaude logs 7c5dcf5d
claude stop <id>Detiene sesión en background. Alias: claude killclaude stop 7c5dcf5d
claude respawn <id>Reinicia sesión detenida con conversación intacta. --allclaude respawn 7c5dcf5d
claude rm <id>Elimina sesión de la listaclaude rm 7c5dcf5d
claude auto-mode defaultsReglas del clasificador auto mode como JSONclaude auto-mode defaults > rules.json
claude mcpGestiona servidores MCPclaude mcp add github -- npx -y @mcp/server-github
claude pluginGestiona plugins. Alias: claude pluginsclaude plugin install code-review@official
claude project purgeElimina todo el estado local del proyecto. Flags: --dry-run, -y, --allclaude project purge ~/repo --dry-run
claude setup-tokenGenera token OAuth long-lived para CI. Requiere suscripciónclaude setup-token
claude remote-controlInicia servidor Remote Control para control desde claude.aiclaude remote-control --name "Mi Proyecto"
claude ultrareview [target]Revisión no-interactiva. --json, --timeout <min>. Exit 0=éxitoclaude ultrareview 1234 --json

Búsqueda de Flags

A Fuente: code.claude.com/docs/en/cli-reference — --help no lista todos los flags.

FlagCategoríaDescripciónEjemplo
--print, -poutputResponde sin modo interactivo (SDK mode)claude -p "query"
--continue, -csesiónCarga la conversación más reciente del directorioclaude -c
--resume, -rsesiónResume por ID o nombre, o muestra picker interactivoclaude -r "auth-refactor"
--fork-sessionsesiónAl resumir, crea nuevo session ID en vez de reusarclaude --resume abc --fork-session
--name, -nsesiónNombre de sesión para /resume y título del terminalclaude -n "mi-feature"
--session-idsesiónSession ID específico (UUID válido)claude --session-id "550e8400..."
--bgsesiónInicia como background agent, retorna inmediatamenteclaude --bg "investiga test flaky"
--modelmodeloModelo: alias (sonnet, opus) o nombre completoclaude --model claude-sonnet-4-6
--effortmodeloNivel de esfuerzo: low, medium, high, xhigh, maxclaude --effort high
--betasmodeloHeaders beta en requests (solo usuarios API key)claude --betas interleaved-thinking
--fallback-modelmodeloModelo alternativo si el default está sobrecargado (print mode)claude -p --fallback-model sonnet "q"
--verbosemodeloLogging verboso turno-a-turnoclaude --verbose
--debugmodeloModo debug con filtrado por categoríaclaude --debug "api,mcp"
--debug-filemodeloEscribe logs de debug a archivo específicoclaude --debug-file /tmp/debug.log
--permission-modepermisoModo: default, acceptEdits, plan, auto, dontAsk, bypassPermissionsclaude --permission-mode plan
--dangerously-skip-permissionspermisoSalta TODOS los chequeos de permiso (bypassPermissions)claude --dangerously-skip-permissions
--allow-dangerously-skip-permissionspermisoAñade bypassPermissions al ciclo Shift+Tab sin iniciar en élclaude --permission-mode plan --allow-dangerously-skip-permissions
--allowedToolspermisoHerramientas que se ejecutan sin prompt--allowedTools "Bash(git *)" "Read"
--disallowedToolspermisoHerramientas removidas del contexto — no disponibles--disallowedTools "Edit" "WebFetch"
--toolspermisoRestringe herramientas built-in. "" para ninguna, "default" para todasclaude --tools "Bash,Edit,Read"
--add-dirpermisoDirectorios adicionales que Claude puede leer y editarclaude --add-dir ../apps ../lib
--system-promptpromptReemplaza TODO el system promptclaude --system-prompt "Eres experto Python"
--system-prompt-filepromptReemplaza system prompt con contenido de archivoclaude --system-prompt-file ./prompts/review.txt
--append-system-promptpromptAñade texto al final del system prompt defaultclaude --append-system-prompt "Siempre TypeScript"
--append-system-prompt-filepromptAñade contenido de archivo al system prompt defaultclaude --append-system-prompt-file ./reglas.txt
--exclude-dynamic-system-prompt-sectionspromptMueve secciones dinámicas al 1er mensaje. Mejora prompt cache en pipelines multi-usuarioclaude -p --exclude-dynamic-system-prompt-sections "q"
--output-formatoutputFormato de output: text, json, stream-jsonclaude -p "q" --output-format json
--input-formatoutputFormato de input: text, stream-jsonclaude -p --input-format stream-json
--max-turnsoutputLímite de turns agentic (solo print mode). Error al superarclaude -p --max-turns 5 "q"
--max-budget-usdoutputMáximo en USD a gastar en API (solo print mode)claude -p --max-budget-usd 5.00 "q"
--json-schemaoutputOutput JSON validado contra JSON Schema (solo print mode)claude -p --json-schema '{"type":"object"...}' "q"
--include-hook-eventsoutputIncluye eventos de hooks en stream. Requiere stream-jsonclaude -p --output-format stream-json --include-hook-events "q"
--include-partial-messagesoutputStreaming parcial. Requiere --print y stream-jsonclaude -p --output-format stream-json --include-partial-messages "q"
--no-session-persistenceoutputDesactiva persistencia de sesión a disco (solo print mode)claude -p --no-session-persistence "q"
--worktree, -wsesiónGit worktree aislado. Nombre auto si no especifica. #número = PRclaude -w feature-auth
--tmuxsesiónSesión tmux para worktree. --tmux=classic para tmux tradicionalclaude -w feature-auth --tmux
--from-prsesiónResume sesiones vinculadas a PR. Acepta número, URL GitHub/GitLab/Bitbucketclaude --from-pr 123
--mcp-configMCPCarga servidores MCP desde JSON o stringsclaude --mcp-config ./mcp.json
--strict-mcp-configMCPSolo usa MCPs del --mcp-config, ignora toda otra configuraciónclaude --strict-mcp-config --mcp-config ./mcp.json
--plugin-dirMCPCarga plugin desde directorio o .zip para esta sesiónclaude --plugin-dir ./mi-plugin
--plugin-urlMCPDescarga plugin desde URL para esta sesiónclaude --plugin-url https://example.com/plugin.zip
--agentmodeloEspecifica agente para la sesión (override de settings)claude --agent mi-agente
--agentsmodeloDefine subagentes dinámicamente vía JSON inlineclaude --agents '{"rev":{"prompt":"..."}}'
--teammate-modemodeloCómo muestran teammates: auto, in-process, tmuxclaude --teammate-mode tmux
--bareoutputModo mínimo: salta hooks/skills/plugins/MCP/auto memory/CLAUDE.mdclaude --bare -p "q"
--settingssesiónPath a settings JSON o string JSON inline para esta sesiónclaude --settings ./settings.json
--disable-slash-commandssesiónDeshabilita todos los skills y comandos slashclaude --disable-slash-commands
--permission-prompt-toolpermisoHerramienta MCP para manejar prompts de permiso (no-interactivo)claude -p --permission-prompt-tool mcp_auth "q"
--remote, --rcsesiónRemote Control habilitado para control desde claude.aiclaude --rc "Mi Proyecto"
--teleportsesiónResume una web session en el terminal localclaude --teleport
--idesesiónConecta al IDE al iniciar si hay exactamente uno disponibleclaude --ide
--chrome, --no-chromesesiónHabilita/deshabilita integración Chromeclaude --chrome
--version, -vsesiónMuestra el número de versiónclaude -v

Modos de Permiso

A Fuente: code.claude.com/docs/en/permission-modes · Shift+Tab cicla entre modos en sesión interactiva.

🛡️ default
--permission-mode default
Pregunta antes de editar archivos y ejecutar comandos. Modo más seguro.
Recomendado
⚡ acceptEdits
--permission-mode acceptEdits
Auto-aprueba ediciones de archivos. Sigue pidiendo confirmación para Bash.
Productividad
🔭 plan
--permission-mode plan
Solo lee. Claude planea pero no ejecuta ni edita. Para exploración segura.
Exploración
🤖 auto
--permission-mode auto
Clasificador ML decide qué aprobar. Para tareas bien definidas y riesgo bajo.
Automático
🚫 dontAsk
--permission-mode dontAsk
Auto-deniega todo no pre-aprobado en permissions.allow. Claude no promtea — silencio.
Allowlist estricta
⚠️ bypassPermissions
--dangerously-skip-permissions
Salta TODOS los chequeos. Solo en entornos aislados (containers, CI sin datos sensibles).
Solo en CI/sandbox

Sintaxis de Permission Rules

PatternQué permite
"Read"Read en cualquier archivo
"Edit"Edit en cualquier archivo
"Bash"Bash con cualquier comando
"Bash(git *)"Bash solo con comandos que empiecen con git
"Bash(git push *)"Solo git push (con cualquier argumento)
"Edit(*.py)"Edit solo en archivos .py
"Edit(/src/*)"Edit solo dentro de /src/ y subdirectorios
"mcp__github__*"Todas las herramientas del server MCP "github"
"mcp__github__create_pr"Solo la herramienta create_pr del server github
""Matcher vacío — aplica a cualquier herramienta (para hooks globales)

Variables de Entorno — Las Más Usadas

A 180+ variables disponibles (v2.1.139). Fuente: code.claude.com/docs/en/env-vars

Autenticación y modelo

VariableDescripciónEjemplo
ANTHROPIC_API_KEYAPI key. Requerida para uso con APIsk-ant-api03-...
ANTHROPIC_MODELModelo por defecto para todas las sesionesclaude-sonnet-4-6
ANTHROPIC_SMALL_FAST_MODELModelo para tareas internas rápidas de Claude Codeclaude-haiku-4-5-20251001
CLAUDE_CODE_USE_BEDROCKUsa AWS Bedrock como backend (valor: 1)export CLAUDE_CODE_USE_BEDROCK=1
CLAUDE_CODE_USE_VERTEXUsa Google Vertex AI como backend (valor: 1)export CLAUDE_CODE_USE_VERTEX=1
ANTHROPIC_BASE_URLURL base de la API (para proxies o endpoints custom)https://mi-proxy.com/v1

Control de comportamiento

VariableDescripciónValor típico
CLAUDE_CODE_MAX_OUTPUT_TOKENSMáximo tokens de output por turno4096
CLAUDE_CODE_DEFAULT_PERMISSION_MODEModo de permiso por defecto para todas las sesionesacceptEdits
CLAUDE_CODE_SIMPLEEquivale a --bare: salta auto-discovery de hooks/skills/MCP1
CLAUDE_CODE_SKIP_PROMPT_HISTORYNo guarda historial de prompts a disco (CI/headless)1
MAX_THINKING_TOKENSTokens máximos de "thinking" (razonamiento interno)10000
CLAUDE_CODE_FORK_SUBAGENTSubagentes heredan contexto completo (Fork Mode)1

Features experimentales y debugging

VariableDescripciónValor
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMSHabilita Agent Teams experimental (v2.1.32+)1
CLAUDE_CODE_DEBUG_LOGS_DIRDirectorio para logs de debug/tmp/claude-logs
CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIXPrefijo para nombres de sesión Remote Controldev-box
HTTP_PROXY, HTTPS_PROXYProxy HTTP/HTTPS estándarhttp://proxy:3128

settings.json — Esquema Completo

A Schema JSON en: https://json.schemastore.org/claude-code-settings.json

Ubicaciones y prioridad (mayor prioridad primero)

1. CLI flags (--settings, --model, --permission-mode, ...)      ← mayor prioridad
2. Variables de entorno (ANTHROPIC_MODEL, etc.)
3. .claude/settings.local.json   ← local, en .gitignore
4. .claude/settings.json         ← proyecto, en git
5. ~/.claude/settings.json       ← global del usuario           ← menor prioridad

Estructura completa anotada

{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",

  // MODELO Y COMPORTAMIENTO
  "model": "claude-sonnet-4-6",
  "effortLevel": "medium",     // low, medium, high, xhigh, max
  "viewMode": "verbose",       // auto, verbose
  "defaultMode": "default",    // modos de permiso

  // PERMISOS
  "permissions": {
    "allow": [
      "Bash(git *)",      // git cualquier subcomando
      "Bash(npm test)",   // solo npm test
      "Read",             // leer cualquier archivo
      "Edit(*.md)"        // editar solo .md
    ],
    "deny": [
      "Bash(rm -rf *)",   // bloquear rm -rf
      "Write(/etc/*)"     // no escribir en /etc/
    ],
    "additionalDirectories": ["../shared-utils"]
  },

  // MCP SERVERS
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}" }
    },
    "servidor-remoto": {
      "transport": "sse",
      "url": "https://mi-servidor-mcp.com/sse",
      "headers": { "Authorization": "Bearer ${TOKEN}" }
    }
  },

  // HOOKS
  "hooks": {
    "PreToolUse": [{
      "matcher": "Bash(rm *)",
      "hooks": [{
        "type": "command",
        "command": "echo 'BLOCKED' >&2 && exit 2"
      }]
    }],
    "PostToolUse": [{
      "matcher": "Edit(*.py)",
      "hooks": [{
        "type": "command",
        "command": "ruff format ${file_path}"
      }]
    }]
  },

  // AGENTE Y EQUIPO
  "agent": "mi-agente-custom",
  "teammateMode": "auto",  // auto, in-process, tmux

  // VARIABLES DE ENTORNO PERSISTENTES
  "env": {
    "PYTHONPATH": "/workspace/src",
    "NODE_ENV": "development"
  }
}

Slash Commands Built-in

A Fuente: code.claude.com/docs/en/commands

Gestión de sesión y contexto

ComandoDescripción
/clearBorra historial — empieza con contexto limpio
/compact [instrucciones]Comprime el contexto manteniendo resumen. Instrucciones opcionales
/resumeLista de sesiones para resumir
/rename <nombre>Renombra la sesión actual
/add-dir <path>Añade directorio adicional para esta sesión
/closeCierra la sesión actual

Memoria y configuración

ComandoDescripción
/memorySelector de archivos de memoria (CLAUDE.md, MEMORY.md)
/configConfiguración actual de la sesión
/permissionsGestión interactiva de permisos
/modelCambia el modelo para la sesión
/effort <level>Ajusta nivel de esfuerzo (low/medium/high/xhigh/max)

Información y diagnóstico

ComandoDescripción
/tokensDesglose de tokens usados y costo estimado
/costCosto acumulado de la sesión
/statusEstado actual (modelo, tokens, modo)
/doctorDiagnósticos de configuración y conectividad
/bugReporta bug con contexto de sesión adjunto

Herramientas especiales

ComandoDescripción
/btw <mensaje>Agrega contexto sin crear entrada en historial. Overlay efímero
/vimAlterna modo vim para edición multiline
/terminal-setupInstala atajos de teclado en el shell actual
/reviewSolicita revisión del trabajo actual

Skills bundled (Anthropic)

SkillDescripción
/batchMúltiples tareas en paralelo con worktrees (5-30 unidades)
/simplifySimplifica código con 3 agentes de revisión
/loop (alias /proactive)Ejecución periódica hasta que se complete
/debugLog + diagnóstico de problemas
/claude-apiReferencia de la API de Claude + /migrate/managed-agents-onboard
/fewer-permission-promptsAnaliza y reduce prompts de permiso innecesarios

Atajos de teclado clave

AtajoAcción
Ctrl+CCancela la operación actual
Ctrl+DSale de Claude Code
Esc (doble)Rebobina al último mensaje (rewind)
Shift+TabCicla entre modos de permiso
Alt+M / Option+MAlterna modo multiline
Alt+PCambia el modelo activo
Ctrl+RBúsqueda en historial de prompts

Cheat Sheet — Referencia Rápida

╔══════════════════════════════════════════════════════════════════════╗ ║ CLAUDE CODE — CHEAT SHEET 2026 ║ ╠══════════════════════════════════════════════════════════════════════╣ ║ ║ ║ SESIÓN BÁSICA ║ ║ claude → sesión interactiva ║ ║ claude "query" → sesión con prompt inicial ║ ║ claude -p "query" → SDK mode (no interactivo) ║ ║ claude -c → continúa última sesión ║ ║ claude -r "nombre" → resume sesión por nombre ║ ║ claude -n "nombre" → sesión con nombre ║ ║ claude -w feature/auth → worktree aislado ║ ║ claude -w auth --tmux → worktree + tmux ║ ║ ║ ║ MODOS DE PERMISO (Shift+Tab para ciclar) ║ ║ default → acceptEdits → plan → auto → [bypassPermissions] ║ ║ --permission-mode ║ ║ ║ ║ OUTPUT SCRIPTING (print mode) ║ ║ claude -p "q" --output-format json ║ ║ claude -p "q" --output-format stream-json ║ ║ claude -p --max-turns 5 --max-budget-usd 2.00 "q" ║ ║ cat file | claude -p "explica" ║ ║ claude -p --json-schema '{"type":"object"...}' "q" ║ ║ ║ ║ BACKGROUND AGENTS ║ ║ claude --bg "tarea larga" → lanza en background ║ ║ claude agents → monitor (agent view) ║ ║ claude attach → adjunta a agente ║ ║ claude logs → ver output ║ ║ claude stop → detener ║ ║ claude respawn → reiniciar con conversación intacta ║ ║ ║ ║ SLASH COMMANDS ESENCIALES ║ ║ /compact → comprime contexto ║ ║ /memory → ver/editar memoria ║ ║ /tokens → tokens usados y costo ║ ║ /permissions → gestionar permisos ║ ║ /model → cambiar modelo ║ ║ /btw → contexto sin historial ║ ║ /vim → modo vim ║ ║ /doctor → diagnósticos ║ ║ ║ ║ HOOKS (en settings.json.hooks) ║ ║ PreToolUse → bloquea (exit 2) ANTES de herramienta ║ ║ PostToolUse → formatea DESPUÉS (no puede bloquear) ║ ║ UserPromptSubmit → bloquea + puede modificar el prompt ║ ║ Stop → exit 2 = Claude continúa trabajando ║ ║ ║ ║ ENV VARS CRÍTICAS ║ ║ ANTHROPIC_API_KEY (auth) ║ ║ ANTHROPIC_MODEL (modelo default) ║ ║ CLAUDE_CODE_DEFAULT_PERMISSION_MODE (modo default) ║ ║ CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 (agent teams) ║ ║ CLAUDE_CODE_SIMPLE=1 (bare mode global) ║ ║ ║ ║ PERMISSION RULES EN settings.json ║ ║ "Bash(git *)" → git cualquier subcomando ║ ║ "Edit(*.py)" → editar solo .py ║ ║ "mcp__github__*" → todas las tools del server github ║ ╚══════════════════════════════════════════════════════════════════════╝