Puoi approvare le richieste di permesso di Claude Code dal telefono perché Claude Code esegue un hook PermissionRequest subito prima di mostrare un prompt di permesso, e quell'hook può restituire direttamente la decisione. Un tool che invia la richiesta al telefono, aspetta il tuo tap e poi restituisce allow o deny ti permette di rispondere da ovunque. Claude Code Notifier lo fa con un piccolo tool da riga di comando, ccn, su Mac, Windows e Linux, più un'app iPhone o Android.
01Perché i prompt di permesso bloccano il tuo lavoro
Nella modalità di permesso predefinita, Claude Code chiede prima di eseguire la maggior parte dei comandi shell, modificare file o scaricare una pagina web. Il prompt resta in attesa nel terminale finché qualcuno non risponde. Se sei andato a farti un caffè, l'intero task si ferma su quella domanda, e te ne accorgi solo quando torni.
Hai tre modi per aggirare il problema:
- Approva meno spesso. Aggiungi regole allow per i comandi di cui ti fidi, oppure usa una modalità più permissiva. È adatto al lavoro di routine, ed è spiegato in Le modalità di permesso di Claude Code spiegate.
- Ricevi l'avviso, poi torni alla tastiera. Un hook di notifica ti dice che c'è un prompt in attesa. Ma devi comunque tornare alla tastiera.
- Rispondi da remoto. Un hook
PermissionRequestporta la domanda sul tuo telefono e restituisce la tua risposta a Claude Code.
Questa guida parla della terza opzione.
02Come l'hook PermissionRequest risponde al posto tuo
Claude Code lancia PermissionRequest quando una chiamata a un tool richiede una decisione sui permessi. L'hook riceve su standard input un JSON con tool_name e tool_input (per esempio il comando Bash), più una lista opzionale permission_suggestions con le regole che Claude Code proporrebbe di salvare.
L'hook risponde stampando un JSON come questo:
{
"hookSpecificOutput": {
"hookEventName": "PermissionRequest",
"decision": {
"behavior": "allow"
}
}
}
behavior vale allow o deny. In caso di rifiuto puoi aggiungere un message, che spiega a Claude il motivo, e interrupt: true, che ferma del tutto Claude. In caso di approvazione, updatedPermissions può applicare regole di permesso così non ti viene chiesto di nuovo. Se l'hook non restituisce nulla, Claude Code mostra il solito prompt.
Quindi un hook di approvazione remota ha tre compiti: inviare la richiesta dove la vedrai, aspettare una risposta e stampare il JSON giusto prima che l'hook vada in timeout. L'elenco completo dei campi e uno script funzionante sono in Rispondere alle richieste di permesso da un hook.
Registrare l'hook
Gli hook si trovano in ~/.claude/settings.json (per tutti i progetti) o in .claude/settings.json (per un singolo progetto):
{
"hooks": {
"PermissionRequest": [
{
"matcher": "*",
"hooks": [
{ "type": "command", "command": "/path/to/your-approval-script" }
]
}
]
}
}
Il matcher filtra in base al nome del tool, quindi "Bash" invierebbe al telefono solo i comandi di shell. Gli hook di tipo command hanno un timeout predefinito di 600 secondi, che limita quanto a lungo un hook può aspettarti.
03Farlo da solo
Una versione fatta in casa è possibile. Un design tipico invia la richiesta a un servizio push come ntfy, include due pulsanti d'azione che richiamano un piccolo endpoint web, e fa sì che l'hook interroghi quell'endpoint finché non arriva una risposta o scade un timer. Per la parte di invio vedi Notifiche push di Claude Code con ntfy.
A richiedere tempo sono i casi limite:
- Sei alla tastiera. Se l'hook aspetta sempre il telefono, non puoi rispondere nel terminale mentre attende. Un buon hook si accorge che ci sei e si fa da parte.
- Timeout. L'hook deve arrendersi prima del timeout di Claude Code e fare un fallback pulito.
- Fiducia. Chiunque raggiunga il tuo endpoint di callback può approvare comandi sul tuo computer. Serve un'autenticazione.
- Più sessioni. Ogni richiesta deve arrivare alla sessione giusta e tornare lì.
Se ti diverte costruirlo, è un bel progetto da weekend. Se lo vuoi funzionante oggi, uno strumento già pronto ti risparmia la fatica.
04Usare Claude Code Notifier
Claude Code Notifier è uno strumento indipendente creato da TouchTap Ltd. Non è realizzato da Anthropic né affiliato con essa. È composto da due parti: ccn, uno strumento da riga di comando gratuito per Mac, Windows e Linux, e le app per iPhone e Android.
1. Installa ccn
Su Mac e Linux:
curl -fsSL https://claudecodenotifier.com/install.sh | sh
Su Windows, in PowerShell (il supporto per Windows è in beta):
irm https://claudecodenotifier.com/install.ps1 | iex
Le installazioni tramite Homebrew, npm e plugin sono elencate nella pagina di ccn. L'installazione aggiunge sette hook a ~/.claude/settings.json, ognuno dei quali esegue ccn hook, e conserva un backup del file. Uno di questi è l'hook PermissionRequest. ccn gira per pochi millisecondi quando Claude Code lo chiama, poi termina. Niente resta in esecuzione in background, e funziona in qualsiasi terminale, compresi quelli degli IDE.
2. Abbina il telefono
Esegui ccn pair e scansiona il codice QR, oppure inserisci il codice a 6 cifre dall'app. La procedura passo passo per ogni sistema operativo è in Collega il telefono a Claude Code.
3. Rispondi dalla notifica
Quando Claude ha bisogno di un permesso e tu non ci sei, il telefono ti mostra cosa vuole fare, per esempio il comando che vuole eseguire. Puoi:
- Consentire una volta, solo per questa chiamata.
- Consentire per la sessione, così lo stesso tipo di richiesta in quella sessione non ti verrà più chiesto.
- Negare, e Claude prosegue sapendo di essere stato rifiutato.
L'hook restituisce la tua risposta e Claude continua.
Cosa succede quando sei alla scrivania
ccn controlla se sei presente. Se hai digitato negli ultimi 30 secondi, non c'è attesa: il terminale chiede come al solito e al telefono arriva al massimo un avviso. Se sei via, il terminale aspetta la risposta dal telefono, fino a un limite che scegli tu, e smette di aspettare appena tocchi la tastiera. Così puoi sempre rispondere da dove ti è più comodo.
Il limite è un'impostazione:
ccn config set hold_ceiling_seconds 900
Accetta valori da 30 a 3600 secondi e il default è 600. presence_threshold_seconds modifica la finestra di 30 secondi. La maggior parte delle impostazioni si può cambiare anche per singolo computer dall'app sul telefono.
Verificare che funzioni
ccn doctor # checks hooks, credentials, server connection and presence detection
ccn test # sends a test notification
Le app per telefono sono gratuite da scaricare e richiedono un abbonamento o un acquisto a vita per essere usate. Vedi i prezzi. Anche senza telefono, ccn mostra gratis una notifica desktop sul computer quando Claude ha bisogno di un permesso.
05E approva meno cose
L'approvazione da remoto funziona meglio se affiancata da regole allow sensate. Se approvi npm test venti volte al giorno, aggiungi una regola come Bash(npm test *) a permissions.allow e lascia al telefono le richieste che meritano davvero un'occhiata. Prima di approvare da uno schermo piccolo, leggi il comando. È sicuro approvare le azioni di Claude Code dal telefono? spiega cosa controllare.
06FAQ
Claude Code può chiedermi i permessi sul telefono senza strumenti aggiuntivi?
La funzione Remote Control di Anthropic ti permette di continuare una sessione locale dall'app Claude o da claude.ai/code sui piani supportati, anche rispondendo ai prompt. Uno strumento basato su hook come Claude Code Notifier funziona in modo diverso: non richiede Remote Control attivo e ti invia solo i momenti in cui servi tu. Usare Claude Code dal telefono li mette a confronto.
Cosa succede se non rispondo dal telefono?
Con ccn, l'hook aspetta fino al valore di hold_ceiling_seconds. Se torni e tocchi prima la tastiera, smette di aspettare e puoi rispondere al prompt nel terminal.
"Consenti per la sessione" modifica il mio settings.json?
No. Vale solo per quella sessione. Per consentire qualcosa in modo permanente, aggiungi una regola allow in /permissions o nel file delle impostazioni.
Funziona su Windows e Linux?
Sì. ccn gira su Mac, Windows e Linux, e l'app per telefono funziona con tutti e tre. Il supporto per Windows è in beta.
Posso usarlo con più di un computer?
Sì. Un telefono può essere associato a più computer e un computer può avere più telefoni. ccn devices elenca o revoca i telefoni associati.