Claude Code CLI:完整技術指南
⌨️ Claude Code CLI: guia técnico completo
Diego de Sousa Brandão 依據 Anthropic 官方文件,整理了 Claude Code CLI 的 2026 年 10 月技術指南,涵蓋安裝、登入及終端使用。指南亦介紹命令、權限模式、記憶與設定,以及 hooks、subagents、skills、plugins 和 MCP,並提醒工具會頻繁更新,使用前應查看 /release-notes 和 claude --help。
Versão do conteúdo: outubro de 2026
Fontes: exclusivamente a documentação oficial da Anthropic (code.claude.com/docs e support.claude.com). A lista completa está em Fontes oficiais.
Aviso: o Claude Code é atualizado com frequência. Antes de usar este material como referência, confira as mudanças com/release-noteseclaude --help.
📑 Índice
- O que é o Claude Code CLI
- Instalação e autenticação
- Comandos de entrada
- Atalhos de teclado e prefixos
- Slash commands essenciais
- Modos de permissão
- Memória: CLAUDE.md e auto memory
- Configuração: settings.json
- Hooks
- Subagents
- Skills, comandos e plugins
- MCP no terminal
- Checkpoints e gestão de contexto
- Modo não interativo (
-p) e CI - Sessões em paralelo
- Automação agendada
- Trabalho remoto e entre dispositivos
- ✅ O que só o CLI faz
- ❌ O que o CLI não faz
- 🤫 Recursos pouco conhecidos
- 🏆 Fluxo de trabalho recomendado
- ⚠️ Cuidados e limitações
- 📚 Fontes oficiais
1. 🧠 O que é o Claude Code CLI
O Claude Code é uma ferramenta de programação agêntica da Anthropic. Ela lê o seu código, edita arquivos, executa comandos e se integra às suas ferramentas de desenvolvimento. O CLI é a versão de terminal: você roda claude dentro de uma pasta de projeto e conversa com um agente que trabalha nesse projeto.
Não é um autocomplete. O agente trabalha em ciclo:
- 🔍 Explora: lê e busca no repositório.
- 🗺️ Planeja: propõe uma abordagem.
- ✏️ Edita: altera os arquivos.
- ▶️ Executa: roda testes, build e git.
- ✅ Verifica: repete até o resultado estar certo.
O que ele faz, segundo a documentação oficial:
- Escreve testes, corrige erros de lint, resolve conflitos de merge, atualiza dependências e escreve release notes.
- Implementa features e corrige bugs a partir de uma descrição em linguagem natural ou de uma mensagem de erro.
- Trabalha direto com git: faz stage, escreve mensagens de commit, cria branches e abre pull requests.
- Conecta-se a ferramentas externas via MCP (Google Drive, Jira, Slack ou ferramentas internas).
- Funciona em pipelines Unix, scripts e CI.
Onde o mesmo motor roda: terminal (CLI), VS Code/Cursor, JetBrains, aba Code do app desktop, web (claude.ai/code), app mobile e Slack. Arquivos CLAUDE.md, settings e servidores MCP do repositório valem em todas essas superfícies.
A página oficial de plataformas descreve o CLI como a superfície mais completa para trabalho no terminal e diz que scripting e o Agent SDK só existem nele.
2. 📦 Instalação e autenticação
Requisitos
- Sistema operacional: macOS 13.0+, Windows 10 1809+ ou Windows Server 2019+, Ubuntu 20.04+, Debian 10+, Alpine Linux 3.19+
- Hardware: 4 GB+ de RAM, processador x64 ou ARM64
- Conta: Pro, Max, Team, Enterprise ou Console. O plano Free do claude.ai não inclui Claude Code.
- Alternativa: provedores terceiros (Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry)
Instalar
# macOS, Linux, WSL — instalador nativo (recomendado)
curl -fsSL https://claude.ai/install.sh | bash
# Windows PowerShell
irm https://claude.ai/install.ps1 | iex
:: Windows CMD
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
# Alternativas
brew install --cask claude-code # Homebrew (canal stable)
brew install --cask claude-code@latest # Homebrew (canal latest)
winget install Anthropic.ClaudeCode # WinGet
npm install -g @anthropic-ai/claude-code # npm (Node.js 22+; nunca use sudo)
Também há repositórios assinados para apt, dnf e apk (Debian, Fedora, RHEL, Alpine).
Verificar
claude --version # imprime a versão, ex.: 2.1.211 (Claude Code)
claude doctor # diagnóstico da instalação e das configurações, sem abrir sessão
Atualizações
| Método de instalação | Atualiza sozinho? | Como atualizar |
|---|---|---|
| Instalador nativo | ✅ Sim, em segundo plano |
claude update para forçar |
| Homebrew | ❌ Não | brew upgrade claude-code |
| WinGet | ❌ Não | winget upgrade Anthropic.ClaudeCode |
| apt / dnf / apk | ❌ Não | Pelo gerenciador do sistema |
| npm | ✅ Sim, se o diretório global do npm for gravável |
npm install -g @anthropic-ai/claude-code@latest (evite npm update -g) |
O canal de atualização (latest ou stable) é definido pelo setting autoUpdatesChannel, ou em /config. O stable costuma estar cerca de uma semana atrás e pula versões com regressões graves.
Login
claude # primeira execução: login pelo navegador
claude auth login # login explícito (--console para cobrança via API)
claude auth status # status em JSON; código de saída 0 = logado, 1 = não
claude setup-token # gera um token OAuth de longa duração para CI e scripts
claude setup-tokenexige assinatura Claude e abre o navegador uma vez para autorizar. O token é impresso no terminal e não fica salvo.
3. 🚪 Comandos de entrada
| Comando | O que faz |
|---|---|
claude |
Abre uma sessão interativa |
claude "pergunta" |
Abre a sessão já com um prompt inicial |
claude -p "pergunta" |
Roda sem interface, imprime o resultado e sai |
| `cat arquivo \ | claude -p "pergunta"` |
claude -c |
Continua a conversa mais recente desta pasta |
claude -r "<sessão>" |
Retoma uma sessão por ID ou nome |
claude -n "nome" |
Dá nome à sessão (aparece em /resume) |
claude update |
Atualiza para a versão mais recente |
claude mcp |
Gerencia servidores MCP |
claude plugin |
Gerencia plugins |
claude agents |
Abre o painel de sessões em segundo plano |
4. ⌨️ Atalhos de teclado e prefixos
Atalhos principais
| Atalho | O que faz |
|---|---|
Esc |
Interrompe o Claude ou fecha um diálogo |
Esc Esc
|
Com o campo vazio, abre o menu de rewind; com texto, limpa o rascunho |
Shift+Tab |
Alterna o modo de permissão |
Ctrl+C |
Interrompe ou limpa o campo |
Ctrl+D |
Sai da sessão |
Ctrl+B |
Manda tarefas em execução para segundo plano |
Ctrl+R |
Busca reversa no histórico de comandos |
Ctrl+G |
Abre o prompt no seu editor de texto padrão |
Ctrl+O |
Liga e desliga o visualizador de transcrição |
Ctrl+S |
Guarda ou recupera o rascunho do prompt |
Ctrl+T |
Mostra ou oculta a lista de tarefas do Claude |
Ctrl+V |
Cola imagem da área de transferência (Cmd+V no iTerm2; Alt+V no Windows/WSL) |
Option+P / Alt+P
|
Troca o modelo |
Option+T / Alt+T
|
Liga e desliga o pensamento estendido |
Option+O / Alt+O
|
Liga e desliga o fast mode |
? (campo vazio) |
Mostra o painel de atalhos |
macOS: alguns atalhos com Option (como
Option+P) exigem configurar Option como Meta no terminal.Option+Tfunciona sem essa configuração.
Prefixos no início da linha
| Prefixo | Efeito |
|---|---|
/ |
Comando ou skill |
! |
Shell mode: roda o comando direto, a saída entra na conversa e o Claude responde a ela |
@ |
Menciona um arquivo (uma pasta mostra a listagem de arquivos, não o conteúdo) |
Exemplo de shell mode:
! npm test
O teste roda e o Claude explica as falhas sem você precisar de um segundo prompt.
5. ⚡ Slash commands essenciais
Digite / para ver a lista completa e filtrar.
| Categoria | Comandos | Para quê |
|---|---|---|
| 🏗️ Setup |
/init, /memory, /permissions, /config, /doctor
|
Gerar CLAUDE.md, editar memória e regras, diagnosticar |
| 🧠 Contexto |
/context, /compact, /clear, /rewind, /btw
|
Ver, resumir e limpar o contexto; voltar no tempo; fazer pergunta paralela |
| 🎛️ Modelo |
/model, /effort, /fast, /usage
|
Trocar o modelo, o nível de esforço e o modo rápido; ver o consumo |
| 🔍 Revisão |
/diff, /code-review, /security-review, /simplify, /ultrareview
|
Revisar mudanças, buscar bugs e falhas de segurança |
| 🗂️ Sessões |
/resume, /branch, /fork, /rename, /export
|
Retomar, ramificar, copiar e exportar conversas |
| 🚀 Escala |
/batch, /background, /loop, /schedule, /remote-control
|
Paralelismo, segundo plano, recorrência, nuvem, controle remoto |
Destaques:
-
/initanalisa o repositório e gera umCLAUDE.mdinicial com comandos de build, testes e convenções. Se o arquivo já existir, sugere melhorias. -
/effortaceitalow,medium,high,xhigh,maxouauto. -
/simplifyrevisa o código alterado com quatro agentes em paralelo. -
/ultrareviewfaz uma revisão profunda, com vários agentes, num sandbox na nuvem. -
/usagemostra o custo da sessão e os limites do plano./costé um apelido.
6. 🔐 Modos de permissão
| Modo | O que roda sem perguntar | Indicado para |
|---|---|---|
auto ⚡ |
Leituras e edições no diretório de trabalho seguem direto; as demais ações passam por um classificador de segurança | Tarefas longas, menos interrupções |
default (Manual) |
Só leituras | Trabalho sensível |
acceptEdits |
Leituras, edições e comandos comuns de arquivo (mkdir, touch, mv, cp) |
Iterar no código que você está revisando |
plan 🗺️ |
Leituras (mais comandos aprovados pelo classificador, quando o auto mode está disponível) | Explorar e planejar antes de mudar |
dontAsk |
Leituras e ferramentas pré-aprovadas; o resto é negado | CI e scripts travados |
bypassPermissions ⚠️ |
Tudo | Apenas containers e VMs isoladas |
Como trocar de modo:
-
Durante a sessão:
Shift+Tab. A partir deauto, o ciclo éauto → default → acceptEdits → plan. -
Ao iniciar:
claude --permission-mode plan. -
Plan mode num único prompt: comece o prompt com
/plan. -
Como padrão:
permissions.defaultModenosettings.json. -
dontAsknão entra no ciclo doShift+Tab; ative com--permission-mode dontAsk.
Pouca gente sabe: desde a v2.1.283,
autoé o modo inicial das sessões interativas no terminal e no VS Code. E regrasdenybloqueiam em qualquer modo, inclusivebypassPermissions.
7. 📄 Memória: CLAUDE.md e auto memory
O Claude Code tem dois sistemas de memória, e os dois são carregados como contexto, não como configuração obrigatória.
CLAUDE.md |
Auto memory | |
|---|---|---|
| Quem escreve | Você | O Claude |
| Conteúdo | Instruções e regras | Aprendizados e padrões |
| Escopo | Projeto, usuário ou organização | Por repositório, compartilhado entre worktrees |
| Carregamento | Toda sessão | Toda sessão (primeiras 200 linhas ou 25 KB) |
Onde fica o CLAUDE.md
| Local | Escopo |
|---|---|
~/.claude/CLAUDE.md |
Você, em todos os projetos |
./CLAUDE.md ou ./.claude/CLAUDE.md
|
O time, versionado no git |
./CLAUDE.local.md |
Só você, neste projeto (coloque no .gitignore) |
./subpasta/CLAUDE.md |
Carrega sob demanda, quando o Claude trabalha ali |
| Caminho gerenciado (managed) | A organização inteira |
Se o repositório tem um AGENTS.md e nenhum CLAUDE.md (ou CLAUDE.local.md), o Claude Code lê o AGENTS.md no lugar dele.
Exemplo
# Projeto
- Build: ./gradlew build
- Testes: ./gradlew test
- Nunca editar arquivos em /generated
- Convenções de API: @docs/api-conventions.md
Boas práticas da documentação oficial:
- Mantenha cada arquivo abaixo de ~200 linhas. Arquivos longos consomem contexto e reduzem a aderência.
- Escreva instruções verificáveis: "use indentação de 2 espaços" em vez de "formate bem".
-
@caminho/arquivoimporta outro arquivo, com até 4 níveis. - Adicione uma linha quando o Claude cometer o mesmo erro pela segunda vez.
- Para regras que valem só em parte do código, use
.claude/rules/com escopo por caminho.
Comandos úteis:
-
/memory: edita os CLAUDE.md, liga ou desliga a auto memory e mostra o que o Claude anotou. -
/doctor prompt-audit: procura instruções desatualizadas, contraditórias ou que citam arquivos inexistentes.
Pegadinha: CLAUDE.md é contexto, não regra obrigatória. Para impedir uma ação de verdade, use regras
denyde permissão ou hooks.
8. ⚖️ Configuração: settings.json
Precedência, do mais forte para o mais fraco
| Nível | Arquivo | Quem afeta |
|---|---|---|
| 1. Managed |
managed-settings.json, MDM ou console do claude.ai |
A organização |
| 2. Linha de comando | claude --settings |
Esta sessão |
| 3. Projeto local | .claude/settings.local.json |
Você, neste projeto |
| 4. Projeto compartilhado | .claude/settings.json |
Todo o time |
| 5. Usuário | ~/.claude/settings.json |
Você, em todos os projetos |
Em geral, o nível mais alto vence. Mas listas como
permissions.allowepermissions.denyse somam entre os níveis, em vez de uma substituir a outra.
Exemplo: liberar lint e testes, bloquear .env
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"permissions": {
"allow": [
"Bash(npm run lint)",
"Bash(npm run test *)"
],
"deny": [
"Read(./.env)",
"Read(./.env.*)"
]
}
}
Detalhes que fazem diferença:
- O arquivo é JSON estrito: comentário ou vírgula sobrando gera erro de configuração.
- O espaço antes do
*importa:Bash(git diff *)casa comgit diffe argumentos; sem o espaço, casaria também comgit diff-index. - Prefere não editar JSON?
/permissionsabre um menu, e/fewer-permission-promptsanalisa seu uso e propõe uma allowlist.
9. 🪝 Hooks
O que é: um comando seu (ou uma chamada HTTP, ferramenta MCP, prompt ou agente) que roda em pontos fixos do ciclo de vida da sessão. Ele não depende de o Claude decidir executá-lo.
Para que serve: formatar código depois de cada edição, bloquear comandos perigosos, registrar todo comando executado, notificar o time, carregar contexto no início da sessão.
Eventos mais usados
SessionStart, UserPromptSubmit, PreToolUse, PermissionRequest, PostToolUse, Stop, PreCompact, PostCompact (a documentação lista dezenas de eventos).
Exemplo: formatar após cada edição
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{ "type": "command", "command": "npm run format" }
]
}
]
}
}
Códigos de saída
| Código | Efeito |
|---|---|
0 |
Sucesso; a ação segue (salvo se o JSON de saída bloquear) |
2 |
Erro bloqueante em eventos que podem bloquear. Em PreToolUse, bloqueia a ferramenta e devolve o stderr ao Claude como motivo |
| Outros | Erro não bloqueante; a ação segue e aparece um aviso |
Tipos de handler: command, http, mcp_tool, prompt e agent (este é experimental).
Dicas:
-
/hooksmostra os hooks configurados (só leitura). A configuração fica nosettings.json. - Na maioria dos eventos, se o hook falhar ou estourar o tempo, a ação segue. Para bloquear nesse caso, use
"onFailure": "block"em hookscommandouhttp(v2.1.295+; sem efeito emStop,SubagentStop,TaskCompletedeTeammateIdle). - Para reinjetar instruções depois de uma compactação, use um hook
SessionStartcom matchercompact.
10. 👥 Subagents
O que é: um assistente especializado que roda na sua própria janela de contexto, com prompt de sistema, ferramentas e permissões próprios. Ele devolve só um resumo, então logs e resultados de busca extensos não poluem a conversa principal.
Subagents nativos: Explore (busca rápida e só leitura), Plan (pesquisa no plan mode) e general-purpose (tarefas complexas com todas as ferramentas).
Criar o seu
Arquivo em .claude/agents/ (projeto) ou ~/.claude/agents/ (todos os projetos):
---
name: code-reviewer
description: Reviews code for quality and best practices
tools: Read, Glob, Grep
model: sonnet
---
You are a code reviewer. Give specific, actionable feedback.
Só name e description são obrigatórios. Outros campos: disallowedTools, model, permissionMode, skills, mcpServers, hooks, memory, isolation: worktree.
Como invocar
-
Automático: o Claude delega com base na
description. -
Explícito: cite o subagent no prompt ou mencione com
@. -
Sessão inteira:
claude --agent code-reviewer. - Definição temporária, só para a sessão:
claude --agents '{"debugger": {"description": "Debugs errors", "prompt": "You are an expert debugger."}}'
Recursos extras:
-
/subtask <tarefa>cria um subagent "forked", que herda a conversa inteira e trabalha em segundo plano. -
Ctrl+Bmanda um subagent em execução para segundo plano. - Subagents num modelo mais barato reduzem custo, e um subagent sem
Edit/Writesó consegue ler.
11. 🧩 Skills, comandos e plugins
Skills
O que é: um arquivo SKILL.md com instruções (e arquivos de apoio opcionais) que ensina um procedimento. O Claude carrega a skill quando ela é relevante, ou você chama com /nome.
| Local | Escopo |
|---|---|
~/.claude/skills/<nome>/SKILL.md |
Você, em todos os projetos |
.claude/skills/<nome>/SKILL.md |
O time, via git |
<plugin>/skills/<nome>/SKILL.md |
Chamada como /plugin-name:skill-name
|
---
name: deploy
description: Deploy the application to production
disable-model-invocation: true
---
Deploy $ARGUMENTS to production:
1. Run the test suite
2. Build the application
3. Push to the deployment target
-
disable-model-invocation: true: só você pode chamar (ideal para deploy). -
user-invocable: false: só o Claude pode chamar. -
$ARGUMENTS,$0,$1: recebem argumentos. - Arquivos em
.claude/commands/continuam funcionando e também viram/nome; a skill acrescenta arquivos de apoio e controle de invocação. -
/skillslista as skills;/skill-doctormostra o custo de contexto e o uso de cada uma.
Custo de contexto: a descrição de cada skill fica sempre no contexto (
description+when_to_usesão truncados em 1.536 caracteres na listagem). O conteúdo completo só carrega quando a skill é usada.
Skills que já vêm prontas: /code-review, /batch, /debug, /loop, /claude-api, /verify, /run, /simplify, entre outras.
Plugins
O que é: um diretório que empacota skills, agentes, hooks e servidores MCP para instalar como uma unidade.
-
/pluginabre o menu; a aba Discover lista os plugins dos seus marketplaces. - O marketplace oficial da Anthropic é adicionado na primeira sessão interativa.
- Pelo shell:
claude plugin install <plugin>@<marketplace>. - Escopos de instalação: usuário, projeto (via
.claude/settings.json) ou local.
Atenção: um plugin ativo entra em todas as sessões, consome contexto e roda com as suas permissões. Revise antes de instalar.
12. 🔌 MCP no terminal
O MCP (Model Context Protocol) é um padrão aberto para conectar ferramentas de IA a fontes de dados externas.
Adicionar servidores
bash
# Remoto via HTTP (recomendado para servidores remotos)
claude mcp add --transport http notion https://mcp.notion.com/mcp
# Remoto com cabeçalho de autenticação
claude mcp add --transport http secure-api https://api.example.com/mcp \
--header "Authorization: Bearer your-token"
# L
來源:DEV Community · dev.to