Execute Claude Code programaticamente sem interface de usuário interativa
claude
. Use a flag --print
(ou -p
) para executar em modo não interativo e imprimir o resultado final:
Flag | Descrição | Exemplo |
---|---|---|
--print , -p | Executar em modo não interativo | claude -p "consulta" |
--output-format | Especificar formato de saída (text , json , stream-json ) | claude -p --output-format json |
--resume , -r | Retomar uma conversa por ID de sessão | claude --resume abc123 |
--continue , -c | Continuar a conversa mais recente | claude --continue |
--verbose | Habilitar log detalhado | claude --verbose |
--append-system-prompt | Anexar ao prompt do sistema (apenas com --print ) | claude --append-system-prompt "Instrução personalizada" |
--allowedTools | Lista separada por espaços de ferramentas permitidas, ou string de lista separada por vírgulas de ferramentas permitidas | claude --allowedTools mcp__slack mcp__filesystem claude --allowedTools "Bash(npm install),mcp__filesystem" |
--disallowedTools | Lista separada por espaços de ferramentas negadas, ou string de lista separada por vírgulas de ferramentas negadas | claude --disallowedTools mcp__splunk mcp__github claude --disallowedTools "Bash(git commit),mcp__github" |
--mcp-config | Carregar servidores MCP de um arquivo JSON | claude --mcp-config servers.json |
--permission-prompt-tool | Ferramenta MCP para lidar com prompts de permissão (apenas com --print ) | claude --permission-prompt-tool mcp__auth__prompt |
init
, seguida por uma lista de mensagens do usuário e assistente, seguida por uma mensagem final do sistema result
com estatísticas. Cada mensagem é emitida como um objeto JSON separado.
stdin
onde cada mensagem representa um turno do usuário. Isso permite múltiplos turnos de uma conversa sem relançar o binário claude
e permite fornecer orientação ao modelo enquanto ele está processando uma solicitação.
Cada mensagem é um objeto JSON ‘Mensagem do usuário’, seguindo o mesmo formato que o esquema de mensagem de saída. As mensagens são formatadas usando o formato jsonl onde cada linha de entrada é um objeto JSON completo. A entrada JSON de streaming requer -p
e --output-format stream-json
.