# Come controllare Claude Code dal telefono tramite Telegram nel 2026

> Passo dopo passo: crea un bot Telegram, installa il plugin Claude Code Channels, proteggilo con una lista consentita e avvialo 24/7 su un VPS. Una guida pronta da seguire con i comandi.

Source: https://ailoot.ai/blog/it/claude-code-telegram-channels/
Canonical: https://ailoot.ai/blog/it/claude-code-telegram-channels/
Language: it
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-054
Revision: sha256-44a4bc807b45fbda8521889c7e12a033f74fe3c33aa0fc15fe1bb4f827bea1a6


<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Punti chiave della sezione">

Punti chiave

Claude Code Channels è il plugin ufficiale di Anthropic dal 20 marzo 2026. Crea un bot tramite BotFather, installa il plugin con un solo comando, riavvia Claude con il flag `--channels` e invia messaggi al bot dal telefono. Claude li legge direttamente nella sessione locale, modifica i file e risponde su Telegram. Per farlo funzionare 24/7, sposta la sessione sul tuo VPS e gestiscila con systemd.

</div>

Altri materiali sulla configurazione degli strumenti sono disponibili nella [documentazione di Ailoot](https://ailoot.ai/docs/).

<div class="aside" data-semantic="ailoot-cta" role="note" aria-label="Guide Ailoot">

[Guide Ailoot](https://ailoot.ai/docs/)

</div>

## Che cos’è Claude Code Channels e perché ti serve

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Punti chiave della sezione">

Punti chiave

Channels è un plugin MCP che inoltra i messaggi da Telegram, Discord o iMessage a una sessione di Claude Code già in esecuzione. La sessione riceve il messaggio come una normale richiesta dell’utente, lavora con i tuoi file locali e risponde nella stessa chat. Il laptop resta acceso mentre ti occupi delle tue cose usando il telefono.

</div>

Il 20 marzo 2026 Anthropic ha rilasciato Claude Code Channels, un plugin ufficiale per collegare una sessione di Claude alle app di messaggistica. Sono supportati Telegram, Discord e iMessage. La funzionalità è in anteprima di ricerca: la documentazione è disponibile su [code.claude.com/docs/en/channels](https://code.claude.com/docs/en/channels) e il codice sorgente del plugin si trova nel repository pubblico [anthropics/claude-plugins-official](https://github.com/anthropics/claude-plugins-official).

In breve, è un «ponte per la chat» tra il telefono e la sessione di Claude Code. Scrivo al bot: «Continua a riscrivere la griglia dei prezzi; in `business/products/practicum/README.md`, aggiorna le date della prossima edizione», e il bot inoltra il messaggio alla sessione sul mio VPS. Claude recupera il contesto, modifica il file, registra le modifiche e risponde su Telegram: «Fatto, controlla il commit». Il laptop resta chiuso a casa.

⚠️ **Il principale limite dell’anteprima di ricerca:** Channels è un bridge MCP. La sessione deve essere in esecuzione sul tuo computer o VPS. Quando la sessione è chiusa, nessuno riceve i messaggi. Per questo il funzionamento 24/7 va configurato separatamente (vedi la sezione sul VPS qui sotto).

### In cosa Channels differisce dagli altri modi di lavorare da remoto

Nella [documentazione ufficiale](https://code.claude.com/docs/en/channels), Anthropic presenta una tabella di confronto diretto. Ecco una versione adattata:

| Funzionalità | Cosa fa | Quando sceglierla |
|----|----|----|
| **Claude Code sul web** | Esegue un’attività in un nuovo ambiente cloud isolato e clona un repository da GitHub | Delega un’attività indipendente in background e controllala più tardi |
| **Integrazione con Slack** | Avvia una sessione web in un thread quando viene menzionato `@Claude` | Avvia attività direttamente dalle conversazioni del team |
| **Server MCP (normale)** | Claude lo richiama durante un’attività; non invia nulla alla sessione | Dai a Claude accesso su richiesta a sistemi esterni |
| **Remote Control** | Controlli una sessione locale da claude.ai o dall’app mobile | Gestisci una sessione esistente dallo schermo del telefono |
| **Channels** ⭐ | Invia eventi da fonti diverse da Claude a una sessione locale già in esecuzione | Fai una domanda dal telefono e ricevi una risposta in chat; intercetta un webhook dalla CI |

La differenza principale tra Channels e Remote Control è questa: **Remote Control** è «il telefono come finestra sul terminale»: vedi letteralmente il cursore e premi i pulsanti. **Channels** è un chatbot il cui cervello è la tua sessione locale di Claude. Con Remote Control guardo il terminale. Con Channels scrivo a qualcuno che legge i miei file.

Se ti serve il controllo completo dallo schermo, usa Remote Control. Se vuoi «mandare una domanda, continuare la giornata e ricevere una risposta», usa Channels. Io uso entrambi: Remote Control quando devo approvare modifiche critiche e Channels quando mi fido dell’attività e voglio riavere la mia serata.

## Cosa ti serve prima di iniziare

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Punti chiave della sezione">

Punti chiave

Claude Code v2.1.80 o successivo, autenticazione claude.ai supportata o chiave API Anthropic Console, Bun installato e accesso Telegram. Per il funzionamento 24/7 serve un VPS con Ubuntu o Debian. Funziona allo stesso modo su macOS, Linux e WSL.

</div>

Prima di passare ai comandi, controlla questa lista:

1. **Account Anthropic.** Usa autenticazione claude.ai supportata oppure una chiave API Console, con i relativi requisiti e addebiti. Il piano gratuito non è il percorso in abbonamento qui descritto. Funziona anche una chiave API Anthropic Console; se l’organizzazione usa impostazioni gestite, controlla l’attivazione dei canali.
2. **Claude Code v2.1.80 o successivo.** Controlla con `claude --version`. Se è una versione precedente, aggiorna con `claude update` oppure `npm install -g @anthropic-ai/claude-code@latest`.
3. **Bun.** I plugin Channels sono script Bun, non script Node. Controlla con `bun --version`. Se non è installato, esegui `curl -fsSL https://bun.sh/install | bash`, poi `source ~/.bashrc`.
4. **Account Telegram.** Va bene qualsiasi account; l’importante è che tu abbia effettuato l’accesso sul telefono.
5. **Se hai un piano Team/Enterprise,** chiedi all’amministratore di abilitare `channelsEnabled` nelle impostazioni gestite o tramite [admin-settings/claude-code](https://claude.ai/admin-settings/claude-code). Per impostazione predefinita, l’opzione è disabilitata nelle organizzazioni.

Non preoccuparti di Bun se è la prima volta che ne senti parlare. Bun è un runtime JavaScript alternativo, come Node. Anthropic lo ha scelto per i plugin Channels perché si avvia più velocemente ed è più facile da distribuire in un singolo binario. Installalo una volta e poi dimenticatene.

⚠️ **Channels non funziona ancora con Bedrock / Google Vertex / Azure Foundry aziendali.** Funziona solo con l’autenticazione claude.ai o Anthropic Console.

## Passaggio 1. Crea un bot Telegram tramite BotFather

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Punti chiave della sezione">

Punti chiave

Apri @BotFather su Telegram, invia il comando `/newbot`, scegli un nome e uno username (lo username deve terminare con `bot`) e ottieni un token nel formato `12345678:AAH...`. Custodisci il token: è la password del tuo bot. Chiunque lo veda può scrivere come il bot e potenzialmente intercettare i tuoi messaggi a Claude.

</div>

BotFather fa tutto il lavoro: devi solo premere cinque pulsanti. Ecco i passaggi:

1. Apri [@BotFather](https://t.me/BotFather) su Telegram (puoi usare il telefono; anche il resto della configurazione si può fare dal telefono).
2. Premi «Start» se è la prima volta.
3. Invia il comando `/newbot`.
4. BotFather ti chiederà: «Bene, un nuovo bot. Come lo chiamiamo?» Inserisci il nome visualizzato, per esempio `Il mio assistente - Claude Code`.
5. Poi ti chiederà uno username. Deve essere univoco su Telegram e terminare con `bot`. Per esempio, `my_claude_bot` oppure `my_dev_bot`.
6. BotFather risponderà con un messaggio simile a questo:

```
Done! Congratulations on your new bot. You will find it at
'<OFFICIAL_URL>'.

Use this token to access the HTTP API:
1234567890:AAHzlAU...

Keep your token secure and store it safely, it can be used by anyone to control your bot.
```

Copia il token. Ti servirà tra due minuti.

⚠️ **Sicurezza del token.** Il token del bot ne dà il controllo completo. Se viene divulgato, chiunque potrà scrivere come il tuo bot e (potenzialmente) intercettare i messaggi che invii a Claude. Non pubblicarlo nei repository, non incollarlo nel codice e non inviarlo nelle chat. Io conservo i token in `~/.claude/channels/telegram/.env`; il plugin lo salverà lì nel passaggio successivo.

## Passaggio 2. Installa il plugin Telegram in Claude Code

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Punti chiave della sezione">

Punti chiave

Avvia Claude Code come al solito, poi inserisci nella sessione `/plugin install telegram@claude-plugins-official`. Se il plugin non viene trovato, aggiungi prima il marketplace ufficiale con `/plugin marketplace add anthropics/claude-plugins-official`. Dopo l’installazione, esegui `/reload-plugins` per attivare i comandi del plugin nella sessione corrente.

</div>

Apri un terminale in una cartella in cui lavori abitualmente con Claude ed esegui:

```bash
claude
```

Inserisci il comando slash nella sessione:

```
/plugin install telegram@claude-plugins-official
```

Se Claude risponde «Plugin not found in any marketplace», il client non conosce il marketplace ufficiale. Aggiungilo:

```
/plugin marketplace add anthropics/claude-plugins-official
```

Oppure aggiornalo se lo avevi già aggiunto:

```
/plugin marketplace update claude-plugins-official
```

Dopo aver completato l’installazione, ricarica i plugin per attivarne i comandi:

```
/reload-plugins
```

Ora dovresti avere comandi slash come `/telegram:configure` e `/telegram:access`. Per controllare, inserisci `/help`: l’elenco dovrebbe includere una sezione telegram.

## Passaggio 3. Collega il token al plugin

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Punti chiave della sezione">

Punti chiave

Nella sessione Claude, inserisci `/telegram:configure <token>` con il token del passaggio 1. Il comando lo salva in `~/.claude/channels/telegram/.env` (accessibile solo al tuo utente). In alternativa, imposta la variabile d’ambiente `TELEGRAM_BOT_TOKEN` nella shell prima di avviare Claude. In produzione uso la seconda opzione: è più facile da gestire tramite systemd ed evita di includere `~/.claude/` nel repository.

</div>

Nella sessione Claude:

```
/telegram:configure 1234567890:AAHzlAU...
```

Il comando salverà il token in `~/.claude/channels/telegram/.env`. Il file è accessibile solo al tuo utente (`chmod 600`), quindi non devi preoccupartene.

In alternativa, imposta il token tramite una variabile d’ambiente. È utile se distribuisci Claude con systemd o Docker e non vuoi usare comandi interattivi:

```bash
export TELEGRAM_BOT_TOKEN="1234567890:AAHzlAU..."
claude --channels plugin:telegram@claude-plugins-official
```

⚠️ In produzione uso sempre le variabili d’ambiente invece di un file `.env` nella mia directory home, `~/`. Così è più facile gestire i segreti tramite systemd (`Environment=TELEGRAM_BOT_TOKEN=...`) ed evito di includere accidentalmente `~/.claude/` nel repository.

## Passaggio 4. Riavvia Claude con il flag --channels

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Punti chiave della sezione">

Punti chiave

Esci dalla sessione (`exit` o `Ctrl+D`), poi avviala di nuovo con il flag `--channels plugin:telegram@claude-plugins-official`. Questo flag abilita il plugin e dice a Claude di interrogare l’API di Telegram per cercare nuovi messaggi. Senza il flag, il bot esiste ma resta in silenzio: il plugin è inattivo e l’interrogazione non è iniziata.

</div>

Questo è il punto più importante, quello che mette in difficoltà tutti al primo avvio. **Installare il plugin da solo non basta.** Perché il bot inizi davvero a ricevere messaggi, devi avviare Claude con un flag esplicito:

```bash
claude --channels plugin:telegram@claude-plugins-official
```

Senza il flag, la sessione funziona come al solito, ma il plugin Telegram resta inattivo. Con il flag, Claude avvia il server MCP del plugin, comincia a interrogare l’API di Telegram e risponde ai messaggi inviati al bot.

Dopo l’avvio, nel terminale dovresti vedere qualcosa di simile:

```
✻ Welcome to Claude Code 2.1.80
  Channels: telegram@claude-plugins-official (active)
  Polling for messages...
```

Se non compare una riga che parla di channels, il flag non è stato acquisito. Controlla che Claude Code sia alla versione 2.1.80+ e che il plugin sia effettivamente installato (`/plugin list` nella sessione).

⚠️ **Suggerimento utile.** Ho aggiunto un alias in `~/.zshrc`:

```bash
alias claude-tg="claude --channels plugin:telegram@claude-plugins-official"
```

Poi mi basta eseguire `claude-tg`. Puoi passare più plugin separati da spazi: `--channels plugin:telegram@... plugin:discord@...`.

## Passaggio 5. Abbina l’account e blocca tutti gli altri

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Punti chiave della sezione">

Punti chiave

Apri il tuo bot su Telegram e inviagli un messaggio qualsiasi. Il bot risponderà con un codice di abbinamento a sei cifre. Torna al terminale e inserisci `/telegram:access pair <code>`. Poi assicurati di limitare l’accesso con una lista consentita: `/telegram:access policy allowlist`. Approva soltanto codici di persone che intendi autorizzare: la allowlist dei mittenti controlla chi raggiunge la sessione.

</div>

Questo passaggio riguarda la sicurezza. **Un mittente approvato può chiedere a Claude di agire sui file e sugli strumenti disponibili.** Abbina solo l’account previsto e limita la policy dei mittenti prima di affidarti al bot.

Passaggi:

1. **Apri il tuo bot su Telegram.** Cercalo tramite lo username `@my_claude_bot` oppure usando il link nella risposta di BotFather. Premi «Start».
2. **Invia al bot un messaggio qualsiasi.** Per esempio, `hi`.
3. **Il bot risponderà con un codice di abbinamento.** Sarà simile a questo:

```
Hi! To pair this account, run in your Claude Code session:
/telegram:access pair 847291

This code is valid for 5 minutes.
```

4. **Torna al terminale.** Nella sessione Claude, inserisci il comando contenuto nella risposta:

```
/telegram:access pair 847291
```

Claude risponderà: «Account paired». Ora il tuo account Telegram può inviare comandi.

5. **Abilita la policy allowlist.** In questo modo blocchi tutti gli account che non sono già stati abbinati:

```
/telegram:access policy allowlist
```

Da questo momento, i messaggi degli altri account verranno **ignorati senza notifica**. Non compariranno nel terminale e il bot non risponderà, come se non fossero mai esistiti.

⚠️ **Verifica la policy dei mittenti durante la configurazione.** Non approvare richieste di abbinamento sconosciute e non presumere che una risposta riuscita dimostri una policy corretta.

Se devi aggiungere qualcun altro (per esempio, un partner di progetto):

```
/telegram:access pair <code from their account>
```

Prima dovrà scrivere al bot, ottenere un codice e comunicartelo. È l’unico modo per aggiungerlo.

Trovi altre guide nella [documentazione di Ailoot](https://ailoot.ai/docs/).

<div class="aside" data-semantic="ailoot-cta" role="note" aria-label="Guide Ailoot">

[Guide Ailoot](https://ailoot.ai/docs/)

</div>

## Come eseguire Claude 24/7 sul tuo VPS

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Punti chiave della sezione">

Punti chiave

Una sessione locale resta attiva mentre il laptop è aperto; chiudi il coperchio e il bot smette di rispondere. Per avere risposte da Claude in qualsiasi momento, sposta la sessione sul tuo VPS: installa Claude Code e Bun, autentica, installa e abbina il plugin come stesso utente Unix dedicato e usa systemd per gestire i riavvii automatici. Un server Coolify lo gestisce senza problemi.

</div>

Se vuoi che il bot sia «attivo a tutte le ore», invece di «aprire il laptop per un’ora e usarlo un po’», la sessione deve restare in esecuzione. In locale puoi farlo con tmux, ma un VPS è più semplice e affidabile.

Una configurazione di esempio usa un VPS Coolify che ospita anche un sito web ([dettagli nella guida alla pubblicazione tramite Coolify](https://ailoot.ai/blog/it/coolify-claude-code-deploy/)). Puoi usare lo stesso server: Claude consuma poca memoria. Se non hai un VPS, prendine uno economico da 4–5 euro al mese, per esempio un Hetzner CX11 / Yandex Cloud / Selectel.

### Passaggio 1: installa il sistema sul VPS

Crea prima account Unix dedicato e workspace come amministratore. Riusa un account esistente solo dopo averne controllato home e proprietà:

```bash
sudo useradd --create-home --shell /bin/bash claude
sudo install -d -o claude -g claude /home/claude/workspace
sudo -iu claude
```

Continua nella shell di accesso `claude`, non nella home di root. Installa Bun con l’installer ufficiale e Claude Code con il [percorso nativo](https://code.claude.com/docs/en/setup):

```bash
curl -fsSL https://bun.sh/install | bash
curl -fsSL https://claude.ai/install.sh | bash
```

Apri una nuova shell di accesso per lo stesso utente, così si applica PATH dell’installer. Verifica identità e percorsi:

```bash
whoami
printf '%s\n' "$HOME"
command -v bun
command -v claude
bun --version
claude --version
cd /home/claude/workspace
claude
```

`whoami` deve mostrare `claude` e `HOME` deve essere `/home/claude`. Registra i percorsi assoluti da `command -v`: usa quello reale di Claude in `ExecStart` e la directory Bun nel PATH del servizio. Fermati se un eseguibile manca.

### Passaggio 2: autentica, installa e abbina come utente del servizio

Nella stessa sessione interattiva `claude`, completa l’accesso, poi ripeti i passaggi 2–5 sopra con questo utente Unix: installa Telegram in **ambito utente**, configura il token, riavvia con `--channels`, abbina l’account Telegram e imposta `policy allowlist`. Prova messaggio e risposta prima del servizio. Non copiare configurazione o credenziali di root nella home.

Sono supportati sia autenticazione in abbonamento claude.ai sia chiave API Anthropic Console. Team/Enterprise richiedono attivazione dell’organizzazione; le organizzazioni Console gestite devono rispettare le impostazioni dei canali. Console usa fatturazione API, separata dall’abbonamento claude.ai. Mantieni identici account e metodo di autenticazione dalla shell al servizio.

### Passaggio 3: gestisci la sessione con systemd

Esci dalla shell dell’utente del servizio e crea l’unità come amministratore. L’esempio presume che i controlli abbiano restituito `/home/claude/.local/bin/claude` e `/home/claude/.bun/bin/bun`: sostituiscili con i percorsi effettivi se diversi. Fornisci lo stesso ambiente di autenticazione scelto e il token, mantieni l’unità leggibile solo dall’amministratore e non registrare segreti in Git. Crea il file per avvio e riavvio automatici:

```bash
cat > /etc/systemd/system/claude-code.service <<'EOF'
[Unit]
Description=Claude Code with Telegram channel
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=claude
WorkingDirectory=/home/claude/workspace
Environment="HOME=/home/claude"
Environment="TELEGRAM_BOT_TOKEN=1234567890:AAH..."
Environment="PATH=/home/claude/.local/bin:/home/claude/.bun/bin:/usr/local/bin:/usr/bin:/bin"
ExecStart=/home/claude/.local/bin/claude --channels plugin:telegram@claude-plugins-official --dangerously-skip-permissions
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable claude-code
systemctl start claude-code
```

Ecco cosa ho abilitato:

- **`Type=simple`** — modalità semplice; systemd considera avviato il processo non appena viene lanciato.
- **`User=claude`** — il processo viene eseguito con un utente separato, non con root. È più sicuro.
- **`WorkingDirectory=/home/claude/workspace`** — workspace preparato di proprietà dell’utente del servizio. Inserisci il repository previsto prima dell’avvio; non lasciare una copia di proprietà di root né eseguire dalla sua home.
- **`Environment=TELEGRAM_BOT_TOKEN=...`** — il token viene passato direttamente al processo. Non serve alcun file `.env`.
- **`--dangerously-skip-permissions`** — fondamentale per il funzionamento senza supervisione. Senza questo flag, Claude aspetta il tuo «sì/no» nel terminale prima di ogni azione e la sessione si blocca. La allowlist identifica i mittenti senza rendere sicuri i loro comandi. Usa il bypass solo in un ambiente isolato con file, credenziali e rete deliberatamente limitati.
- **`Restart=on-failure`** — se il processo si arresta in modo anomalo (Claude si blocca o la rete cade), systemd lo riavvia dopo 10 secondi.

Visualizza i log con:

```bash
journalctl -u claude-code -f
```

Se qualcosa non va, `journalctl -u claude-code -n 100` mostra le ultime 100 righe.

### Passaggio 4: controlla che il bot sia attivo

Avvia il servizio solo dopo una risposta Telegram reale nella configurazione interattiva. Invia quindi allo stesso bot un messaggio innocuo dall’account abbinato e verifica risposta e log. Se funziona manualmente ma non con systemd, confronta prima utente Unix, HOME, workspace, eseguibile, PATH e autenticazione.

Per cambiare in seguito gli abbinamenti, ferma il servizio, usa `sudo -iu claude`, entra in `/home/claude/workspace` e avvia interattivamente lo stesso canale. Abbina e abilita la allowlist, esci e riavvia il servizio. Non eseguire due processi di polling dello stesso bot. `journalctl` legge i log e non fornisce un prompt Claude interattivo.

⚠️ **Abbinamento e systemd.** Esegui ogni modifica interattiva con lo stesso utente del servizio, HOME e workspace già verificati. Ferma il servizio prima di avviare il canale interattivo e riavvialo solo dopo l’uscita, evitando un secondo processo di polling. Verifica la policy salvata e una risposta effettiva del servizio.

## 5 trappole su un server di produzione e come evitarle

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Punti chiave della sezione">

Punti chiave

Ho raccolto queste trappole da una settimana di configurazioni in produzione: systemd non trova Bun, il long polling si interrompe dopo un periodo di inattività prolungato, i limiti del piano Max si esauriscono a metà giornata, `--dangerously-skip-permissions` può causare fughe di dati e ci si dimentica della allowlist dopo una reinstallazione. Ognuna si risolve con un’impostazione di una riga, ma se non le conosci, ci finirai contro nel giro di un paio di giorni.

</div>

### 1. Bun non è nel PATH di systemd

systemd avvia i processi con un ambiente minimo: non vede le variabili di `~/.bashrc`. Se Bun è installato soltanto nella home di root ma l’unità usa `User=claude`, il servizio non eredita quell’installazione o il PATH della shell di root.

**Soluzione.** Installa Bun a livello di sistema (`/usr/local/bin/bun`) oppure passa PATH in modo esplicito:

```ini
Environment="PATH=/home/claude/.bun/bin:/usr/local/bin:/usr/bin:/bin"
```

### 2. La sessione perde la connessione TCP all’API di Telegram dopo un lungo periodo di inattività

Dopo 6–12 ore di inattività, il bot può «ammutolirsi»: i messaggi vengono inviati a Telegram, ma il plugin non li riceve. È una particolarità del long polling.

**Soluzione.** Aggiungi un riavvio regolare a systemd (ogni 24 ore):

```ini
Restart=always
RuntimeMaxSec=86400
```

Oppure configura un cron job: `0 5 * * * systemctl restart claude-code` (riavvio alle 5 del mattino).

### 3. I limiti di Claude Max si esauriscono a metà giornata

Se usi Claude intensamente tramite Telegram, con un piano Max 5x (~\$100 al mese) potresti raggiungere il limite in 4–6 ore. Le richieste Telegram non sono diverse da quelle nel normale terminale: consumano lo stesso budget.

**Soluzione.** Imposta un promemoria: «Il bot non risponde: controlla `/stats`». Se raggiungi il limite, aspetta che si azzeri oppure passa a Max 20x (\$200 al mese). Potrebbero esserti utili la [guida al risparmio di token](https://ailoot.ai/blog/it/claude-code-token-limits-saving/) e la [guida ai modelli Sonnet e Opus](https://ailoot.ai/blog/it/claude-code-model-effort-sonnet-opus/).

### 4. `--dangerously-skip-permissions` è pericoloso anche con una allowlist

Questo flag disabilita tutte le conferme. Qualsiasi comando ti invii su Telegram verrà eseguito senza domande: eliminare file, inviare richieste esterne, qualsiasi cosa. Una volta ho chiesto a Claude di «rimuovere le istruzioni `console.log` superflue» e, nel suo zelo di ripulire il codice, Claude ha cancellato metà dei log di debug da uno script di produzione. Li ho ripristinati tramite git, ma il danno era fatto.

**Soluzione.** Non abilitare `--dangerously-skip-permissions` se lavori a un progetto critico. Usa invece [Remote Control](https://code.claude.com/docs/en/remote-control) per avviare le sessioni: le richieste di autorizzazione arrivano sul telefono e le approvi manualmente. Channels con `--dangerously-skip-permissions` è adatto a bozze, refactoring e test.

### 5. La allowlist si «rompe» dopo una reinstallazione

La allowlist è memorizzata in `~/.claude/channels/telegram/`. Se passi a un nuovo VPS, reinstalli Claude o cambi utente, i vecchi dati di abbinamento non verranno ripresi. La precedente allowlist dei mittenti non è presente: non presumere che l’istanza nuova abbia la stessa policy.

**Soluzione.** Prima di spostarti, fai una copia di `~/.claude/channels/telegram/`. Poi ripristinala nella nuova posizione. Oppure abbina di nuovo l’account subito dopo la reinstallazione e **non lasciare passare neanche un minuto tra l’avvio del bot e l’impostazione di `policy allowlist`**.

## Channels o Remote Control: quale scegliere?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Punti chiave della sezione">

Punti chiave

Con Channels la sessione Claude risponde in chat e tu invii prompt dal telefono. Remote Control mostra lo schermo del terminale sul telefono e ti permette di gestire la sessione con i pulsanti. Channels è più comodo per «chiedi e vai avanti», mentre Remote Control serve per i passaggi critici in cui vuoi vedere cosa fa Claude e approvare ogni azione rischiosa.

</div>

Anthropic ha rilasciato le due funzionalità quasi contemporaneamente: Remote Control il 25 febbraio 2026 e Channels il 20 marzo 2026. **Non si duplicano**: risolvono problemi diversi.

| Scenario | Channels | Remote Control |
|----|----|----|
| Chiedere «quali commit ci sono stati ieri?» mentre sei fuori | ✅ Ideale | Eccessivo: serve l’intero schermo |
| Approvare una modifica a un file | ⚠️ Approvazione alla cieca tramite `--dangerously-skip-permissions` | ✅ Vedi cosa vuole fare Claude |
| Eseguire Claude 24/7 | ✅ Configurazione VPS + systemd | ⚠️ Richiede un laptop acceso |
| Inviare solo un paio di prompt dal telefono | ⚠️ Eccessivo: servono bot, token e plugin | ✅ Un solo codice QR |
| Intercettare un webhook da CI / Sentry | ✅ Caso d’uso nativo | ❌ Non adatto |
| Team con più persone | ✅ Allowlist per più account | ⚠️ Solo il proprietario della sessione |
| Tenere i file fuori dal cloud di Anthropic | ✅ Solo testo tramite MCP | ✅ Anche qui solo testo |

Ecco come li uso io: **Channels** per il lavoro asincrono quando sono lontano dal laptop, per le notifiche CI e per le integrazioni. **Remote Control** quando devo vedere cosa fa Claude o approvare un passaggio rischioso.

Puoi usarli entrambi contemporaneamente. Il bot Telegram ti dà un canale rapido per «chiedere e ricevere una risposta»; Remote Control ti permette di «gestire le cose critiche». Usano lo stesso limite Claude.

## FAQ

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Punti chiave della sezione">

Punti chiave

Sette tra le domande più comuni su Channels: collegare più bot, cosa succede quando chiudi il terminale, webhook dalla CI, Telegram rispetto a Discord, limiti del piano Team, cosa può vedere Claude dal telefono e piano gratuito. Altri materiali sono disponibili nella documentazione di Ailoot.

</div>

**Posso collegare più bot contemporaneamente?**

Sì. Il flag `--channels` accetta un elenco di plugin separati da spazi: `--channels plugin:telegram@claude-plugins-official plugin:discord@claude-plugins-official`. Una sessione Claude risponde in entrambe le chat.

**Cosa succede se chiudo il terminale?**

La sessione si chiude, il plugin si arresta e il bot smette di rispondere. Su un VPS, systemd mantiene la sessione in esecuzione. Su una macchina locale, chiudi il laptop e `claude` si disconnetterà con SIGHUP nel giro di pochi secondi.

**Posso ricevere notifiche dalla CI o da Sentry?**

Sì. Channels è un **canale bidirezionale**. Puoi scrivere un tuo plugin che inoltra i webhook alla sessione usando il [Channels Reference](https://code.claude.com/docs/en/channels-reference). Claude vedrà gli eventi in tempo reale e risponderà.

**Telegram è in qualche modo più limitato di Discord?**

Le funzionalità di base sono le stesse. Discord richiede Message Content Intent nelle impostazioni del bot. iMessage funziona solo su macOS e legge direttamente il database `~/Library/Messages/chat.db`. Telegram è universale.

**Se ho un piano Team, cosa devo fare?**

L’amministratore dell’organizzazione deve abilitare `channelsEnabled: true` nelle impostazioni gestite oppure tramite [admin-settings/claude-code](https://claude.ai/admin-settings/claude-code). Senza questa impostazione, il plugin si connette ma i messaggi non vengono inoltrati; nel terminale apparirà un avviso all’avvio.

**Cosa può vedere Claude dal mio telefono, cioè la chat Telegram?**

Niente. Claude vede **solo il messaggio che hai inviato al bot**. La cronologia delle conversazioni Telegram, l’elenco delle chat e i contatti non sono accessibili. Il plugin MCP legge solo i messaggi inviati al bot tramite la Telegram Bot API.

**Posso usare Claude tramite Channels senza un abbonamento Pro/Max?**

Sì, è supportata anche una chiave API Anthropic Console, con addebiti all’organizzazione Console. Il livello gratuito claude.ai non è il percorso in abbonamento descritto. Team/Enterprise e Console gestite devono rispettare le impostazioni di attivazione dei canali.

## Prossimi passi

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Punti chiave della sezione">

Punti chiave

Il bot è configurato, la allowlist è abilitata e la sessione è su un VPS. Ora integra Channels nella routine quotidiana: collega i webhook da GitHub Actions e Sentry, abbinalo a Routines per le attività regolari e configura un monitor per controllare lo stato del bot. Ogni passaggio richiede 15–30 minuti e colma una lacuna di osservabilità.

</div>

Quando il bot funziona in modo affidabile, puoi seguire alcuni passaggi per sfruttare al meglio Channels:

1. **Collega i webhook della CI.** Se usi GitHub Actions / GitLab CI, puoi configurare il plugin Channels per inoltrare i risultati della build direttamente alla sessione. Claude vedrà «test non riuscito» subito dopo un push e suggerirà una correzione. Consulta la documentazione [channels-reference](https://code.claude.com/docs/en/channels-reference).
2. **Abbinalo a Routines.** Puoi eseguire [Routines](https://ailoot.ai/blog/it/claude-code-routines/) nella stessa sessione per le attività regolari. Al mattino il bot invia spontaneamente «buongiorno, ecco il riepilogo del progetto» e tu rispondi dal telefono: «prepara un report sulle entrate».
3. **Configura un monitor per il bot.** Se il bot smette di rispondere, voglio saperlo. Un piccolo script cron sul VPS contatta il bot Telegram una volta all’ora. Se non riceve risposta, invia un avviso a un canale separato. Senza questo monitor, il bot potrebbe bloccarsi alle 4 del mattino e tu non te ne accorgeresti fino a mezzogiorno.
4. **Valuta gli [hooks](https://ailoot.ai/blog/it/claude-code-hooks/).** Gli hooks rispondono agli eventi di Claude (strumento avviato, messaggio completato). Hooks e Channels insieme permettono notifiche Telegram automatiche come «Claude ha completato l’attività N».

Non aggiungere Channels a tutto. È un modo comodo per seguire un’attività quando sei fuori o al bar. Quando devi riflettere sul serio, apri il laptop e mettiti al lavoro. Channels ti libera la mente dal pensiero «oh, devo ancora chiedergli questa cosa, devo aprire il laptop» quando sei fuori o in viaggio.

<div class="section" role="doc-bibliography" aria-label="Fonti">

### Fonti

- [Inviare eventi a una sessione in esecuzione con channels - Documentazione Claude Code](https://code.claude.com/docs/en/channels)
- [anthropics/claude-plugins-official su GitHub](https://github.com/anthropics/claude-plugins-official) - codice sorgente dei plugin Telegram, Discord, iMessage e fakechat
- [Continua le sessioni locali da qualsiasi dispositivo con Remote Control - Documentazione Claude Code](https://code.claude.com/docs/en/remote-control)

</div>

Per altri materiali sul lavoro con gli strumenti, consulta la [documentazione di Ailoot](https://ailoot.ai/docs/).



<div class="aside" data-semantic="ailoot-cta" role="note" aria-label="Guide Ailoot">

[Guide Ailoot](https://ailoot.ai/docs/)

</div>

<div class="aside" data-semantic="ailoot-cta" role="note" aria-label="Vai ad Ailoot">

[Vai ad Ailoot](https://ailoot.ai/)

</div>

## Domande frequenti

### Perché il bot Telegram funziona manualmente ma fallisce come servizio?

Confronta utente Unix, HOME, workspace, eseguibile Claude, PATH di Bun e ambiente di autenticazione con l’esecuzione interattiva riuscita. Installa, configura e abbina con lo stesso utente: plugin e abbinamenti di root appartengono a un’altra configurazione.

### Una chiave API Console può sostituire l’accesso Pro o Max per Channels?

Sì. È supportata l’autenticazione Anthropic Console API, con fatturazione Console. Controlla le impostazioni dei canali dove richiesto e completa token, abbinamento e allowlist nell’account che esegue la sessione.


## Ailoot · L’azienda e il suo portafoglio di progetti

Ailoot si basa su un’esperienza operativa consolidata, un’ampia base di clienti, un servizio stabile e un controllo costante dei KPI.

L’azienda e il suo portafoglio di progetti: milioni di clienti; vendite nell’ordine dei miliardi ogni mese.

Ailoot mette questa esperienza operativa al servizio dell’accesso API alle funzioni AI nei prodotti dei clienti, negli agenti, nelle applicazioni e nelle automazioni.
