Terminal com código executando e um cadeado do macOS Keychain ao fundo, ilustrando a recuperação de token OAuth.

Claude IA e OAuth: Recupere seu Token em macOS em 30s!

Por Pedro W. • 3 min de leitura

A ferramenta Claude Code é uma aliada poderosa para desenvolvedores, mas pode apresentar desafios em cenários como o acesso via SSH no macOS. Isso ocorre porque o Keychain do sistema, onde os tokens OAuth são armazenados, fica bloqueado nessas situações.

Felizmente, existe uma solução rápida que permite retomar o uso do Claude Code em segundos, sem interromper suas sessões tmux. Vamos explorar como extrair e injetar o token para que sua produtividade não pare.

Pré-requisitos Essenciais

Antes de prosseguir, certifique-se de que você possui o ambiente adequado. É necessário ter um sistema macOS, pois a solução envolve o Keychain.

A ferramenta Claude Code CLI deve estar instalada na versão 2.1.45 ou superior. Além disso, é fundamental ter acesso SSH ao seu Mac ou estar trabalhando em uma sessão tmux.

Por fim, você já deve ter executado claude setup-token para gerar um token OAuth anteriormente.

O Problema: Keychain Bloqueado via SSH

O Claude Code armazena seus tokens OAuth no Keychain do macOS, especificamente sob o serviço "Claude Code-credentials". Contudo, ao operar via SSH, o Keychain está frequentemente bloqueado, tornando o token inacessível.

Isso resulta em mensagens de erro como Error: Authentication required. Run 'claude auth login'. Tentar executar claude auth login abriria um navegador, o que é inviável em uma sessão SSH.

$ echo "test" | claude -p
Error: Authentication required. Run 'claude auth login'

A Solução: Variável de Ambiente

O Claude Code tem uma prioridade para a variável de ambiente CLAUDE_CODE_OAUTH_TOKEN. Ao extrair o token do Keychain e configurá-lo como uma variável de ambiente, você habilita o acesso via SSH ou em sessões tmux.

Esta abordagem permite que a ferramenta funcione corretamente mesmo quando o Keychain não está acessível diretamente. Assim, você mantém sua produtividade sem interrupções.

Passo 1: Extraindo o Token do Keychain

Em um terminal local do Mac (não via SSH), execute o seguinte comando:

security find-generic-password -s 'Claude Code-credentials' -w

A saída será um objeto JSON contendo o token. Um exemplo de saída é:

{"accessToken":"sk-ant-oat01-qCV5O13G...bcGbVQAA","refreshToken":"...","expiresAt":"2027-02-18T07:00:00.000Z"}

Copie todo o output JSON. Ele será essencial para as próximas etapas.

Passo 2: Configurando a Variável de Ambiente

Se você estiver conectado via SSH, precisará definir a variável de ambiente com o JSON copiado. Use o comando export:

export CLAUDE_CODE_OAUTH_TOKEN='{"accessToken":"sk-ant-oat01-qCV5O13G...bcGbVQAA","refreshToken":"...","expiresAt":"2027-02-18T07:00:00.000Z"}'

Lembre-se de substituir a string do token pelo JSON que você copiou. Isso garante que o Claude Code encontre as credenciais corretas.

Passo 3: Injetando em Sessão Tmux (Opcional)

Se o Claude Code estiver rodando dentro de uma sessão tmux, você precisará atualizar o ambiente tmux. Use o comando tmux set-environment para injetar o token:

tmux set-environment -t mobileapp-factory CLAUDE_CODE_OAUTH_TOKEN '{"accessToken":"sk-ant-oat01-qCV5O13G...bcGbVQAA","refreshToken":"...","expiresAt":"2027-02-18T07:00:00.000Z"}'

Em seguida, carregue a variável de ambiente dentro da sessão tmux:

export CLAUDE_CODE_OAUTH_TOKEN=$(tmux show-environment -t mobileapp-factory CLAUDE_CODE_OAUTH_TOKEN | cut -d= -f2-)

Essas etapas são cruciais para que a ferramenta reconheça o token dentro das suas sessões tmux.

Passo 4: Verificando o Acesso

Após seguir os passos, execute um comando simples do Claude Code para verificar se o acesso foi restaurado. Se tudo estiver correto, você não receberá mais os erros de autenticação.

Esse método garante que você possa utilizar o Claude Code de forma contínua e eficiente, mesmo em ambientes desafiadores como o SSH. Continue acompanhando o Brasil Vibe Coding para mais dicas e truques de programação e IA!

Tags: Claude Code OAuth macOS SSH Keychain tmux Programação IA

Perguntas Frequentes

Por que o Claude Code falha ao acessar o token de autenticação via SSH no macOS?

O Claude Code armazena tokens OAuth no Keychain do macOS. Ao operar via SSH, o Keychain geralmente está bloqueado, impedindo o acesso ao token e causando falhas de autenticação.

Como posso extrair o token OAuth do Keychain no macOS?

Em um terminal local do Mac, execute o comando `security find-generic-password -s 'Claude Code-credentials' -w` para obter o token em formato JSON.

Como injetar o token OAuth no ambiente SSH ou tmux?

Você deve definir o token como uma variável de ambiente `CLAUDE_CODE_OAUTH_TOKEN`. Via SSH use `export CLAUDE_CODE_OAUTH_TOKEN='JSON_DO_TOKEN'` e, no tmux, use `tmux set-environment` e `export CLAUDE_CODE_OAUTH_TOKEN`.

Qual versão do Claude Code CLI é necessária para esta solução?

É necessário ter o Claude Code CLI v2.1.45 ou posterior instalado para que esta solução funcione corretamente.