O Claude Code, da Anthropic, e o Gemini CLI, da Google, são agentes de código no terminal: leem a tua estrutura de ficheiros, propõem edições e correm comandos com a tua aprovação. Para quem administra servidores, os casos úteis são claros: ler registos e inferir padrões, construir scripts de diagnóstico, reescrever scripts shell e PowerShell existentes e documentar o ambiente.

TL;DR — o essencial

  1. Claude Code e Gemini CLI são agentes de código no terminal: leem ficheiros, editam, propõem comandos e tudo passa pela tua aprovação.
  2. A instalação leva minutos: Claude Code via instalador nativo com subscrição Claude, Gemini CLI via npm install -g @google/gemini-cli — o acesso por conta Google individual acabou a 18/06/2026 (gratuitas, AI Pro e Ultra): hoje entra por chave de API paga, Vertex AI ou licença Code Assist Standard/Enterprise.
  3. O sandbox não vem ligado por omissão: liga-o com /sandbox no Claude Code e --sandbox no Gemini CLI para isolar comandos — no Claude Code, em Windows só dentro de WSL2.
  4. Nunca passes segredos no prompt: o contexto que o agente vê sai da tua máquina para a API do modelo.
  5. Casos de sysadmin: leitura de registos com inferência a validar, scripts de diagnóstico, reescrita de scripts shell e PowerShell e documentação do ambiente com GEMINI.md e CLAUDE.md.

Neste artigo

1. O que são e como correm

O Claude Code apresenta-se como “ferramenta de código agêntica (agentic coding tool) que lê a tua base de código, edita ficheiros, corre comandos” e está disponível no terminal, em extensões de IDE, na app de desktop e no browser. O Gemini CLI descreve-se como um agente IA open-source (licença Apache 2.0, no projecto google-gemini do GitHub) que traz o Gemini directamente para o terminal, como o caminho mais directo do teu prompt até ao modelo.

Os dois correm da mesma forma básica: arrancas o CLI num directório de trabalho, apresentas a tarefa no prompt e o agente inspeciona os ficheiros, propõe edições e pede a tua confirmação antes de executar comandos. A lógica é a de um empregado de confiança supervisionado: ele faz o trabalho manual, tu decides o que cruza a linha.

Os dois estendem-se por MCP (Model Context Protocol) para ligar ferramentas externas: o Claude Code corre os servidores MCP fora do seu sandbox, e o Gemini CLI configura-os no ficheiro ~/.gemini/settings.json — já coberto no artigo irmão sobre MCP (ver Artigos Relacionados). Para o trabalho do dia a dia, isto significa que os dois não ficam presos ao directório local: podes ligá-los a wikis, inventários ou ticketing via MCP.

2. Instalação e o primeiro dia

Claude Code. Exige uma subscrição Claude (Pro, Max, Team ou Enterprise), uma conta do Console da Anthropic ou acesso por um fornecedor cloud suportado (Vertex AI, Amazon Bedrock). A instalação nativa é a recomendada e actualiza-se sozinha em segundo plano. Em Windows nativo, o Claude Code recomenda instalar o Git for Windows para poder usar a ferramenta Bash, caso contrário usa o PowerShell como shell tool:

# Claude Code — macOS, Linux e WSL (instalador nativo, recomendado)
curl -fsSL https://claude.ai/install.sh | bash

# Claude Code — Windows PowerShell
irm https://claude.ai/install.ps1 | iex

# Confirmar (abre uma janela de terminal nova depois do instalador)
claude --version

Gemini CLI. Pede Node.js 20+ e lista macOS 15+, Windows 11 24H2+ e Ubuntu 20.04+ como sistemas suportados, com orientação de 4 GB de RAM para uso casual e 16 GB ou mais para sessões longas e bases de código grandes. Vem pré-instalado no Cloud Shell e nas Cloud Workstations da Google:

npm install -g @google/gemini-cli

# Alternativas oficiais: brew install gemini-cli
# Ou sem instalação fixa: npx @google/gemini-cli

# Arrancar no directório de trabalho
gemini

Primeira sessão. No Gemini CLI, atenção ao corte de 18 de Junho de 2026: o CLI deixou de servir contas individuais — as gratuitas (Code Assist for individuals) e as subscrições Google AI Pro e Ultra — e esse público foi migrar para o Antigravity CLI. Para servidores, o caminho é chave de API paga, Vertex AI ou licença Code Assist Standard/Enterprise — o Sign in with Google (login no browser, credenciais em cache local) fica para as contas de organização. Em contas de empresa, escola ou Workspace é preciso definir um Google Cloud Project. As alternativas são a Gemini API Key (gerada no Google AI Studio e exportada em export GEMINI_API_KEY="SUA_CHAVE") e o Vertex AI para ambiente enterprise. No Claude Code, o login da sessão usa a conta da tua subscrição ou do Console da Anthropic.

A tabela seguinte resume o que cada CLI te pede no primeiro dia:

Mecanismo Claude Code Gemini CLI
Leitura de ficheiros Sem pergunta dentro do directório de trabalho (e directórios adicionais aprovados) Sem pergunta dentro do rootDirectory
Comandos shell Pede aprovação por comando, excepto um conjunto interno de comandos de leitura run_shell_command pede confirmação, com allowlist por prefixo via tools.core
Não perguntar outra vez Grava a regra em .claude/settings.local.json do repositório, por comando ou domínio Prefixos autorizados definidos em settings.json (tools.core)
Edições de ficheiros Pede aprovação, válida até ao fim da sessão write_file e replace dentro do rootDirectory
Web (fetch e search) Pede aprovação, excepto um conjunto interno de domínios de documentação preaprovados Ferramentas built-in de web fetch e search
Sandbox Desligado por omissão, liga-se com /sandbox na sessão --sandbox, variável GEMINI_SANDBOX ou "sandbox": true em settings.json

Dois detalhes que valem leitura antes do primeiro dia real. No Claude Code, a opção “Yes, and don’t ask again” grava a regra no repositório e vale para futuras sessões, mas a aprovação de edições de ficheiros dura só até ao fim da sessão. No modo automático (auto), um classificador revê as acções no teu lugar, e o sandbox auto-aceita comandos sandboxed — os dois modos reduzem o atrito ao custo de mais confiança depositada. No Gemini CLI, os encadeamentos com && e || são divididos e cada parte validada antes de correr, e a blocklist (o tools.exclude, que o Gemini CLI marca como deprecado em favor do Policy Engine) tem precedência sobre o allowlist.

3. Casos práticos de sysadmin

Os quatro casos seguintes partem do que os dois CLI fazem por omissão: ler ficheiros dentro do directório de trabalho, correr comandos com a tua aprovação e trabalhar em modo interactivo. Os prompts exemplificam o formato interactivo dos dois (a linha > é o prompt do agente, os teus pedidos escrevem-se a seguir a ele).

Leitura de registos com inferência. O caso mais frequente: apontar o agente a um ficheiro de registo copiado para a sandbox e pedir uma leitura guiada com evidências:

> Analisa o /var/log/auth.log deste servidor dos últimos 3 dias
> Diz-me quais IPs falharam mais logins SSH e se o padrão parece brute force
> Mostra as linhas exactas do registo que sustentam cada conclusão

Trata a inferência do agente como pista, nunca como sentença. O pedido de evidências (as linhas exactas que sustentam cada conclusão) é o que separa uma leitura útil de uma alucinação confortável: se o agente não consegue mostrar as linhas, a conclusão não se sustenta. O mesmo vale para qualquer diagnóstico de rede ou de desempenho — o padrão da casa nos artigos de diagnóstico é tratar as métricas como pistas a correlacionar, nunca como verdades.

Scripts de diagnóstico. Em vez de executar, pede ao agente a sequência que provaria ou refutaria a tua hipótese:

> Este servidor responde lento a partir das 21h30
> Indica os comandos nativos (ss, iostat, journalctl, dmesg) que confirmam
ou refutam essa leitura e o que esperar do output de cada um
> Propõe a sequência de diagnóstico, mas não executes nada ainda

Aqui o valor está no ciclo: o agente propõe o comando e a leitura do output, tu decides se corre na sandbox ou num ambiente de teste. Scripts que escreve à tua mão com a ajuda do agente mantêm-se sob versionamento (commit antes, commit depois), como em qualquer revisão de código.

Reescrita de scripts shell e PowerShell. Este é o caso mais sólido dos agentes de código, e os dois CLI brilham aqui: mantêm o contexto do ficheiro inteiro, propõem edições circunscritas e a revisão é feita no diff. A rotina segura: cópia do ficheiro antes (ou commit limpo), a proposta do agente para a sandbox, testes reais num ambiente de trabalho, e só depois o upload para produção por revisão humana.

Documentar o ambiente. O trabalho de documentação é o mais subestimado. O Gemini CLI suporta ficheiros de contexto GEMINI.md — ficheiros de contexto persistente para o CLI — e o Claude Code usa o equivalente CLAUDE.md. No fim do dia, tens a documentação do ambiente escrita por quem o vive: inventários de máquinas, portas abertas, scripts em uso, passos comuns de manutenção. Com MCP a ligar wikis e inventários, a documentação ganha corpo a partir do terminal.

4. Segurança prática: sandbox, aprovação e segredos

A regra número um: arranca sempre numa máquina de trabalho — VM descartável, contentor ou workstation dedicada ao agente — e nunca num jump host de produção. O directório de trabalho é o perímetro do agente: tudo o que ele lê, edita e corre vive aí, e é aí que os danos, se acontecerem, ficam confinados.

Sandbox. Os dois têm sandbox, e um dos dois desligado por omissão. No Claude Code, o sandbox cobre os comandos shell (Bash, PowerShell e Monitor), aplica-se em macOS, Linux e WSL2 — no Windows nativo os comandos correm sem isolamento (para usar o sandbox, o Claude Code tem de correr dentro de WSL2) — e não cobre as ferramentas de ficheiros nem os servidores MCP, que correm fora dele. Liga-o com /sandbox (ou "sandbox.enabled": true em ~/.claude/settings.json) e, com o auto-allow activo, os comandos sandboxed correm sem te pedir cada um — menos atrito com limite garantido pelo isolamento. O próprio Claude Code avisa: sem isolamento de rede, “um agente comprometido podia exfiltrar ficheiros sensíveis como chaves SSH” — o isolamento de ficheiros e de rede correm juntos, e desligar só um dos dois é excepção para workloads de confiança.

No Gemini CLI, o sandbox corre em contentor (Docker ou Podman) — os modos mais fortes: runsc do gVisor (kernel em userspace, Linux), Sandbox Exec no macOS, sandbox nativo em Windows e LXC/LXD experimental. Liga-se em três formas equivalentes (flag, variável de ambiente ou settings), e os montes de ficheiros fora do workspace (a variável SANDBOX_MOUNTS) chegam por omissão como read-only. Quando um comando precisa de mais permissões, o CLI pede-te uma Sandbox Expansion Request em vez de se elevar sozinho. As duas configurações seguintes mostram sandbox + allowlist:

{ "tools": { "sandbox": true } }

{ "tools": { "core": [ "run_shell_command(git)", "run_shell_command(npm)" ] } }

Nunca apontar à produção. Trabalha em cópias e ambientes de teste, leva as alterações a produção por revisão humana (pull request, segundo par de olhos, rollback pronto). Os agentes de código só tocam em produção quando tu, na tua conta, decides que a proposta está validada — o agente não vê a chave de produção, desde que as leituras estejam fechadas na configuração do sandbox.

Revisão humana de cada comando. Lê o prompt de permissão antes de aceitar: no Claude Code ele mostra exactamente o que vai correr, e cada opção “Yes, and don’t ask again” grava uma regra. Usa essa memória com moderação — reserva-a para comandos conhecidos e inofensivos, e audita periodicamente o que ficou gravado em .claude/settings.local.json. No Gemini CLI, define allowlist por prefixo curtos e revê periodicamente: um prefixo largo (run_shell_command(git)) também autoriza git push, não só o git status que tinhas em mente.

Limites de gasto (spend). No lado Claude Code, o tecto vem da tua subscrição (limites de utilização por plano) ou do billing por uso da conta do Console. No Gemini CLI, o tecto vem das quotas da tua conta (Code Assist) ou do billing por uso da API key / Vertex AI. Prática de sysadmin: mantém um projecto ou billing dedicado ao agente, activa orçamento com alertas na plataforma cloud, dá-lhe chaves com escopo mínimo e monitoriza o consumo nas ferramentas das próprias plataformas (o próprio Gemini CLI traz guias de telemetria e de enterprise para gestão organizacional).

Atenção: segredos não entram no contexto

Chaves API, palavras-passe, tokens, ficheiros .env e dumps de configuração com credenciais não vão para o prompt do agente. O contexto que lhes mostras sai da tua máquina para a API do fornecedor do modelo, e por isso o sandbox do Claude Code inclui mascaramento de credenciais (a entrada credentials da configuração do sandbox). Nos testes usa segredos fictícios, redacta os registos antes de os mostrar ao agente, e nunca reuses a chave de produção no agente.

5. Claude Code vs Gemini CLI: o que os separa

A comparação fica nos factos — autenticação, modelos, licença, extensibilidade e sandbox — sem números de quota ou benchmark de precisão que nenhum documento oficial garante:

Ponto de comparação Claude Code Gemini CLI
Origem e licença Produto da Anthropic Open-source, licença Apache 2.0, no projecto google-gemini
Autenticação Subscrição Claude (Pro, Max, Team ou Enterprise), conta do Console da Anthropic ou fornecedor cloud Gemini API Key paga (AI Studio), Vertex AI ou licença Code Assist Standard/Enterprise — o Sign in with Google ficou para as contas de organização (as individuais deixaram de ser servidas a 18/06/2026)
Modelos Claude, da Anthropic Gemini — o CLI não está optimizado para os modelos mais recentes
Extensibilidade Servidores MCP (correm fora do sandbox), ficheiro de contexto CLAUDE.md Servidores MCP em ~/.gemini/settings.json, extensions, comandos custom e GEMINI.md
Sandbox Bash sandbox com isolamento de ficheiros e de rede, gerido por /sandbox Contentor (Docker/Podman), runsc/gVisor, Sandbox Exec, sandbox nativo em Windows, LXC experimental
Modo em scripts Interactivo no terminal Não interactivo: -p e --output-format json/stream-json para workflows

Escolhe por licença e integração, não por hype. Se já pagas subscrição Claude e queres o editor de permissões mais fino (regras gravadas por repositório, managed settings para organizações), o Claude Code entrega isso. Se preferes open-source, integração Google Cloud e Vertex AI, ou automação em scripts com output estruturado, o Gemini CLI cobre bem esse caso. Nada impede os dois lado a lado no mesmo terminal, cada um num directório de trabalho próprio.

Nota de 2026 sobre o futuro do Gemini CLI: a Google unificou os agentes — a 18 de Junho de 2026, o Gemini CLI e as extensões Code Assist deixaram de servir Google AI Pro, Ultra e as contas gratuitas do Code Assist for individuals, e esse público tem casa nova no Antigravity CLI (o comando agy, escrito em Go, o mesmo harness do Antigravity 2.0, distribuído sem código aberto). Continuam de pé: as licenças Gemini Code Assist Standard/Enterprise, a Vertex AI e as chaves de API pagas (Gemini e Gemini Enterprise Agent Platform) — o repositório Apache 2.0 do Gemini CLI segue activo no GitHub. Se os teus colegas usam contas pessoais, esta é a primeira decisão a rever antes de padronizar a ferramenta.

6. Erros comuns

  • Correr o agente directamente no servidor de produção — começa na máquina de trabalho e sobe as mudanças com revisão humana.
  • Colar segredos no prompt ou no chat — o contexto sai da tua máquina para a API do fornecedor do modelo.
  • Reutilizar a chave ou billing de produção no agente — contas, projectos e orçamentos separados desde o primeiro dia.
  • Aprovar “não perguntar outra vez” em massa — as regras persistem no repositório (.claude/settings.local.json no Claude Code, allowlists no Gemini) e valem para as próximas sessões.
  • Aceitar o refactor à primeira — lê o diff, corre os testes e só depois aceitas.
  • Confundir inferência com diagnóstico — pede as linhas do registo que sustentam a conclusão e valida-tu.

Artigos Relacionados

Fontes Oficiais

Claude Code

Gemini CLI