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
- 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.
- 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. - O sandbox não vem ligado por omissão: liga-o com
/sandboxno Claude Code e--sandboxno Gemini CLI para isolar comandos — no Claude Code, em Windows só dentro de WSL2. - Nunca passes segredos no prompt: o contexto que o agente vê sai da tua máquina para a API do modelo.
- 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.mdeCLAUDE.md.
Neste artigo
- 1. O que são e como correm
- 2. Instalação e o primeiro dia
- 3. Casos práticos de sysadmin
- 4. Segurança prática: sandbox, aprovação e segredos
- 5. Claude Code vs Gemini CLI: o que os separa
- 6. Erros comuns
- Artigos Relacionados
- Fontes Oficiais
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.jsonno 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
- Como Instalar e Configurar o Claude Code: API, LLM Local, Skills e Exemplos Práticos
- AI Agents para Sysadmin em 2026: Como Automatizar o Helpdesk
- MCP: O Protocolo que Muda a Forma como Usamos IA
- Ollama + Open WebUI Avançado 2026: WSL2, GPU, HTTPS e RBAC
Fontes Oficiais
Claude Code
- Claude Code — Overview (code.claude.com)
- Claude Code — Quickstart
- Claude Code — Configure permissions
- Claude Code — Configure the sandboxed Bash tool
Gemini CLI
- Gemini CLI — Repositório GitHub (google-gemini)
- Gemini CLI — Installation, execution, and releases
- Gemini CLI — Authentication setup
- Developers Blog (Google) — Transitioning Gemini CLI to Antigravity CLI (19/05/2026)
- Antigravity — Introducing the Antigravity CLI
- Gemini CLI — Sandboxing
- Gemini CLI — Shell tool (run_shell_command)