| |
POST https://api.anthropic.com/v1/environments/bridge
O *payload* inclui informações sobre sua máquina:
```json
{
"machine_name": "MacBook-Pro-do-Fernando",
"directory": "/Users/fernando/code/tokamak",
"branch": "main",
"git_repo_url": "https://git.frr.dev/frr/tokamak.git"
}
E a resposta retorna um environment_id, um environment_secret e o seu organization_uuid. É um registro: “esta máquina, neste diretório, com esta sessão, está disponível para controle remoto”.
2. O WebSocket (não é polling)
Aqui vem a parte interessante. A comunicação não é polling HTTP. É um WebSocket bidirecional:
wss://api.anthropic.com/v1/session_ingress/ws/{session_id}
A CLI abre esse WebSocket e continua ouvindo. Quando você, no celular, digita algo no claude.ai, a mensagem é enviada pelo WebSocket até a sua CLI local. A CLI processa (executa ferramentas, lê arquivos, o que for) e envia o resultado de volta pelo mesmo canal.
Não é mágica, mas é elegante. O WebSocket mantém uma conexão persistente, então a latência é mínima. Não é preciso ficar perguntando “tem algo novo?” a cada 5 segundos.
A Anthropic chama isso internamente de HybridTransport: HTTPS para registro e operações pesadas, WebSocket para comunicação em tempo real.
3. O polling de trabalho
Além do WebSocket, há um endpoint de polling para quando a conexão do WebSocket cai:
GET https://api.anthropic.com/v1/environments/{env_id}/work/poll
É o fallback. Se o WebSocket se desconecta (Wi-Fi instável, laptop em modo de suspensão), a CLI pode perguntar novamente “tem trabalho para mim?” via HTTP comum. Uma solução belt and suspenders, como dizem os americanos.
4. Os rastros no disco
E aqui está o que mais me interessa como desenvolvedor de ferramentas. Cada sessão com /rc deixa rastros em três locais:
No JSONL da sessão (o arquivo que o Tokamak já lê), aparece um novo evento:
| |
O campo slug é particularmente interessante: um nome de três palavras gerado aleatoriamente para identificar a sessão de forma mais humana. “rapid-frozen-basilisk”. Parece até nome de operação da CIA.
Nos arquivos de telemetria, aparece uma flag:
is_claude_code_remote: true
E no log de depuração (~/.claude/debug/{sessionId}.txt), aparece TUDO:
Bridge API request: POST /v1/environments/bridge
Bridge API response: 200 { environment_id: "...", ... }
WebSocket connected: wss://api.anthropic.com/v1/session_ingress/ws/...
É um registro completo de cada interação com a Bridge API: URLs, payloads, respostas, estados do WebSocket. Um sonho para quem gosta de engenharia reversa.
Por que ainda não funciona
Agora vem a parte frustrante. Tudo o que descrevi foi descoberto ao executar o /rc no meu terminal. A CLI se registrou na Bridge API sem problemas. O WebSocket conectou. O log de depuração ficou cheio de rastros.
Mas, quando tentei conectar do celular, o claude.ai disse que não.
Pesquisei no GitHub. Dezenas de issues relatando exatamente o mesmo problema. “Remote Control not available in my organization.” Contas Max. Contas pagas. Todas com o mesmo problema.
A resposta da Anthropic é que está sendo um “gradual rollout”. Dito de forma clara: estão ativando conta por conta, não de uma vez só. E em fevereiro de 2026, a maioria das contas Max ainda não têm acesso.
É como quando te mostram o cardápio de um restaurante com fotos maravilhosas, você pede o prato principal e o garçom diz: “ah, esse ainda não tá disponível.”
O que dá para fazer sem que o Remote Control funcione
Essa é a parte construtiva. Mesmo que você não possa usar o Remote Control a partir do celular, a mera existência da API e dos rastros que ela deixa abre possibilidades interessantes para ferramentas de terceiros.
Detectar sessões remotas
O campo slug no JSONL e a flag is_claude_code_remote na telemetria permitem distinguir sessões locais de sessões remotas. Se você estiver desenvolvendo um painel de controle (como o Tokamak), pode mostrar algo como: “esta sessão foi controlada do celular entre 14:00 e 15:30”.
Dados do Bridge como contexto
O registro na Bridge API inclui machine_name, directory, branch, git_repo_url. Se você tem várias máquinas ou sessões, o Bridge fornece um inventário completo de onde cada instância do Claude Code está rodando. Uma visão geral do seu ambiente.
WebSocket como canal de observação
O WebSocket é bidirecional. Hoje, a Anthropic o utiliza para conectar o claude.ai à sua CLI. Mas um cliente de terceiros poderia, em teoria, conectar-se ao mesmo canal como observador. Visualizar as mensagens em tempo real sem interferir. Um replay ao vivo da sessão.
Digo “em teoria” porque você precisaria do environment_secret que a Bridge API fornece, e a Anthropic pode (e provavelmente vai) limitar quem pode se conectar. Mas a infraestrutura está lá.
O que isso diz sobre a Anthropic
Duas coisas chamam a atenção.
Primeiro: a qualidade técnica da Bridge API é alta. WebSocket com fallback para polling, segredos rotacionáveis, registro de ambiente com metadados do git, nomes humanos para sessões. Não é uma gambiarra. Eles projetaram para ser escalável.
Segundo: a gestão do lançamento é… discutível. Anunciar uma feature no blog oficial, que a CLI a suporte, que deixe rastros, que gere URLs funcionais… mas não a disponibilizar para a maioria dos usuários pagos. Isso gera frustração. As dezenas de issues no GitHub confirmam.
É um padrão recorrente no mundo da IA: muitos anúncios, pouco rollout. Como se as empresas precisassem gerar hype antes de terem a infraestrutura pronta para atender todos.
Resumindo
O Remote Control do Claude Code é uma feature real, bem projetada, com uma API elegante por trás. A Bridge API, o WebSocket, os rastros em disco — tudo indica que foi feito para durar.
Mas, até hoje, 27 de fevereiro de 2026, a maioria dos usuários Max não pode utilizá-la. Os dados estão lá. A API responde. Sua CLI se registra e conecta. E então o claude.ai diz que você não pode entrar.
Se você tem uma conta Max e isso funciona: parabéns, você é um dos poucos. Caso contrário: tenha paciência. Ou faça como eu e passe a tarde desmontando uma API que você ainda não pode usar. Pelo menos você aprende algo.
E se você está desenvolvendo ferramentas para o Claude Code, tome nota dos endpoints e rastros. Quando isso for liberado para todos, você vai querer estar preparado.