1

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 repetindo claude /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_DIR e 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

Carregando publicação patrocinada...
1

A pasta projects/ em symlink faz as duas contas lerem o mesmo histórico. A credencial fica no Keychain de cada uma. O que a ferramenta devolveu na conta ativa, arquivo aberto ou saída de comando, fica nesse histórico e aparece quando a outra conta abre o mesmo projeto.

1

Essa é justamente a ideia!
Antes, quando estourava uma conta, previsava trocar para outra (manualmente) para continuar trabalhando, mas tudo que havia conversado se perdia.
A ideia é justamente compartilhar as conversas entre contas para que, mesmo após trocar de conta, nenhuma conversa ou contexto seja perdido
Assim o usuário pode continuar exatamente de onde parou