Métodos de Autenticação
| Método | Descrição | Quando Usar |
|---|---|---|
| Chave de API | Variável de ambiente no .env (ex: OPENAI_API_KEY) | Acesso programático, CI/CD, API Keys da plataforma |
| OAuth (login interativo) | Comando /auth login no terminal | Planos ChatGPT Plus/Codex, Claude Pro, sem gerenciar keys |
Os dois métodos podem coexistir. O ChatCLI prioriza credenciais OAuth quando ambas estão disponíveis.
Comandos /auth
Todos os comandos de autenticação possuem auto-completação — basta digitar /auth e pressionar Tab.
Ver Status
Login via OAuth
Autorize o acesso
OpenAI: um servidor HTTP local captura o callback automaticamente (porta 1455).Anthropic: após autorizar, copie o código exibido na página e cole no terminal.GitHub Copilot: insira o código do dispositivo exibido no terminal na página do GitHub.
Provedores Suportados
| Provedor | Comando | Planos Compatíveis |
|---|---|---|
| OpenAI | /auth login openai-codex | ChatGPT Plus, Codex, Team, Enterprise |
| Anthropic | /auth login anthropic | Claude Pro, Team |
| GitHub Copilot | /auth login github-copilot | Copilot Individual, Business, Enterprise |
Logout
Fluxo Completo: Do Zero ao Primeiro Prompt
Se você está começando sem nenhuma credencial configurada, siga estes passos:Roteamento Automático de Endpoints (OpenAI)
O ChatCLI detecta automaticamente o tipo de credencial e roteia as requisições para o endpoint correto:| Credencial | Endpoint | API Format |
|---|---|---|
OPENAI_API_KEY | api.openai.com/v1/responses | Responses API (padrão) |
OPENAI_API_KEY | api.openai.com/v1/chat/completions | Chat Completions (modelos legados) |
OAuth (/auth login) | chatgpt.com/backend-api/codex/responses | Responses API (streaming SSE) |
Armazenamento de Credenciais
As credenciais OAuth são salvas com criptografia AES-256-GCM em:~/.chatcli/.auth-key (permissão 0600). Dados não-criptografados de versões anteriores são migrados transparentemente na primeira leitura.
O arquivo contém tokens de acesso, tokens de refresh e metadados de cada provedor. Os tokens são renovados automaticamente quando expiram.
Para personalizar o diretório de armazenamento, defina a variável de ambiente:
Configuração Avançada
| Variável | Descrição |
|---|---|
CHATCLI_OPENAI_CLIENT_ID | Permite sobrescrever o client ID do OAuth da OpenAI |
CHATCLI_COPILOT_CLIENT_ID | Permite sobrescrever o client ID do Device Flow do GitHub Copilot (padrão: Ov23lifEydOk2Non90tJ) |
COPILOT_API_BASE_URL | URL base da API do Copilot para ambientes enterprise (padrão: https://api.githubcopilot.com) |
Solução de Problemas
Erro de autenticação ao clicar no link OAuth (OpenAI)
Erro de autenticação ao clicar no link OAuth (OpenAI)
Verifique se a porta de callback não está em uso por outra aplicação. O servidor de callback da OpenAI precisa da porta 1455 para capturar o retorno.
Código não aparece após autorizar (Anthropic)
Código não aparece após autorizar (Anthropic)
O fluxo da Anthropic redireciona para a página do console que exibe o código de autorização. Copie o código exibido e cole no terminal quando solicitado.
Provedor não aparece no /switch após login
Provedor não aparece no /switch após login
Execute
/auth status para verificar se o token foi salvo corretamente. Se necessário, tente /auth logout <provedor> seguido de /auth login <provedor>.GitHub Copilot: authorization denied by user
GitHub Copilot: authorization denied by user
Token expirado
Token expirado
Os tokens OAuth são renovados automaticamente usando o refresh token. Se o refresh falhar, faça login novamente com
/auth login.Tokens do GitHub Copilot (Device Flow) não expiram e não possuem refresh token — são persistentes até revogação manual.Próximos Passos
Referência de Comandos
Lista completa de todos os comandos disponíveis.
Configuração (.env)
Todas as variáveis de ambiente disponíveis.
Uso Básico
Aprenda os fundamentos do ChatCLI.