La CLI se llamaba anteriormente “modo sin interfaz”. La bandera
-p y todas las opciones de CLI funcionan de la misma manera.-p con su indicación y cualquier opción de CLI:
claude -p). Para los paquetes SDK de Python y TypeScript con salidas estructuradas, devoluciones de llamada de aprobación de herramientas y objetos de mensaje nativos, consulte la documentación completa del Agent SDK.
Uso básico
Agregue la bandera-p (o --print) a cualquier comando claude para ejecutarlo de forma no interactiva. Todas las opciones de CLI funcionan con -p, incluyendo:
--continuepara continuar conversaciones--allowedToolspara aprobar herramientas automáticamente--output-formatpara obtener salida estructurada
Ejemplos
Estos ejemplos destacan patrones comunes de CLI.Obtener salida estructurada
Utilice--output-format para controlar cómo se devuelven las respuestas:
text(predeterminado): salida de texto sin formatojson: JSON estructurado con resultado, ID de sesión y metadatosstream-json: JSON delimitado por saltos de línea para transmisión en tiempo real
result:
--output-format json con --json-schema y una definición de JSON Schema. La respuesta incluye metadatos sobre la solicitud (ID de sesión, uso, etc.) con la salida estructurada en el campo structured_output.
Este ejemplo extrae nombres de funciones y los devuelve como una matriz de cadenas:
Transmitir respuestas
Utilice--output-format stream-json con --verbose e --include-partial-messages para recibir tokens a medida que se generan. Cada línea es un objeto JSON que representa un evento:
-r genera cadenas sin formato (sin comillas) y -j se une sin saltos de línea para que los tokens se transmitan continuamente:
Aprobar herramientas automáticamente
Utilice--allowedTools para permitir que Claude use ciertas herramientas sin solicitar confirmación. Este ejemplo ejecuta un conjunto de pruebas y corrige fallos, permitiendo que Claude ejecute comandos Bash y lea/edite archivos sin pedir permiso:
Crear una confirmación
Este ejemplo revisa los cambios preparados y crea una confirmación con un mensaje apropiado:--allowedTools utiliza sintaxis de regla de permiso. El * final habilita la coincidencia de prefijo, por lo que Bash(git diff *) permite cualquier comando que comience con git diff. El espacio antes de * es importante: sin él, Bash(git diff*) también coincidiría con git diff-index.
Las skills invocadas por el usuario como
/commit y los comandos integrados solo están disponibles en modo interactivo. En modo -p, describa la tarea que desea realizar en su lugar.Personalizar el indicador del sistema
Utilice--append-system-prompt para agregar instrucciones mientras mantiene el comportamiento predeterminado de Claude Code. Este ejemplo canaliza un diff de PR a Claude e le indica que revise las vulnerabilidades de seguridad:
--system-prompt para reemplazar completamente el indicador predeterminado.
Continuar conversaciones
Utilice--continue para continuar la conversación más reciente, o --resume con un ID de sesión para continuar una conversación específica. Este ejemplo ejecuta una revisión y luego envía indicaciones de seguimiento:
Próximos pasos
- Inicio rápido del Agent SDK: construya su primer agente con Python o TypeScript
- Referencia de CLI: todas las banderas y opciones de CLI
- GitHub Actions: utilice el Agent SDK en flujos de trabajo de GitHub
- GitLab CI/CD: utilice el Agent SDK en canalizaciones de GitLab