Flujos de trabajo comunes
Guías paso a paso para explorar bases de código, corregir errores, refactorizar, probar y otras tareas cotidianas con Claude Code.
Esta página cubre flujos de trabajo prácticos para el desarrollo cotidiano: explorar código desconocido, depuración, refactorización, escritura de pruebas, creación de solicitudes de extracción y gestión de sesiones. Cada sección incluye ejemplos de indicaciones que puede adaptar a sus propios proyectos. Para patrones y consejos de nivel superior, consulte Mejores prácticas.
Comprender nuevas bases de código
Obtener una descripción general rápida de la base de código
Supongamos que acaba de unirse a un nuevo proyecto y necesita comprender su estructura rápidamente.
Navegue al directorio raíz del proyecto
cd /path/to/project
Inicie Claude Code
claude
Solicite una descripción general de alto nivel
dame una descripción general de esta base de código
Profundice en componentes específicos
explica los patrones de arquitectura principales utilizados aquí
¿cuáles son los modelos de datos clave?
¿cómo se maneja la autenticación?
Consejos:
- Comience con preguntas amplias, luego reduzca a áreas específicas
- Pregunte sobre convenciones de codificación y patrones utilizados en el proyecto
- Solicite un glosario de términos específicos del proyecto
Encontrar código relevante
Supongamos que necesita localizar código relacionado con una característica o funcionalidad específica.
Pida a Claude que encuentre archivos relevantes
encuentra los archivos que manejan la autenticación de usuarios
Obtenga contexto sobre cómo interactúan los componentes
¿cómo funcionan juntos estos archivos de autenticación?
Comprenda el flujo de ejecución
rastrear el proceso de inicio de sesión de front-end a base de datos
Consejos:
- Sea específico sobre lo que está buscando
- Utilice el lenguaje del dominio del proyecto
- Instale un plugin de inteligencia de código para su lenguaje para dar a Claude una navegación precisa de "ir a definición" y "buscar referencias"
Corregir errores de manera eficiente
Supongamos que ha encontrado un mensaje de error y necesita encontrar y corregir su origen.
Comparta el error con Claude
estoy viendo un error cuando ejecuto npm test
Solicite recomendaciones de corrección
sugiere algunas formas de corregir el @ts-ignore en user.ts
Aplique la corrección
actualiza user.ts para agregar la verificación nula que sugeriste
Consejos:
- Dígale a Claude el comando para reproducir el problema y obtener un seguimiento de pila
- Mencione cualquier paso para reproducir el error
- Hágale saber a Claude si el error es intermitente o consistente
Refactorizar código
Supongamos que necesita actualizar código antiguo para utilizar patrones y prácticas modernas.
Identifique código heredado para refactorización
encuentra el uso de API obsoleta en nuestra base de código
Obtenga recomendaciones de refactorización
sugiere cómo refactorizar utils.js para usar características modernas de JavaScript
Aplique los cambios de manera segura
refactoriza utils.js para usar características de ES2024 manteniendo el mismo comportamiento
Verifique la refactorización
ejecuta pruebas para el código refactorizado
Consejos:
- Pida a Claude que explique los beneficios del enfoque moderno
- Solicite que los cambios mantengan la compatibilidad hacia atrás cuando sea necesario
- Realice la refactorización en incrementos pequeños y comprobables
Usar subagentes especializados
Supongamos que desea utilizar subagentes de IA especializados para manejar tareas específicas de manera más efectiva.
Ver subagentes disponibles
/agents
Esto muestra todos los subagentes disponibles y le permite crear otros nuevos.
Usar subagentes automáticamente
Claude Code delega automáticamente tareas apropiadas a subagentes especializados:
revisa mis cambios de código recientes para problemas de seguridad
ejecuta todas las pruebas y corrige cualquier fallo
Solicitar explícitamente subagentes específicos
usa el subagente code-reviewer para verificar el módulo de autenticación
haz que el subagente debugger investigue por qué los usuarios no pueden iniciar sesión
Crear subagentes personalizados para su flujo de trabajo
/agents
Luego seleccione "Crear nuevo subagente" y siga las indicaciones para definir:
- Un identificador único que describa el propósito del subagente (por ejemplo,
code-reviewer,api-designer). - Cuándo Claude debe usar este agente
- Qué herramientas puede acceder
- Un indicador del sistema que describa el rol y comportamiento del agente
Consejos:
- Cree subagentes específicos del proyecto en
.claude/agents/para compartir en equipo - Utilice campos
descriptiondescriptivos para habilitar la delegación automática - Limite el acceso a herramientas a lo que cada subagente realmente necesita
- Consulte la documentación de subagentes para ejemplos detallados
Usar Plan Mode para análisis seguro de código
Plan Mode instruye a Claude para crear un plan analizando la base de código con operaciones de solo lectura, perfecto para explorar bases de código, planificar cambios complejos o revisar código de manera segura. En Plan Mode, Claude utiliza AskUserQuestion para recopilar requisitos y aclarar sus objetivos antes de proponer un plan.
Cuándo usar Plan Mode
- Implementación de múltiples pasos: Cuando su característica requiere hacer ediciones en muchos archivos
- Exploración de código: Cuando desea investigar la base de código a fondo antes de cambiar nada
- Desarrollo interactivo: Cuando desea iterar en la dirección con Claude
Cómo usar Plan Mode
Activar Plan Mode durante una sesión
Puede cambiar a Plan Mode durante una sesión usando Shift+Tab para ciclar a través de modos de permiso.
Si está en Normal Mode, Shift+Tab primero cambia a Auto-Accept Mode, indicado por ⏵⏵ accept edits on en la parte inferior de la terminal. Un Shift+Tab posterior cambiará a Plan Mode, indicado por ⏸ plan mode on.
Iniciar una nueva sesión en Plan Mode
Para iniciar una nueva sesión en Plan Mode, use la bandera --permission-mode plan:
claude --permission-mode plan
Ejecutar consultas "sin interfaz" en Plan Mode
También puede ejecutar una consulta en Plan Mode directamente con -p (es decir, en "modo sin interfaz"):
claude --permission-mode plan -p "Analiza el sistema de autenticación y sugiere mejoras"
Ejemplo: Planificar una refactorización compleja
claude --permission-mode plan
Necesito refactorizar nuestro sistema de autenticación para usar OAuth2. Crea un plan de migración detallado.
Claude analiza la implementación actual y crea un plan integral. Refine con seguimientos:
¿Qué hay sobre la compatibilidad hacia atrás?
¿Cómo deberíamos manejar la migración de la base de datos?
Presione Ctrl+G para abrir el plan en su editor de texto predeterminado, donde puede editarlo directamente antes de que Claude continúe.
Cuando acepta un plan, Claude automáticamente nombra la sesión a partir del contenido del plan. El nombre aparece en la barra de indicación y en el selector de sesión. Si ya ha establecido un nombre con --name o /rename, aceptar un plan no lo sobrescribirá.
Configurar Plan Mode como predeterminado
// .claude/settings.json
{
"permissions": {
"defaultMode": "plan"
}
}
Consulte la documentación de configuración para más opciones de configuración.
Trabajar con pruebas
Supongamos que necesita agregar pruebas para código no cubierto.
Identifique código no probado
encuentra funciones en NotificationsService.swift que no están cubiertas por pruebas
Genere andamiaje de prueba
agrega pruebas para el servicio de notificaciones
Agregue casos de prueba significativos
agrega casos de prueba para condiciones de borde en el servicio de notificaciones
Ejecute y verifique las pruebas
ejecuta las nuevas pruebas y corrige cualquier fallo
Claude puede generar pruebas que sigan los patrones y convenciones existentes de su proyecto. Al solicitar pruebas, sea específico sobre qué comportamiento desea verificar. Claude examina sus archivos de prueba existentes para coincidir con el estilo, marcos y patrones de afirmación ya en uso.
Para una cobertura integral, pida a Claude que identifique casos extremos que podría haber perdido. Claude puede analizar sus rutas de código y sugerir pruebas para condiciones de error, valores límite e entradas inesperadas que son fáciles de pasar por alto.
Crear solicitudes de extracción
Puede crear solicitudes de extracción pidiendo a Claude directamente ("crear una pr para mis cambios"), o guiar a Claude a través de ella paso a paso:
Resuma sus cambios
resume los cambios que he hecho en el módulo de autenticación
Genere una solicitud de extracción
crear una pr
Revise y refine
mejora la descripción de la PR con más contexto sobre las mejoras de seguridad
Cuando crea una PR usando gh pr create, la sesión se vincula automáticamente a esa PR. Puede reanudarla más tarde con claude --from-pr <number>.
Revise la PR generada por Claude antes de enviarla y pida a Claude que destaque los riesgos potenciales o consideraciones.
Manejar documentación
Supongamos que necesita agregar o actualizar documentación para su código.
Identifique código sin documentar
encuentra funciones sin comentarios JSDoc adecuados en el módulo de autenticación
Genere documentación
agrega comentarios JSDoc a las funciones sin documentar en auth.js
Revise y mejore
mejora la documentación generada con más contexto y ejemplos
Verifique la documentación
verifica si la documentación sigue nuestros estándares de proyecto
Consejos:
- Especifique el estilo de documentación que desea (JSDoc, docstrings, etc.)
- Solicite ejemplos en la documentación
- Solicite documentación para API públicas, interfaces y lógica compleja
Trabajar en notas y carpetas que no son código
Claude Code funciona en cualquier directorio. Ejecútelo dentro de una bóveda de notas, una carpeta de documentación o cualquier colección de archivos markdown para buscar, editar y reorganizar contenido de la misma manera que lo haría con código.
El directorio .claude/ y CLAUDE.md se encuentran junto a los directorios de configuración de otras herramientas sin conflicto. Claude lee archivos nuevos en cada llamada de herramienta, por lo que ve las ediciones que realiza en otra aplicación la próxima vez que lee ese archivo.
Trabajar con imágenes
Supongamos que necesita trabajar con imágenes en su base de código y desea la ayuda de Claude para analizar el contenido de la imagen.
Agregue una imagen a la conversación
Puede usar cualquiera de estos métodos:
- Arrastre y suelte una imagen en la ventana de Claude Code
- Copie una imagen y péguela en la CLI con ctrl+v (No use cmd+v)
- Proporcione una ruta de imagen a Claude. Por ejemplo, "Analiza esta imagen: /path/to/your/image.png"
Pida a Claude que analice la imagen
¿Qué muestra esta imagen?
Describe los elementos de la interfaz de usuario en esta captura de pantalla
¿Hay algún elemento problemático en este diagrama?
Usar imágenes para contexto
Aquí hay una captura de pantalla del error. ¿Qué lo está causando?
Este es nuestro esquema de base de datos actual. ¿Cómo deberíamos modificarlo para la nueva característica?
Obtenga sugerencias de código del contenido visual
Generar CSS para coincidir con este mockup de diseño
¿Qué estructura HTML recrearía este componente?
Consejos:
- Use imágenes cuando las descripciones de texto serían poco claras o engorrosas
- Incluya capturas de pantalla de errores, diseños de interfaz de usuario o diagramas para mejor contexto
- Puede trabajar con múltiples imágenes en una conversación
- El análisis de imágenes funciona con diagramas, capturas de pantalla, mockups y más
- Cuando Claude hace referencia a imágenes (por ejemplo,
[Image #1]),Cmd+Click(Mac) oCtrl+Click(Windows/Linux) el enlace para abrir la imagen en su visor predeterminado
Archivos y directorios de referencia
Use @ para incluir rápidamente archivos o directorios sin esperar a que Claude los lea.
Haga referencia a un archivo único
Explica la lógica en @src/utils/auth.js
Esto incluye el contenido completo del archivo en la conversación.
Haga referencia a un directorio
¿Cuál es la estructura de @src/components?
Esto proporciona un listado de directorio con información de archivo.
Haga referencia a recursos MCP
Muéstrame los datos de @github:repos/owner/repo/issues
Esto obtiene datos de servidores MCP conectados usando el formato @server:resource. Consulte recursos MCP para más detalles.
Consejos:
- Las rutas de archivo pueden ser relativas o absolutas
- Las referencias de archivo @ agregan
CLAUDE.mden el directorio del archivo y directorios principales al contexto - Las referencias de directorio muestran listados de archivos, no contenidos
- Puede hacer referencia a múltiples archivos en un solo mensaje (por ejemplo, "@file1.js y @file2.js")
Usar pensamiento extendido (Thinking Mode)
El pensamiento extendido está habilitado de forma predeterminada, dando a Claude espacio para razonar a través de problemas complejos paso a paso antes de responder. Este razonamiento es visible en modo detallado, que puede alternar con Ctrl+O. Durante el pensamiento extendido, el indicador de progreso muestra sugerencias de progreso en línea como "aún pensando" y "casi terminado de pensar" para indicar que Claude está trabajando activamente.
Además, los modelos que admiten esfuerzo utilizan razonamiento adaptativo: en lugar de un presupuesto de token de pensamiento fijo, el modelo decide dinámicamente si y cuánto pensar basándose en su configuración de nivel de esfuerzo y la tarea en cuestión. El razonamiento adaptativo permite a Claude responder más rápido a indicaciones rutinarias y reservar un pensamiento más profundo para pasos que se benefician de él.
El pensamiento extendido es particularmente valioso para decisiones arquitectónicas complejas, errores desafiantes, planificación de implementación de múltiples pasos y evaluación de compensaciones entre diferentes enfoques.
Frases como "think", "think hard" y "think more" se interpretan como instrucciones de indicación regulares y no asignan tokens de pensamiento.
Configurar Thinking Mode
El pensamiento está habilitado de forma predeterminada, pero puede ajustarlo o deshabilitarlo.
| Alcance | Cómo configurar | Detalles |
|---|---|---|
| Nivel de esfuerzo | Ejecute /effort, ajuste en /model, o establezca CLAUDE_CODE_EFFORT_LEVEL |
Control de profundidad de pensamiento en modelos compatibles |
Palabra clave ultrathink |
Incluya "ultrathink" en cualquier lugar de su indicación | Agrega una instrucción en contexto indicando al modelo que razone más en ese turno. No cambia el nivel de esfuerzo en sí; consulte Ajustar nivel de esfuerzo para eso |
| Atajo de alternancia | Presione Option+T (macOS) o Alt+T (Windows/Linux) |
Alterne el pensamiento activado/desactivado para la sesión actual (todos los modelos). Puede requerir configuración de terminal para habilitar atajos de teclado de opción |
| Predeterminado global | Use /config para alternar Thinking Mode |
Establece su predeterminado en todos los proyectos (todos los modelos). Guardado como alwaysThinkingEnabled en ~/.claude/settings.json |
| Presupuesto de token límite | Establezca la variable de entorno MAX_THINKING_TOKENS |
Limite el presupuesto de pensamiento a un número específico de tokens. En modelos con razonamiento adaptativo, solo 0 se aplica a menos que se deshabilite el razonamiento adaptativo. Ejemplo: export MAX_THINKING_TOKENS=10000 |
Para ver el proceso de pensamiento de Claude, presione Ctrl+O para alternar el modo detallado y ver el razonamiento interno mostrado como texto gris en cursiva.
Cómo funciona el pensamiento extendido
El pensamiento extendido controla cuánto razonamiento interno realiza Claude antes de responder. Más pensamiento proporciona más espacio para explorar soluciones, analizar casos extremos y autocorregir errores.
En modelos que admiten esfuerzo, el pensamiento utiliza razonamiento adaptativo: el modelo asigna dinámicamente tokens de pensamiento basados en el nivel de esfuerzo que selecciona. Esta es la forma recomendada de ajustar la compensación entre velocidad y profundidad de razonamiento. Si desea que Claude piense más o menos de lo que su nivel de esfuerzo produciría de otra manera, también puede decirlo directamente en su indicación o en CLAUDE.md.
Con modelos más antiguos, el pensamiento utiliza un presupuesto fijo de tokens extraído de su asignación de salida. El presupuesto varía según el modelo; consulte MAX_THINKING_TOKENS para los límites por modelo. Puede limitar el presupuesto con esa variable de entorno, o deshabilitar el pensamiento completamente a través de /config o el alternador Option+T/Alt+T.
En modelos con razonamiento adaptativo, MAX_THINKING_TOKENS solo se aplica cuando se establece en 0 para deshabilitar el pensamiento, o cuando CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 revierte el modelo al presupuesto fijo. CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING se aplica solo a Opus 4.6 y Sonnet 4.6. Opus 4.7 siempre utiliza razonamiento adaptativo y no admite un presupuesto de pensamiento fijo. Consulte variables de entorno.
Se le cobra por todos los tokens de pensamiento utilizados incluso cuando los resúmenes de pensamiento se redactan. En modo interactivo, el pensamiento aparece como un resumen contraído de forma predeterminada. Establezca showThinkingSummaries: true en settings.json para mostrar resúmenes completos.
Reanudar conversaciones anteriores
Cuando inicia Claude Code, puede reanudar una sesión anterior:
claude --continuecontinúa la conversación más reciente en el directorio actualclaude --resumeabre un selector de conversación o reanuda por nombreclaude --from-pr 123reanuda sesiones vinculadas a una solicitud de extracción específica
Desde dentro de una sesión activa, use /resume para cambiar a una conversación diferente.
Cuando la sesión seleccionada es antigua y lo suficientemente grande como para que releerla consumiría una parte sustancial de sus límites de uso, --resume, --continue y /resume ofrecen reanudar desde un resumen en lugar de cargar la transcripción completa. Este mensaje no está disponible en Amazon Bedrock, Google Cloud Vertex AI o Microsoft Foundry.
Las sesiones se almacenan por directorio de proyecto. De forma predeterminada, el selector /resume muestra sesiones interactivas del worktree actual, con atajos de teclado para ampliar la lista a otros worktrees o proyectos, buscar, obtener una vista previa y renombrar. Consulte Usar el selector de sesión a continuación para la referencia completa de atajos.
Cuando selecciona una sesión de otro worktree del mismo repositorio, Claude Code la reanuda directamente sin requerir que cambie de directorio primero. Seleccionar una sesión de un proyecto no relacionado copia un comando cd y reanuda a su portapapeles en su lugar.
Reanudar por nombre se resuelve en el repositorio actual y sus worktrees. Tanto claude --resume <name> como /resume <name> buscan una coincidencia exacta y la reanudan directamente, incluso si la sesión vive en un worktree diferente.
Cuando el nombre es ambiguo, claude --resume <name> abre el selector con el nombre rellenado previamente como término de búsqueda. /resume <name> desde dentro de una sesión reporta un error en su lugar, así que ejecute /resume sin argumento para abrir el selector y elegir.
Las sesiones creadas por claude -p o invocaciones de SDK no aparecen en el selector, pero aún puede reanudar una pasando su ID de sesión directamente a claude --resume <session-id>.
Nombrar sus sesiones
Dé a las sesiones nombres descriptivos para encontrarlas más tarde. Esta es una mejor práctica cuando se trabaja en múltiples tareas o características.
Nombre la sesión
Nombre una sesión al inicio con -n:
claude -n auth-refactor
O use /rename durante una sesión, que también muestra el nombre en la barra de indicación:
/rename auth-refactor
También puede renombrar cualquier sesión desde el selector: ejecute /resume, navegue a una sesión y presione Ctrl+R.
Reanude por nombre más tarde
Desde la línea de comandos:
claude --resume auth-refactor
O desde dentro de una sesión activa:
/resume auth-refactor
Usar el selector de sesión
El comando /resume (o claude --resume sin argumentos) abre un selector de sesión interactivo con estas características:
Atajos de teclado en el selector:
| Atajo | Acción |
|---|---|
↑ / ↓ |
Navegue entre sesiones |
→ / ← |
Expandir o contraer sesiones agrupadas |
Enter |
Seleccione y reanude la sesión resaltada |
Space |
Vista previa del contenido de la sesión. Ctrl+V también funciona en terminales que no lo capturan como pegado |
Ctrl+R |
Renombre la sesión resaltada |
/ o cualquier carácter imprimible que no sea Space |
Ingrese al modo de búsqueda y filtre sesiones |
Ctrl+A |
Muestre sesiones de todos los proyectos en esta máquina. Presione de nuevo para restaurar el repositorio actual |
Ctrl+W |
Muestre sesiones de todos los worktrees del repositorio actual. Presione de nuevo para restaurar el worktree actual. Solo se muestra en repositorios con múltiples worktrees |
Ctrl+B |
Filtre a sesiones de su rama de git actual. Presione de nuevo para mostrar sesiones de todas las ramas |
Esc |
Salga del selector o modo de búsqueda |
Organización de sesiones:
El selector muestra sesiones con metadatos útiles:
- Nombre de sesión si se establece, de lo contrario el resumen de conversación o la primera indicación del usuario
- Tiempo transcurrido desde la última actividad
- Recuento de mensajes
- Rama de Git (si aplica)
- Ruta del proyecto, mostrada después de ampliar a todos los proyectos con
Ctrl+A
Las sesiones bifurcadas (creadas con /branch, /rewind, o --fork-session) se agrupan bajo su sesión raíz, lo que facilita encontrar conversaciones relacionadas.
Consejos:
- Nombre sesiones temprano: Use
/renamecuando comience a trabajar en una tarea distinta: es mucho más fácil encontrar "payment-integration" que "explain this function" más tarde - Use
--continuepara acceso rápido a su conversación más reciente en el directorio actual - Use
--resume session-namecuando sepa qué sesión necesita - Use
--resume(sin nombre) cuando necesite examinar y seleccionar - Para scripts, use
claude --continue --print "prompt"para reanudar en modo no interactivo - Presione
Spaceen el selector para obtener una vista previa de una sesión antes de reanudarla - La conversación reanudada comienza con el mismo modelo y configuración que el original
Cómo funciona:
- Almacenamiento de conversación: Todas las conversaciones se guardan automáticamente localmente con su historial de mensajes completo
- Deserialización de mensajes: Al reanudar, se restaura el historial de mensajes completo para mantener el contexto
- Estado de herramienta: El uso de herramientas y los resultados de la conversación anterior se conservan
- Restauración de contexto: La conversación se reanuda con todo el contexto anterior intacto
Ejecutar sesiones paralelas de Claude Code con Git worktrees
Cuando trabaja en múltiples tareas a la vez, necesita que cada sesión de Claude tenga su propia copia de la base de código para que los cambios no choquen. Los worktrees de Git resuelven esto creando directorios de trabajo separados que cada uno tiene sus propios archivos y rama, mientras comparten el mismo historial de repositorio y conexiones remotas. Esto significa que puede tener a Claude trabajando en una característica en un worktree mientras corrige un error en otro, sin que ninguna sesión interfiera con la otra.
Use la bandera --worktree (-w) para crear un worktree aislado e iniciar Claude en él. El valor que pasa se convierte en el nombre del directorio worktree y el nombre de la rama:
# Inicie Claude en un worktree llamado "feature-auth"
# Crea .claude/worktrees/feature-auth/ con una nueva rama
claude --worktree feature-auth
# Inicie otra sesión en un worktree separado
claude --worktree bugfix-123
Si omite el nombre, Claude genera uno automáticamente:
# Auto-genera un nombre como "bright-running-fox"
claude --worktree
Los worktrees se crean en <repo>/.claude/worktrees/<name> y se ramifican desde la rama remota predeterminada, que es donde origin/HEAD apunta. La rama worktree se nombra worktree-<name>.
La rama base no es configurable a través de una bandera o configuración de Claude Code. origin/HEAD es una referencia almacenada en su directorio .git local que Git estableció una vez cuando clonó. Si la rama predeterminada del repositorio cambia más tarde en GitHub o GitLab, su origin/HEAD local sigue apuntando al anterior, y los worktrees se ramificarán desde allí. Para resincronizar su referencia local con lo que el remoto actualmente considera su predeterminado:
git remote set-head origin -a
Este es un comando Git estándar que solo actualiza su directorio .git local. Nada en el servidor remoto cambia. Si desea que los worktrees se basen en una rama específica en lugar del predeterminado del remoto, establézcalo explícitamente con git remote set-head origin your-branch-name.
Para control total sobre cómo se crean los worktrees, incluida la elección de una base diferente por invocación, configure un hook WorktreeCreate. El hook reemplaza completamente la lógica predeterminada de git worktree de Claude Code, para que pueda obtener y ramificar desde cualquier ref que necesite.
También puede pedir a Claude que "trabaje en un worktree" o "inicie un worktree" durante una sesión, y lo creará automáticamente.
Worktrees de subagente
Los subagentes también pueden usar aislamiento de worktree para trabajar en paralelo sin conflictos. Pida a Claude que "use worktrees para sus agentes" o configúrelo en un subagente personalizado agregando isolation: worktree al frontmatter del agente. Cada subagente obtiene su propio worktree que se limpia automáticamente cuando el subagente termina sin cambios.
Limpieza de worktree
Cuando sale de una sesión de worktree, Claude maneja la limpieza según si realizó cambios:
- Sin cambios: el worktree y su rama se eliminan automáticamente
- Cambios o commits existen: Claude le solicita que mantenga o elimine el worktree. Mantener preserva el directorio y la rama para que pueda regresar más tarde. Eliminar elimina el directorio worktree y su rama, descartando todos los cambios sin confirmar y commits
Los worktrees de subagente huérfanos por un bloqueo o una ejecución paralela interrumpida se eliminan automáticamente al inicio una vez que son más antiguos que su configuración cleanupPeriodDays, siempre que no tengan cambios sin confirmar, archivos sin seguimiento y commits sin enviar. Los worktrees que crea con --worktree nunca se eliminan por este barrido.
Para limpiar worktrees fuera de una sesión de Claude, use gestión manual de worktree.
Agregue .claude/worktrees/ a su .gitignore para evitar que el contenido del worktree aparezca como archivos sin seguimiento en su repositorio principal.
Copiar archivos ignorados por git a worktrees
Los worktrees de Git son descargas nuevas, por lo que no incluyen archivos sin seguimiento como .env o .env.local de su repositorio principal. Para copiar automáticamente estos archivos cuando Claude crea un worktree, agregue un archivo .worktreeinclude a la raíz de su proyecto.
El archivo utiliza la sintaxis .gitignore para enumerar qué archivos copiar. Solo los archivos que coinciden con un patrón y también están ignorados por git se copian, por lo que los archivos rastreados nunca se duplican.
.env
.env.local
config/secrets.json
Esto se aplica a worktrees creados con --worktree, worktrees de subagente y sesiones paralelas en la aplicación de escritorio.
Gestionar worktrees manualmente
Para más control sobre la ubicación del worktree y la configuración de rama, cree worktrees con Git directamente. Esto es útil cuando necesita verificar una rama existente específica o colocar el worktree fuera del repositorio.
# Crear un worktree con una nueva rama
git worktree add ../project-feature-a -b feature-a
# Crear un worktree con una rama existente
git worktree add ../project-bugfix bugfix-123
# Inicie Claude en el worktree
cd ../project-feature-a && claude
# Limpiar cuando termine
git worktree list
git worktree remove ../project-feature-a
Obtenga más información en la documentación oficial de Git worktree.
Recuerde inicializar su entorno de desarrollo en cada nuevo worktree de acuerdo con la configuración de su proyecto. Dependiendo de su pila, esto podría incluir ejecutar instalación de dependencias (npm install, yarn), configurar entornos virtuales o seguir el proceso de configuración estándar de su proyecto.
Control de versiones no git
El aislamiento de worktree funciona con git de forma predeterminada. Para otros sistemas de control de versiones como SVN, Perforce o Mercurial, configure hooks WorktreeCreate y WorktreeRemove para proporcionar lógica personalizada de creación y limpieza de worktree. Cuando se configura, estos hooks reemplazan el comportamiento predeterminado de git cuando usa --worktree, por lo que .worktreeinclude no se procesa. Copie cualquier archivo de configuración local dentro de su script de hook en su lugar.
Para la coordinación automatizada de sesiones paralelas con tareas compartidas y mensajería, consulte equipos de agentes.
Reciba notificaciones cuando Claude necesite su atención
Cuando inicia una tarea de larga duración y cambia a otra ventana, puede configurar notificaciones de escritorio para saber cuándo Claude termina o necesita su entrada. Esto utiliza el evento de hook Notification hook event, que se activa cada vez que Claude está esperando permiso, inactivo y listo para una nueva indicación, o completando autenticación.
Agregue el hook a su configuración
Abra ~/.claude/settings.json y agregue un hook Notification que llame al comando de notificación nativa de su plataforma:
{
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"
}
]
}
]
}
}
{
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "notify-send 'Claude Code' 'Claude Code needs your attention'"
}
]
}
]
}
}
{
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "powershell.exe -Command \"[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('Claude Code needs your attention', 'Claude Code')\""
}
]
}
]
}
}
Si su archivo de configuración ya tiene una clave hooks, combine la entrada Notification en ella en lugar de sobrescribir. También puede pedir a Claude que escriba el hook por usted describiendo lo que desea en la CLI.
Opcionalmente, reduzca el matcher
De forma predeterminada, el hook se activa en todos los tipos de notificación. Para activarse solo para eventos específicos, establezca el campo matcher en uno de estos valores:
| Matcher | Se activa cuando |
|---|---|
permission_prompt |
Claude necesita que apruebe un uso de herramienta |
idle_prompt |
Claude está hecho y esperando su próxima indicación |
auth_success |
La autenticación se completa |
elicitation_dialog |
Un servidor MCP abre un formulario de elicitación |
elicitation_complete |
Un formulario de elicitación de MCP se envía o se descarta |
elicitation_response |
Una respuesta de elicitación de MCP se devuelve al servidor |
Verifique el hook
Escriba /hooks y seleccione Notification para confirmar que el hook aparece. Seleccionarlo muestra el comando que se ejecutará. Para probarlo de extremo a extremo, pida a Claude que ejecute un comando que requiera permiso y cambie de la terminal, o pida a Claude que active una notificación directamente.
Para el esquema de evento completo y tipos de notificación, consulte la referencia de Notification.
Usar Claude como una utilidad de estilo unix
Agregue Claude a su proceso de verificación
Supongamos que desea usar Claude Code como un linter o revisor de código.
Agregue Claude a su script de compilación:
// package.json
{
...
"scripts": {
...
"lint:claude": "claude -p 'you are a linter. please look at the changes vs. main and report any issues related to typos. report the filename and line number on one line, and a description of the issue on the second line. do not return any other text.'"
}
}
Consejos:
- Use Claude para revisión de código automatizada en su canalización CI/CD
- Personalice la indicación para verificar problemas específicos relevantes para su proyecto
- Considere crear múltiples scripts para diferentes tipos de verificación
Canalizar entrada, canalizar salida
Supongamos que desea canalizar datos a Claude y obtener datos en un formato estructurado.
Canalizar datos a través de Claude:
cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt
Consejos:
- Use tuberías para integrar Claude en scripts de shell existentes
- Combine con otras herramientas Unix para flujos de trabajo poderosos
- Considere usar
--output-formatpara salida estructurada
Controlar el formato de salida
Supongamos que necesita la salida de Claude en un formato específico, especialmente cuando integra Claude Code en scripts u otras herramientas.
Usar formato de texto (predeterminado)
cat data.txt | claude -p 'summarize this data' --output-format text > summary.txt
Esto genera solo la respuesta de texto sin formato de Claude (comportamiento predeterminado).
Usar formato JSON
cat code.py | claude -p 'analyze this code for bugs' --output-format json > analysis.json
Esto genera una matriz JSON de mensajes con metadatos incluidos costo y duración.
Usar formato JSON de transmisión
cat log.txt | claude -p 'parse this log file for errors' --output-format stream-json
Esto genera una serie de objetos JSON en tiempo real mientras Claude procesa la solicitud. Cada mensaje es un objeto JSON válido, pero la salida completa no es JSON válido si se concatena.
Consejos:
- Use
--output-format textpara integraciones simples donde solo necesita la respuesta de Claude - Use
--output-format jsoncuando necesite el registro de conversación completo - Use
--output-format stream-jsonpara salida en tiempo real de cada turno de conversación
Ejecutar Claude en un horario
Supongamos que desea que Claude maneje una tarea automáticamente de forma recurrente, como revisar PRs abiertas cada mañana, auditar dependencias semanalmente o verificar fallas de CI durante la noche.
Elija una opción de programación según dónde desee que se ejecute la tarea:
| Opción | Dónde se ejecuta | Mejor para |
|---|---|---|
| Routines | Infraestructura administrada por Anthropic | Tareas que deben ejecutarse incluso cuando su computadora está apagada. También puede activarse en llamadas API o eventos de GitHub además de un horario. Configure en claude.ai/code/routines. |
| Tareas programadas de escritorio | Su máquina, a través de la aplicación de escritorio | Tareas que necesitan acceso directo a archivos locales, herramientas o cambios sin confirmar. |
| GitHub Actions | Su canalización de CI | Tareas vinculadas a eventos de repositorio como PRs abiertos, o horarios cron que deben vivir junto con su configuración de flujo de trabajo. |
/loop |
La sesión CLI actual | Sondeo rápido mientras una sesión está abierta. Las tareas se cancelan cuando comienza una nueva conversación; --resume y --continue restauran las no expiradas. |
Al escribir indicaciones para tareas programadas, sea explícito sobre qué se ve como éxito y qué hacer con los resultados. La tarea se ejecuta de forma autónoma, por lo que no puede hacer preguntas aclaratorias. Por ejemplo: "Revise PRs abiertas etiquetadas con needs-review, deje comentarios en línea sobre cualquier problema y publique un resumen en el canal #eng-reviews de Slack."
Pregunte a Claude sobre sus capacidades
Claude tiene acceso integrado a su documentación y puede responder preguntas sobre sus propias características y limitaciones.
Preguntas de ejemplo
¿puede Claude Code crear solicitudes de extracción?
¿cómo maneja Claude Code los permisos?
¿qué skills están disponibles?
¿cómo uso MCP con Claude Code?
¿cómo configuro Claude Code para Amazon Bedrock?
¿cuáles son las limitaciones de Claude Code?
Claude proporciona respuestas basadas en documentación a estas preguntas. Para demostraciones prácticas, ejecute /powerup para lecciones interactivas con demostraciones animadas, o consulte las secciones de flujo de trabajo específicas anteriores.
Consejos:
- Claude siempre tiene acceso a la documentación más reciente de Claude Code, independientemente de la versión que esté utilizando
- Haga preguntas específicas para obtener respuestas detalladas
- Claude puede explicar características complejas como integración MCP, configuraciones empresariales y flujos de trabajo avanzados
Próximos pasos
Patrones para obtener lo máximo de Claude Code
Comprenda el bucle agente y la gestión de contexto
Agregue skills, hooks, MCP, subagentes y plugins
Clone la implementación de referencia del contenedor de desarrollo