A CLI era anteriormente chamada de “modo headless”. O sinalizador
-p e todas as opções de CLI funcionam da mesma forma.-p com seu prompt e qualquer opção de CLI:
claude -p). Para os pacotes SDK Python e TypeScript com saídas estruturadas, callbacks de aprovação de ferramentas e objetos de mensagem nativos, consulte a documentação completa do Agent SDK.
Uso básico
Adicione o sinalizador-p (ou --print) a qualquer comando claude para executá-lo de forma não interativa. Todas as opções de CLI funcionam com -p, incluindo:
--continuepara continuar conversas--allowedToolspara aprovar ferramentas automaticamente--output-formatpara saída estruturada
Exemplos
Estes exemplos destacam padrões comuns de CLI.Obter saída estruturada
Use--output-format para controlar como as respostas são retornadas:
text(padrão): saída de texto simplesjson: JSON estruturado com resultado, ID de sessão e metadadosstream-json: JSON delimitado por quebra de linha para streaming em tempo real
result:
--output-format json com --json-schema e uma definição de JSON Schema. A resposta inclui metadados sobre a solicitação (ID de sessão, uso, etc.) com a saída estruturada no campo structured_output.
Este exemplo extrai nomes de funções e os retorna como uma matriz de strings:
Respostas de stream
Use--output-format stream-json com --verbose e --include-partial-messages para receber tokens conforme são gerados. Cada linha é um objeto JSON representando um evento:
-r produz strings brutas (sem aspas) e -j une sem quebras de linha para que os tokens façam streaming continuamente:
Aprovar ferramentas automaticamente
Use--allowedTools para permitir que Claude use certas ferramentas sem solicitar. Este exemplo executa um conjunto de testes e corrige falhas, permitindo que Claude execute comandos Bash e leia/edite arquivos sem pedir permissão:
Criar um commit
Este exemplo revisa as alterações preparadas e cria um commit com uma mensagem apropriada:--allowedTools usa sintaxe de regra de permissão. O * à direita habilita correspondência de prefixo, então Bash(git diff *) permite qualquer comando começando com git diff. O espaço antes de * é importante: sem ele, Bash(git diff*) também corresponderia a git diff-index.
skills invocadas pelo usuário como
/commit e comandos integrados estão disponíveis apenas no modo interativo. No modo -p, descreva a tarefa que você deseja realizar.Personalizar o prompt do sistema
Use--append-system-prompt para adicionar instruções mantendo o comportamento padrão do Claude Code. Este exemplo envia um diff de PR para Claude e o instrui a revisar vulnerabilidades de segurança:
--system-prompt para substituir completamente o prompt padrão.
Continuar conversas
Use--continue para continuar a conversa mais recente, ou --resume com um ID de sessão para continuar uma conversa específica. Este exemplo executa uma revisão e depois envia prompts de acompanhamento:
Próximas etapas
- Agent SDK quickstart: construa seu primeiro agente com Python ou TypeScript
- CLI reference: todos os sinalizadores e opções de CLI
- GitHub Actions: use o Agent SDK em fluxos de trabalho do GitHub
- GitLab CI/CD: use o Agent SDK em pipelines do GitLab