Documentation Index
Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Starting June 15, 2026, Agent SDK and
claude -p usage on subscription plans will draw from a new monthly Agent SDK credit, separate from your interactive usage limits. See Use the Claude Agent SDK with your Claude plan for details.-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
Comece mais rápido com modo bare
Adicione--bare para reduzir o tempo de inicialização pulando a descoberta automática de hooks, skills, plugins, servidores MCP, memória automática e CLAUDE.md. Sem ele, claude -p carrega o mesmo contexto que uma sessão interativa carregaria, incluindo qualquer coisa configurada no diretório de trabalho ou ~/.claude.
O modo bare é útil para CI e scripts onde você precisa do mesmo resultado em cada máquina. Um hook no ~/.claude de um colega de trabalho ou um servidor MCP no .mcp.json do projeto não serão executados, porque o modo bare nunca os lê. Apenas os sinalizadores que você passa explicitamente têm efeito.
Este exemplo executa uma tarefa de resumo única em modo bare e pré-aprova a ferramenta Read para que a chamada seja concluída sem um prompt de permissão:
| Para carregar | Use |
|---|---|
| Adições de prompt do sistema | --append-system-prompt, --append-system-prompt-file |
| Configurações | --settings <file-or-json> |
| Servidores MCP | --mcp-config <file-or-json> |
| Agentes personalizados | --agents <json> |
| Um plugin | --plugin-dir <path>, --plugin-url <url> |
ANTHROPIC_API_KEY ou um apiKeyHelper no JSON passado para --settings. Bedrock, Vertex e Foundry usam suas credenciais de provedor usuais.
--bare é o modo recomendado para chamadas com script e SDK, e se tornará o padrão para -p em uma versão futura.Exemplos
Estes exemplos destacam padrões comuns de CLI. Para CI e outras chamadas com script, adicione--bare para que não captem o que quer que esteja configurado localmente.
Canalizar dados através do Claude
O modo não interativo lê stdin, então você pode canalizar dados e redirecionar a resposta como qualquer outra ferramenta de linha de comando. Este exemplo canaliza um log de compilação para Claude e escreve a explicação em um arquivo:--output-format json, a carga de resposta inclui total_cost_usd e um detalhamento de custo por modelo, para que os chamadores com script possam rastrear gastos por invocação sem consultar o painel de uso.
A partir do Claude Code v2.1.128, stdin canalizado é limitado a 10MB. Se você exceder o limite, Claude Code sai com um erro claro e um status diferente de zero. Para trabalhar com entradas maiores, escreva o conteúdo em um arquivo e faça referência ao caminho do arquivo em seu prompt em vez de canalizá-lo.
Adicionar Claude a um script de compilação
Você pode envolver uma chamada não interativa em um script para usar Claude como um linter ou revisor específico do projeto. Este scriptpackage.json canaliza o diff contra main para Claude e pede que ele relate erros de digitação. Canalizar o diff significa que Claude não precisa de permissão Bash para lê-lo, e as aspas duplas escapadas mantêm o script portável para Windows:
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:
system/api_retry antes de tentar novamente. Você pode usar isso para exibir o progresso de repetição ou implementar lógica de backoff personalizada.
| Campo | Tipo | Descrição |
|---|---|---|
type | "system" | tipo de mensagem |
subtype | "api_retry" | identifica isso como um evento de repetição |
attempt | inteiro | número da tentativa atual, começando em 1 |
max_retries | inteiro | total de repetições permitidas |
retry_delay_ms | inteiro | milissegundos até a próxima tentativa |
error_status | inteiro ou nulo | código de status HTTP, ou null para erros de conexão sem resposta HTTP |
error | string | categoria de erro: authentication_failed, oauth_org_not_allowed, billing_error, rate_limit, invalid_request, server_error, max_output_tokens, ou unknown |
uuid | string | identificador único do evento |
session_id | string | sessão à qual o evento pertence |
system/init relata metadados de sessão incluindo o modelo, ferramentas, servidores MCP e plugins carregados. É o primeiro evento no stream a menos que CLAUDE_CODE_SYNC_PLUGIN_INSTALL esteja definido, caso em que eventos plugin_install o precedem. Use os campos de plugin para falhar CI quando um plugin não foi carregado:
| Campo | Tipo | Descrição |
|---|---|---|
plugins | array | plugins que foram carregados com sucesso, cada um com name e path |
plugin_errors | array | erros de tempo de carregamento de plugin, cada um com plugin, type e message. Inclui versões de dependência insatisfeitas e falhas de carregamento de --plugin-dir como um caminho ausente ou arquivo inválido. Os plugins afetados são rebaixados e ausentes de plugins. A chave é omitida quando não há erros |
CLAUDE_CODE_SYNC_PLUGIN_INSTALL está definido, Claude Code emite eventos system/plugin_install enquanto plugins do marketplace instalam antes da primeira volta. Use estes para exibir o progresso de instalação em sua própria UI.
| Campo | Tipo | Descrição |
|---|---|---|
type | "system" | tipo de mensagem |
subtype | "plugin_install" | identifica isso como um evento de instalação de plugin |
status | "started", "installed", "failed", ou "completed" | started e completed envolvem a instalação geral; installed e failed relatam marketplaces individuais |
name | string, opcional | nome do marketplace, presente em installed e failed |
error | string, opcional | mensagem de falha, presente em failed |
uuid | string | identificador único do evento |
session_id | string | sessão à qual o evento pertence |
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:
dontAsk nega qualquer coisa não em suas regras permissions.allow ou no conjunto de comandos somente leitura, o que é útil para execuções de CI bloqueadas. acceptEdits permite que Claude escreva arquivos sem solicitar e também aprova automaticamente comandos comuns do sistema de arquivos, como mkdir, touch, mv e cp. Outros comandos de shell e solicitações de rede ainda precisam de uma entrada --allowedTools ou uma regra permissions.allow, caso contrário a execução é abortada quando uma é tentada:
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