Mantenha os seus terminais do Claude Code, do Codex e do OpenCode, ou trabalhe a partir da aplicação
O Happier corre-os como a mesma sessão que você teria iniciado — por isso pode conduzi-la a partir da TUI deles, do telemóvel, ou dos dois, sem que a sessão dê por isso.
Se vive num terminal, a maior parte do que se escreve sobre correr agentes de programação a partir do telemóvel lê-se como um pedido para parar. É justo recusá-lo. Nada num ecrã de telemóvel é melhor do que o tmux e um teclado para a parte do trabalho em que você é realmente bom.
Por isso a afirmação aqui é mais estreita. Uma sessão do Happier é uma sessão com duas frentes: um terminal no computador que faz o trabalho é uma delas, a aplicação no seu telemóvel é a outra. Alternar entre elas não inicia nada de novo — o id da sessão, a transcrição, o modo de permissão e as mensagens em fila são todos os mesmos objetos do outro lado da mudança.
Comece no terminal ou na aplicação, e mova-se entre os dois
- Comece no terminal
- Execute
happiernum repositório e obtém o agente predefinido com a aplicação ligada.happier codex,happier opencode,happier geminie o resto do registo são a mesma coisa apontada a uma CLI diferente. Está no seu próprio terminal, na sua própria shell, com os seus próprios aliases; a aplicação está a ver. - Comece na aplicação, acabe no terminal
- Inicie uma sessão a partir do telemóvel no comboio, e depois execute
happier attach <session-id>quando se sentar. Sem id, ele abre um seletor das sessões a correr neste computador, e marca aquelas a que não se consegue ligar com o motivo em vez de as esconder. - Devolva a sessão à aplicação
- Assumir o controlo local começa no terminal; devolvê-lo pode ser pedido a partir da aplicação. O Happier vai esperar primeiro que o turno atual do terminal chegue a um ponto de paragem seguro, porque forçar um prompt para dentro de uma TUI ocupada é como se perde o trabalho que ela tinha a meio.
- Use o terminal integrado na aplicação
- Uma shell ao vivo no computador ligado, acoplada ao painel inferior, à barra lateral ou ao painel de detalhes, sobrevivendo a um recarregamento da página e mantendo a mesma shell enquanto a move de sítio. É o mesmo transporte de terminal que a aplicação usa para correr os inícios de sessão dos fornecedores.
Que agentes movem uma sessão entre o terminal e a aplicação
Três dos treze, e não se comportam da mesma maneira. O Codex é exclusivo — um controlador de cada vez. O OpenCode não é, e o Claude Code pode ser qualquer um dos dois, consoante o runtime com que o inicia.
| Agente | Terminal e aplicação em conjunto | Reanexa através de | O que isso significa na prática |
|---|---|---|---|
| Claude Code | Um de cada vez, ou os dois | tmux | No runtime predefinido, uma mensagem que envie da aplicação enquanto está a conduzir o terminal espera na fila em vez de ser escrita na sua sessão; os pedidos de permissão continuam a ser reencaminhados para a aplicação, e essa ponte está ligada por predefinição. O runtime de terminal unificado é o caso dos “dois” — veja abaixo. |
| Codex | Um de cada vez | tmux | A mesma exclusividade. O Happier espera que o turno local termine, seja abortado ou saia antes de retomar a sessão e entregar o que tiver posto em fila. |
| OpenCode | Os dois ao mesmo tempo | O attach do próprio OpenCode | Controlo local partilhado sem nada para ativar primeiro: a aplicação continua a aceitar escrita enquanto a TUI do OpenCode está ligada, e não há nenhum multiplexador envolvido. |
Os outros dez agentes que o Happier corre continuam a arrancar a partir do terminal com happier <agent> e continuam a aparecer no seu telemóvel. O que não fazem é deixá-lo levar a sessão de volta para a TUI deles a meio do caminho.
Controle uma sessão do Claude Code a partir do terminal e da aplicação
Orientar e interromper são movimentos diferentes. Interromper para o turno que está a correr e inicia outro a partir da sua mensagem. Orientar acrescenta ao turno que está a correr — o trabalho continua, agora sabendo aquilo que acabou de lhe dizer. Ambos são úteis, e o segundo é o que quer quando levanta os olhos do telemóvel e percebe que ele está prestes a renomear o ficheiro errado.
A Anthropic documenta a entrada em streaming do Agent SDK como mensagens em fila que são processadas sequencialmente, com a possibilidade de interromper. É esse o runtime que o Happier usa para o Claude Code por predefinição, e para a maioria das sessões é o correto. O terminal do próprio Claude Code aceita o outro tipo de mensagem: escreva enquanto ele está a trabalhar e a instrução junta-se ao trabalho já em curso.
O runtime de terminal unificado é como a aplicação chega a isso. O Happier inicia a verdadeira TUI do claude dentro de um anfitrião de terminal partilhado — tmux onde o tiver, caso contrário o zellij que o Happier traz consigo —, transmite esse terminal para todos os dispositivos onde tem sessão iniciada, e escreve aquilo que envia da aplicação no mesmo compositor onde você teria escrito. Um processo do Claude Code, uma sessão, dois teclados sobre ela. Pode estar a escrever na TUI na sua secretária enquanto a mesma sessão é respondida a partir de um telemóvel, e nenhuma das pontas bloqueia a outra.
Está desligado até o ligar, nas definições do fornecedor Claude Code. Precisa de tmux ou do zellij incluído, por isso hoje isso significa macOS e Linux; no Windows a CLI diz-lhe para usar o WSL2 em vez de arrancar algo que não consegue verificar. E quando o terminal está num estado em que escrever seria arriscado — há um diálogo aberto, ou está a meio de uma linha sua —, o Happier retém a sua mensagem em vez de escrever por cima de si.
O que o attach exige: tmux, o mesmo computador, um daemon a correr
O que apanha as pessoas: em macOS e Linux, ligar-se a uma sessão do Claude Code ou do Codex iniciada a partir da aplicação exige que a integração com tmux esteja ativada antes de essa sessão começar. Ative-a depois do facto e a sessão que já está a correr não é anexável — nunca foi lançada dentro do tmux, para começar. Também tem de se ligar a partir do mesmo computador que é dono da sessão e com a mesma conta que a iniciou.
O Windows não usa tmux. Uma sessão lá é lançada Oculta, no Windows Terminal, ou num console, e happier attach põe em foco o anfitrião que já existe em vez de se voltar a ligar a um multiplexador. Isso é uma escolha por máquina e por sessão, não uma escolha global.
O terminal embebido precisa de que o seu daemon esteja a correr e ligado para o computador a que se dirige. Se o daemon estiver offline, o Happier mostra um estado de erro em vez de uma shell que silenciosamente não faz nada.
tmux, o modo de sessão do Windows, e onde o terminal fica acoplado
Nada nesta página precisa de configuração se iniciar as suas sessões a partir do terminal — esse caminho funciona no momento em que a CLI está instalada. As definições que precisam mesmo de uma decisão são a integração com tmux, o modo de sessão do Windows e onde o terminal embebido fica acoplado, e as três estão na referência de configuração.

