Funzionalità

Tieni i tuoi terminali Claude Code, Codex e OpenCode, oppure lavora dall’app

Happier li esegue come la stessa sessione che avresti avviato tu — così puoi pilotarla dalla loro TUI, dal tuo telefono o da entrambi, senza che la sessione se ne accorga.

Se vivi in un terminale, buona parte di ciò che si scrive sull’eseguire agenti di coding da un telefono suona come una richiesta di smettere. È una cosa che è giusto rifiutare. Nulla in uno schermo da telefono è meglio di tmux e una tastiera per la parte di lavoro in cui sei davvero bravo.

Quindi l’affermazione qui è più ristretta. Una sessione Happier è una sola sessione con due front end: un terminale sul computer che fa il lavoro è uno, l’app sul tuo telefono è l’altro. Passare dall’uno all’altro non avvia nulla di nuovo — l’id di sessione, la trascrizione, la modalità di permesso e i messaggi in coda sono gli stessi oggetti dall’altra parte del passaggio.

Inizia nel terminale o nell’app, e muoviti tra i due

Inizia nel terminale
Esegui happier in un repository e ottieni l’agente predefinito con l’app agganciata. happier codex, happier opencode, happier gemini e il resto del registry sono la stessa cosa puntata su una CLI diversa. Sei nel tuo terminale, nella tua shell, con i tuoi alias; l’app guarda.
Inizia nell’app, finisci nel terminale
Avvia una sessione dal telefono in treno, poi esegui happier attach <session-id> quando ti siedi. Senza id apre un selettore delle sessioni in esecuzione su questo computer, e segna quelle a cui non può agganciarsi con il motivo, anziché nasconderle.
Restituisci la sessione all’app
Prendere il controllo locale parte dal terminale; restituirlo si può chiedere dall’app. Happier aspetterà prima che il turno in corso nel terminale raggiunga un punto di arresto sicuro, perché forzare un prompt dentro una TUI occupata è il modo di perdere il lavoro che stava facendo.
Usa il terminale integrato nell’app
Una shell dal vivo sul computer collegato, agganciata al pannello inferiore, alla barra laterale o al pannello dei dettagli, che sopravvive a un aggiornamento della pagina e mantiene la stessa shell mentre la sposti. È lo stesso trasporto di terminale che l’app usa per eseguire i login ai provider.

Quali agenti spostano una sessione tra il terminale e l’app

Tre dei tredici, e non si comportano allo stesso modo. Codex è esclusivo — un solo driver alla volta. OpenCode no, e Claude Code può essere l’uno o l’altro, a seconda del runtime con cui lo avvii.

AgenteTerminale e app insiemeSi riaggancia tramiteCosa significa in pratica
Claude CodeUno alla volta, o entrambitmuxSul runtime predefinito, un messaggio che invii dall’app mentre stai pilotando il terminale resta in coda invece di essere digitato nella tua sessione; le richieste di permesso vengono comunque inoltrate all’app, e quel ponte è attivo per impostazione predefinita. Il runtime a terminale unificato è il caso “entrambi” — vedi sotto.
CodexUno alla voltatmuxStessa esclusività. Happier aspetta che il turno locale finisca, venga interrotto o esca prima di riprendersi la sessione e consegnare quello che hai messo in coda.
OpenCodeEntrambi insiemeL’attach nativo di OpenCodeControllo locale condiviso senza nulla da abilitare prima: l’app resta scrivibile mentre la TUI di OpenCode è agganciata, e non è coinvolto alcun multiplexer.

Gli altri dieci agenti che Happier esegue partono comunque dal terminale con happier <agent> e compaiono comunque sul tuo telefono. Quello che non fanno è lasciarti riportare la sessione nella loro TUI a metà strada.

Pilota una sola sessione Claude Code sia dal terminale sia dall’app

Guidare e interrompere sono mosse diverse. Interrompere ferma il turno in corso e ne avvia un altro a partire dal tuo messaggio. Guidare aggiunge al turno in corso — il lavoro prosegue, ora sapendo la cosa che gli hai appena detto. Entrambe sono utili, e la seconda è quella che vuoi quando alzi gli occhi dal telefono e ti accorgi che sta per rinominare il file sbagliato.

Anthropic documenta l’input in streaming dell’Agent SDK come messaggi in coda che vengono elaborati in sequenza, con la possibilità di interrompere. È il runtime che Happier usa per Claude Code per impostazione predefinita, e per la maggior parte delle sessioni è quello giusto. Il terminale nativo di Claude Code accetta invece l’altro tipo di messaggio: scrivi mentre sta lavorando e l’istruzione si unisce al lavoro già in corso.

Il runtime a terminale unificato è il modo in cui l’app arriva a questo. Happier avvia la vera TUI claude dentro un host di terminale condiviso — tmux dove lo hai, altrimenti lo zellij incluso in Happier — trasmette quel terminale a ogni dispositivo su cui sei connesso, e digita quello che invii dall’app nello stesso compositore in cui avresti scritto tu. Un solo processo Claude Code, una sola sessione, due tastiere sopra. Puoi stare a scrivere nella TUI alla tua scrivania mentre alla stessa sessione si risponde da un telefono, e nessuno dei due estremi blocca l’altro.

È disattivato finché non lo attivi, nelle impostazioni del provider Claude Code. Richiede tmux o lo zellij incluso, quindi oggi significa macOS e Linux; su Windows la CLI ti dice di usare WSL2 anziché avviare qualcosa che non può verificare. E quando il terminale è in uno stato in cui scrivere non sarebbe sicuro — c’è una finestra di dialogo aperta, oppure sei a metà di una tua riga — Happier trattiene il tuo messaggio invece di scrivere sopra di te.

Cosa serve per agganciarsi: tmux, lo stesso computer, un daemon in esecuzione

Quella che coglie le persone di sorpresa: su macOS e Linux, agganciarsi a una sessione Claude Code o Codex avviata dall’app richiede che l’integrazione tmux sia abilitata prima che quella sessione parta. Attivala dopo e la sessione già in corso non è agganciabile — non è mai stata avviata dentro tmux. Devi anche agganciarti dallo stesso computer che possiede la sessione e con lo stesso account che l’ha avviata.

Windows non usa tmux. Lì una sessione viene avviata nascosta, in Windows Terminal o in una console, e happier attach porta in primo piano l’host che già esiste anziché riagganciarsi a un multiplexer. È una scelta per macchina e per sessione, non globale.

Il terminale integrato richiede che il tuo daemon sia in esecuzione e connesso per il computer a cui ti stai rivolgendo. Se il daemon è offline, Happier mostra uno stato di errore anziché una shell che silenziosamente non fa nulla.

tmux, la modalità di sessione su Windows e dove si aggancia il terminale

Nulla in questa pagina richiede configurazione se avvii le tue sessioni dal terminale — quel percorso funziona dal momento in cui la CLI è installata. Le impostazioni che richiedono una decisione sono l’integrazione con tmux, la modalità di sessione su Windows e dove si aggancia il terminale integrato, e tutte e tre sono nel riferimento di configurazione.