Pular para o conteúdo principal
O ChatCLI suporta autenticação via OAuth 2.0 com PKCE e Device Flow (RFC 8628) para provedores que oferecem essas opções. Isso permite que você use seu plano existente (como ChatGPT Plus, Codex, Claude Pro ou GitHub Copilot) diretamente no terminal, sem precisar gerar ou colar chaves de API.

Métodos de Autenticação

MétodoDescriçãoQuando Usar
Chave de APIVariá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 terminalPlanos 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

/auth status
Exibe o status de autenticação de todos os provedores configurados, incluindo tipo de credencial (API Key vs OAuth), validade do token e origem.

Login via OAuth

/auth login openai-codex
/auth login anthropic
/auth login github-copilot
1

Navegador abre automaticamente

O navegador abre na página de login do provedor.
2

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.
3

Provedor disponível imediatamente

O provedor aparece imediatamente no /switchsem reiniciar o app.

Provedores Suportados

ProvedorComandoPlanos Compatíveis
OpenAI/auth login openai-codexChatGPT Plus, Codex, Team, Enterprise
Anthropic/auth login anthropicClaude Pro, Team
GitHub Copilot/auth login github-copilotCopilot Individual, Business, Enterprise

Logout

/auth logout openai-codex
/auth logout anthropic
/auth logout github-copilot
Remove as credenciais OAuth armazenadas para o provedor específicado.

Fluxo Completo: Do Zero ao Primeiro Prompt

Se você está começando sem nenhuma credencial configurada, siga estes passos:
1

Inicie o ChatCLI

Funciona mesmo sem credenciais configuradas.
chatcli
2

Faça login via OAuth

/auth login openai-codex
3

Autorize no navegador

O navegador abre automaticamente na página de login do provedor.
4

Troque para o provedor

/switch
5

Envie seu primeiro prompt

Olá, como você está?

Roteamento Automático de Endpoints (OpenAI)

O ChatCLI detecta automaticamente o tipo de credencial e roteia as requisições para o endpoint correto:
CredencialEndpointAPI Format
OPENAI_API_KEYapi.openai.com/v1/responsesResponses API (padrão)
OPENAI_API_KEYapi.openai.com/v1/chat/completionsChat Completions (modelos legados)
OAuth (/auth login)chatgpt.com/backend-api/codex/responsesResponses API (streaming SSE)
Você não precisa configurar nada — o roteamento é automático baseado no tipo de token.

Armazenamento de Credenciais

As credenciais OAuth são salvas com criptografia AES-256-GCM em:
~/.chatcli/auth-profiles.json
A chave de criptografia é gerada automaticamente e armazenada 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:
export CHATCLI_AUTH_DIR="~/.config/chatcli/auth"

Configuração Avançada

VariávelDescrição
CHATCLI_OPENAI_CLIENT_IDPermite sobrescrever o client ID do OAuth da OpenAI
CHATCLI_COPILOT_CLIENT_IDPermite sobrescrever o client ID do Device Flow do GitHub Copilot (padrão: Ov23lifEydOk2Non90tJ)
COPILOT_API_BASE_URLURL base da API do Copilot para ambientes enterprise (padrão: https://api.githubcopilot.com)

Solução de Problemas

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.
Execute /auth status para verificar se o token foi salvo corretamente. Se necessário, tente /auth logout <provedor> seguido de /auth login <provedor>.
Certifique-se de que sua conta GitHub possui uma assinatura ativa do Copilot (Individual, Business ou Enterprise). Verifique em https://github.com/settings/copilot se o Copilot está habilitado.
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