Usar o Remote Control com o ccam
Esta página foi traduzida automaticamente do inglês. Correções são bem-vindas. Editar esta página no GitHub
Nesta página
ccam work rc inicia o Remote Control do Claude Code com a conta work, para que você possa conduzir sessões neste computador pelo claude.ai/code ou pelo app móvel do Claude. Ele funciona como claude rc, com uma diferença: se a conta compartilha servidores MCP, o ccam pergunta uma vez se deve copiá-los para o .claude.json da conta, porque as sessões do Remote Control não leem servidores de nenhum outro lugar.
Como iniciar
ccam work rc # Remote Control as the account work
ccam 2 rc # the account with number 2 (see ccam list)
ccam work remote-control # the long name of the same command
ccam work rc --name laptop # options after rc go to Remote Control
ccam work rc --spawn worktree # each new session in its own git worktree
ccam --dry-run work rc # print the command instead of running itUm atalho funciona do mesmo jeito: ccwork rc equivale a ccam work rc. Execute o comando na pasta em que você quer trabalhar e depois abra o claude.ai/code ou o app do Claude, conectado com a mesma conta Claude de work.
Opções
Dois tipos de opção se encontram aqui: as do próprio ccam, que vêm antes do nome da conta ou ficam nas configurações do ccam, e as do Remote Control, que vêm depois de rc e chegam ao Claude Code sem alterações.
Opções e configurações do ccam
| Opção ou configuração | O que faz | Padrão |
|---|---|---|
--dry-run (antes da conta) |
Imprime o ambiente e o comando, além do aviso de MCP, se houver. Não pergunta nem copia nada | desativado |
Copy them into .claude.json (a backup is kept)? [y/N] |
Perguntado quando a conta compartilha servidores MCP e o .claude.json dela não tem a lista atual do grupo. y copia os servidores; N ou Enter inicia sem eles |
N |
mcp_strategy = "sync" em ~/.config/ccam/config.toml |
Copia os servidores do grupo para o .claude.json antes de toda inicialização, seja do Remote Control ou não, então nada é perguntado |
"flag" |
ccam share work --mcp off |
Para de compartilhar servidores MCP com a conta; o Remote Control passa a iniciar só com os servidores próprios da conta, sem perguntar nada | ativado |
Opções do Remote Control
Tudo o que vem depois de rc pertence ao Claude Code. Estas são as opções de claude remote-control no Claude Code 2.1.304; ccam work rc --help imprime a lista da sua versão.
| Opção | O que faz |
|---|---|
--name <name> |
Nome da sessão mostrado no claude.ai/code |
--remote-control-session-name-prefix <prefix> |
Prefixo dos nomes de sessão gerados (padrão: o nome do host) |
-c, --continue |
Reconecta à última sessão que o Remote Control registrou para esta pasta, dentro de cerca de 4 horas |
--session-id <id> |
Reconecta a uma sessão específica |
--permission-mode <mode> |
Modo de permissão das novas sessões: acceptEdits, auto, bypassPermissions, default, dontAsk ou plan |
--spawn <mode> |
same-dir (padrão), worktree (um git worktree por sessão) ou session (uma única sessão, que encerra quando ela termina) |
--capacity <N> |
Máximo de sessões simultâneas nos modos same-dir e worktree (padrão: 32) |
--[no-]create-session-in-dir |
Cria uma primeira sessão na pasta atual ao iniciar (ativado por padrão) |
--[no-]chrome |
Claude in Chrome nas novas sessões (desativado por padrão) |
-d, --debug, --debug-file <path>, -v, --verbose |
Saída de depuração e detalhada |
Coloque rc logo depois do nome da conta. O ccam toma como comando do Claude Code o primeiro argumento que não começa com -, então em ccam work rc --name laptop ele vê rc, mas em ccam work --model opus rc ele vê opus.
O que o ccam faz
A inicialização segue o caminho de sempre (Iniciar o Claude Code), com uma mudança na etapa de MCP:
O ccam encontra a conta, verifica os links de compartilhamento dela e resolve o
claude, como em qualquer inicialização.Ele vê que o comando é
rcouremote-controle deixa--mcp-configde fora.Se a conta compartilha servidores MCP, ele compara o
mcp.jsondo grupo com osync-stampem~/.local/state/ccam/mcp/work/. Se o.claude.jsonjá tiver os servidores atuais, ou se o grupo não tiver nenhum, ele vai direto para a etapa 6.Caso contrário, ele lista os servidores que faltariam às sessões:
$ ccam work rc ccam: Remote Control sessions only get MCP servers stored in account work's .claude.json, not the shared MCP servers (ctx, fs). Copy them into .claude.json (a backup is kept)? [y/N]Com
y, ele salva um backup do.claude.json, obtém o bloqueio do próprio Claude Code, acrescenta os servidores do grupo amcpServerse mantém os outros servidores da conta. ComN, sem um terminal ou enquanto a conta está em execução, ele não altera nada e avisa:Starting without them. To copy them before every launch instead, set mcp_strategy = "sync" in ~/.config/ccam/config.tomlEle registra a sessão, define
CLAUDE_CONFIG_DIRcomo a pasta da conta e se substitui porclaude rccomexec.
A partir daí, o Remote Control continua rodando como servidor. Cada sessão que ele inicia para você é um processo filho desse processo, então roda como work: com o login, as configurações e o histórico de conversas de work, e conta para o limite de uso de work. Enquanto o servidor estiver rodando, o ccam considera a conta em execução.
A simulação mostra a diferença. Uma inicialização normal leva os servidores do grupo como argumento; o Remote Control, não:
$ ccam --dry-run work
CLAUDE_CONFIG_DIR=/home/me/.local/share/ccam/profiles/work /home/me/.local/bin/claude --mcp-config=/home/me/.local/share/ccam/groups/default/mcp.json
$ ccam --dry-run work rc
ccam: Remote Control sessions only get MCP servers stored in account work's .claude.json, not the shared MCP servers (ctx, fs).
Starting without them. To copy them before every launch instead, set mcp_strategy = "sync" in ~/.config/ccam/config.toml
CLAUDE_CONFIG_DIR=/home/me/.local/share/ccam/profiles/work /home/me/.local/bin/claude rcPor que funciona assim
O Remote Control não aceita --mcp-config. Nas inicializações normais, o ccam entrega os servidores do grupo ao Claude Code como --mcp-config=<path> e nunca grava nos arquivos do Claude Code. claude remote-control recusa essa opção antes do nome do comando e não aceita nenhuma depois dele, então, antes do ccam 0.6.0, ccam work rc falhava em toda conta que compartilhava servidores MCP. Agora o ccam deixa a opção de fora.
As sessões dele leem servidores só do .claude.json. As sessões que o Remote Control inicia não herdam opções da linha de comando. O único lugar onde elas encontram servidores MCP de usuário é o .claude.json da conta. Esse arquivo também guarda os dados de login da conta e o estado por pasta, então o ccam não pode vinculá-lo a uma cópia compartilhada como faz com o settings.json. Copiar os servidores para ele é a única forma de dar às sessões a lista compartilhada.
O ccam pergunta antes de gravar. Com a estratégia flag padrão, o ccam se compromete a não mexer no .claude.json. O Remote Control é o único caso em que ele precisa gravar ali, então pergunta antes, guarda um backup e não toca em nada além de mcpServers.
Ele não grava enquanto a conta está em execução. O Claude Code reescreve o .claude.json durante uma sessão, e uma alteração feita de fora seria perdida ou sobrescrita. Por isso o ccam pula a cópia quando qualquer sessão da conta está em execução, inclusive outro servidor do Remote Control.
Ele pergunta uma vez a cada mudança. Depois de uma cópia, sync-stamp guarda o horário de modificação do mcp.json do grupo. O ccam só pergunta de novo quando esse arquivo muda, por exemplo depois de ccam mcp add. Se você responder N, ainda não há cópia, então ele pergunta a cada inicialização do Remote Control.
O ccam mcp mantém as cópias atualizadas. Uma entrada no .claude.json prevalece sobre --mcp-config em um conflito de nomes, então uma cópia antiga esconderia uma definição mais nova também nas inicializações normais. Por isso ccam mcp add, add-json, remove e import atualizam as cópias de todas as contas que não estão em execução:
$ ccam mcp add ctx --url https://mcp.context7.com/mcp
✓ ctx added in group default — applies from the next launch
✓ Updated the copy in account work's .claude.json (made for Remote Control)Sem um terminal, a resposta é não. O Remote Control costuma rodar a partir de um script, de um serviço ou com nohup, onde ninguém pode responder. Nesse caso, o ccam inicia sem os servidores em vez de ficar esperando.
Problemas e soluções
Os servidores MCP compartilhados não aparecem nas sessões do Remote Control
A pergunta foi respondida com N, não havia terminal ou a conta estava em execução. Pare o Remote Control, feche as outras sessões da conta e execute ccam work rc de novo em um terminal; responda y. Para nunca ser perguntado, defina mcp_strategy = "sync" em ~/.config/ccam/config.toml. Os servidores de uma sessão não mudam enquanto ela roda, então inicie uma nova sessão depois da cópia.
"Account work is running, so its .claude.json is left alone"
Ainda há uma sessão de work aberta: um ccam work normal, um atalho ou outro servidor do Remote Control. Encerre-a e execute ccam work rc de novo. Sessões de outra conta não contam.
O ccam pergunta toda vez
Você ainda não copiou os servidores. Responda y uma vez ou defina mcp_strategy = "sync". Se você nunca quiser os servidores no Remote Control, pare de compartilhar MCP com a conta: ccam share work --mcp off.
ccam work rc falha na hora com um erro sobre --mcp-config
Seu ccam é anterior à versão 0.6.0 e passa --mcp-config para o Remote Control. Execute ccam update. O mesmo erro com um ccam atual significa que uma opção com valor veio antes de rc, como em ccam work --model opus rc, e o ccam tomou opus como o comando; coloque rc logo depois do nome da conta.
Uma alteração feita com ccam mcp não chega ao Remote Control
ccam mcp add e remove só atualizam as cópias nas contas que não estão em execução, e avisam: Note: account work is running, so the copy in its .claude.json stays as it was until its next Remote Control launch. Pare o Remote Control e inicie-o de novo; o ccam vê que o mcp.json mudou e pergunta outra vez.
A cópia substituiu um servidor meu
Se a conta tinha um servidor próprio com o mesmo nome de um servidor do grupo, a cópia o substituiu. O .claude.json anterior está em ~/.local/state/ccam/mcp/work/backups/, que mantém os cinco mais recentes. Para manter a sua versão em todas as contas, mova-a para o grupo com ccam mcp import work <server> --force antes da próxima inicialização do Remote Control.
Quero remover os servidores copiados
ccam mcp remove <server> remove um servidor do grupo e de todas as cópias. Para voltar ao estado anterior à cópia, restaure o backup mais recente de ~/.local/state/ccam/mcp/work/backups/ enquanto nenhuma sessão da conta estiver rodando.
O Remote Control pergunta se deve confiar na pasta, ou encerra sem um terminal
A confiança nas pastas fica guardada por conta no .claude.json, então uma pasta em que você confiou como personal é nova para work. Execute ccam work uma vez nessa pasta e aceite; depois inicie o Remote Control ali.
"You must be logged in with a Claude account that has a subscription"
O Remote Control precisa de um login com assinatura do Claude. Confira o e-mail da conta em ccam list e, se necessário, faça login de novo com ccam login work.
A sessão não aparece no celular
O app do Claude ou o claude.ai/code está conectado com outra conta Claude. Compare-a com o e-mail que ccam list mostra para work.
O ccam avisa que outro Claude Code compartilha o histórico de conversas nesta pasta
Outra conta do mesmo grupo de histórico está em execução na mesma pasta. Sessões que continuam a mesma conversa a partir das duas contas podem misturar o histórico. Responda y só se elas forem trabalhar em conversas diferentes, ou inicie o Remote Control em outra pasta.