ClaudeS: Gerenciando múltiplas contas do Claude com chat compartilhado entre elas
Uso mais de uma conta do Claude Code, uma pessoal, uma de trabalho. Em algum momento uma delas bate o limite de uso no meio de uma tarefa, e a saída sempre foi a mesma: trocar para a outra conta na mão e continuar. Só que trocar de conta significa trocar de histórico de chats, pois cada CLAUDE_CONFIG_DIR guarda a sua própria sessão, então a conversa que eu estava no meio simplesmente não existe do outro lado.
O problema, por partes
E isso não é um problema só na hora de trocar. É uma sequência de pequenas coisas que se acumulam:
- Trocar de conta exige fazer isso manualmente, seja reexportando
CLAUDE_CONFIG_DIR, seja repetindoclaude /login; - A extensão oficial do Claude Code no VS Code não tem noção de "conta por projeto", então ela simplesmente usa a que estiver configurada no ambiente. Por conta disso, VS Code Profiles não resolvem;
- Cada conta mantém seu próprio histórico de sessão, isolado das outras, então trocar de conta no meio de uma tarefa custa a conversa inteira;
- Não existe aviso prévio de que o limite está perto de estourar, só se descobre quando o Claude já parou de responder, e aí é tarde para se planejar.
Nenhum desses pontos é grave sozinho. Mas juntos, isso vira uma dor de cabeça.
ClaudeS
Criei o ClaudeS, um aplicativo nativo para macOS, feito em Swift e SwiftUI, que fica na barra de status do Mac.
A ideia central é simples: cada conta fica isolada, cada projeto sabe sozinho qual conta usar, e trocar de conta nunca custa o histórico da conversa.
O que ele faz
- Isola as credenciais de cada conta — cada uma com seu próprio
CLAUDE_CONFIG_DIRe sua própria entrada na Keychain; - Lembra automaticamente qual conta cada projeto usa, tanto no terminal quanto dentro do VS Code, sem precisar reconfigurar nada a cada troca;
- Compartilha o histórico de sessão entre todas as contas, então mudar de conta no meio de uma tarefa não apaga a conversa;
- Mostra o uso de cada conta em tempo real na barra de status, com janelas de 5 horas e semanal, com horário de reset, tudo sem precisar abrir navegador nem rodar comando;
- Dispara notificação nativa quando uma conta passa de 75% ou 90% do limite, e avisa de novo quando a janela volta a ficar disponível;
- Tem um CLI completo (
cs) além do painel, login sem precisar abrir terminal, troca de conta por projeto, status de todas as sessões abertas, uso por conta.
Como funciona por baixo dos panos
O cs roda o claude de verdade, só que com o CLAUDE_CONFIG_DIR já resolvido a partir de um arquivo .clauderc no projeto. Dentro do VS Code, como a extensão oficial não suporta conta por projeto nativamente, o ClaudeS aplica um patch pequeno e reversível no bundle da extensão, mantido em sincronia a cada atualização, que ensina ela a checar o .clauderc antes de decidir qual conta usar. As credenciais continuam vivendo no Keychain, no mesmo formato que o claude oficial já usa. E o histórico de sessão fica num diretório único (~/.claude-shared-chats) que a pasta projects/ de cada conta aponta por symlink — a conversa pertence ao projeto, não à conta que estava ativa quando ela foi escrita.
Como instalar
brew install samuelgadiel/casks/claudes
Abrir o app uma vez pelo Launchpad já instala o cs no PATH, sem passo manual.
Está só começando
O ClaudeS ainda é um MVP, ainda estou organizando a arquitetura aos poucos, e isso é tanto um convite quanto um aviso. Se você quiser ajudar a definir convenções, propor uma estrutura ou simplesmente corrigir algo que te incomodou, issues e PRs são bem-vindos.
Repositório: https://github.com/SamuelGadiel/claudes