Visão geral
O modo sem interface permite executar Claude Code programaticamente a partir de scripts de linha de comando e ferramentas de automação sem qualquer interface interativa.Uso básico
A interface de linha de comando principal para Claude Code é o comandoclaude. Use a flag --print (ou -p) para executar em modo não interativo e imprimir o resultado final:
Opções de configuração
O modo sem interface aproveita todas as opções de CLI disponíveis em Claude Code. Aqui estão as principais para automação e scripts:| Flag | Descrição | Exemplo |
|---|---|---|
--print, -p | Executar em modo não interativo | claude -p "query" |
--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 | Ativar registro detalhado | claude --verbose |
--append-system-prompt | Anexar ao prompt do sistema (apenas com --print) | claude --append-system-prompt "Custom instruction" |
--allowedTools | Lista de ferramentas permitidas separadas por espaço, ou string de lista separada por vírgulas de ferramentas permitidas | claude --allowedTools mcp__slack mcp__filesystemclaude --allowedTools "Bash(npm install),mcp__filesystem" |
--disallowedTools | Lista de ferramentas negadas separadas por espaço, ou string de lista separada por vírgulas de ferramentas negadas | claude --disallowedTools mcp__splunk mcp__githubclaude --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 |
Conversas com múltiplas rodadas
Para conversas com múltiplas rodadas, você pode retomar conversas ou continuar a partir da sessão mais recente:Formatos de saída
Saída de texto (padrão)
Saída JSON
Retorna dados estruturados incluindo metadados:Saída JSON em fluxo contínuo
Transmite cada mensagem conforme é recebida:init, seguida por uma lista de mensagens do usuário e do assistente, seguida por uma mensagem final do sistema result com estatísticas. Cada mensagem é emitida como um objeto JSON separado.
Formatos de entrada
Entrada de texto (padrão)
Entrada JSON em fluxo contínuo
Um fluxo de mensagens fornecido viastdin onde cada mensagem representa uma rodada do usuário. Isso permite múltiplas rodadas de uma conversa sem relançar o binário claude e permite fornecer orientação ao modelo enquanto ele processa 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 em fluxo contínuo requer -p e --output-format stream-json.
Exemplos de integração de agentes
Bot de resposta a incidentes SRE
Revisão de segurança automatizada
Assistente jurídico com múltiplas rodadas
Melhores práticas
-
Use formato de saída JSON para análise programática de respostas:
-
Trate erros com elegância - verifique códigos de saída e stderr:
- Use gerenciamento de sessão para manter contexto em conversas com múltiplas rodadas
-
Considere tempos limite para operações de longa duração:
- Respeite limites de taxa ao fazer múltiplas solicitações adicionando atrasos entre chamadas
Recursos relacionados
- Uso e controles de CLI - Documentação completa de CLI
- Fluxos de trabalho comuns - Guias passo a passo para casos de uso comuns