Jak sterować Claude Code z telefonu przez Telegram w 2026 roku
MarkdownKrok po kroku: utwórz bota Telegram, zainstaluj wtyczkę Claude Code Channels, zabezpiecz ją listą dozwolonych użytkowników i uruchom 24/7 na VPS. Praktyczny przewodnik z gotowymi poleceniami.
Przeczytaj cały artykuł
Najważniejsze punkty
Claude Code Channels to oficjalna wtyczka Anthropic od 20 marca 2026 r. Utwórz bota przez BotFather, zainstaluj wtyczkę jednym poleceniem, uruchom ponownie Claude z flagą --channels i wysyłaj wiadomości do bota z telefonu. Claude odczytuje je bezpośrednio w lokalnej sesji, zapisuje kod w plikach i odpowiada w Telegramie. Aby działał 24/7, przenieś sesję na własny VPS i skonfiguruj systemd.
Więcej materiałów na temat konfigurowania narzędzi znajdziesz w dokumentacji Ailoot.
Czym jest Claude Code Channels i dlaczego go potrzebujesz
Najważniejsze punkty
Channels to wtyczka MCP, która przekazuje wiadomości z Telegrama, Discorda lub iMessage do już uruchomionej sesji Claude Code. Sesja widzi wiadomość jako zwykłe żądanie użytkownika, pracuje na lokalnych plikach i odpowiada na tym samym czacie. Laptop pozostaje włączony, a ty możesz zająć się swoimi sprawami, korzystając z telefonu.
20 marca 2026 r. Anthropic udostępnił Claude Code Channels, oficjalną wtyczkę do łączenia sesji Claude z aplikacjami do komunikacji. Obsługiwane są Telegram, Discord i iMessage. Funkcja jest dostępna w ramach research preview: dokumentacja znajduje się pod adresem code.claude.com/docs/en/channels, a kod źródłowy wtyczki w publicznym repozytorium anthropics/claude-plugins-official.
Krótko mówiąc, to „most czatowy” między telefonem a sesją Claude Code. Wysyłam botowi wiadomość: „Kontynuuj przepisywanie tabeli cenowej; w pliku business/products/practicum/README.md zaktualizuj daty kolejnej edycji”, a bot przekazuje ją do sesji na moim VPS-ie. Claude pobiera kontekst, edytuje plik, zatwierdza zmiany i odpowiada na Telegramie: „Gotowe, sprawdź commit”. Laptop zostaje zamknięty w domu.
⚠️ Główne ograniczenie research preview: Channels to most MCP. Sesja musi być uruchomiona na twoim komputerze lub VPS-ie. Gdy sesja jest zamknięta, nikt nie odbiera wiadomości. Dlatego działanie 24/7 trzeba skonfigurować osobno (zobacz sekcję o VPS-ie poniżej).
Czym Channels różni się od innych sposobów pracy zdalnej
W oficjalnej dokumentacji Anthropic zamieścił tabelę bezpośredniego porównania. Oto jej adaptacja:
| Funkcja | Działanie | Kiedy wybrać |
|---|---|---|
| Claude Code on the web | Uruchamia zadanie w nowym środowisku sandbox w chmurze i klonuje repozytorium z GitHuba | Zlecasz niezależne zadanie w tle i sprawdzasz je później |
| Slack integration | Uruchamia sesję internetową w wątku, gdy pojawi się wzmianka @Claude | Rozpoczynasz zadania bezpośrednio z rozmów zespołu |
| MCP server (regular) | Claude wywołuje go w trakcie zadania; serwer nie przesyła niczego do sesji | Dajesz Claude dostęp na żądanie do systemów zewnętrznych |
| Remote Control | Sterujesz lokalną sesją z claude.ai lub aplikacji mobilnej | Obsługujesz istniejącą sesję z ekranu telefonu |
| Channels ⭐ | Przesyła zdarzenia ze źródeł innych niż Claude do już uruchomionej sesji lokalnej | Zadajesz pytanie z telefonu i otrzymujesz odpowiedź na czacie; odbierasz webhook z CI |
Główna różnica między Channels a Remote Control jest taka: Remote Control zamienia „telefon w okno na terminal” — dosłownie widzisz kursor i naciskasz przyciski. Channels to chatbot, którego mózgiem jest lokalna sesja Claude. W Remote Control patrzę na terminal. W Channels piszę do kogoś, kto czyta moje pliki.
Jeśli potrzebujesz pełnej kontroli z poziomu ekranu, użyj Remote Control. Jeśli chcesz „wysłać pytanie, zająć się swoimi sprawami i dostać odpowiedź”, użyj Channels. Korzystam z obu rozwiązań: z Remote Control, gdy muszę zatwierdzić krytyczne zmiany, a z Channels, gdy ufam, że zadanie zostanie wykonane, i chcę odzyskać wieczór.
Co będzie potrzebne przed rozpoczęciem
Najważniejsze punkty
Claude Code v2.1.80 lub nowszy, obsługiwane uwierzytelnianie claude.ai lub klucz API Anthropic Console, zainstalowany Bun i dostęp do Telegrama. Do pracy 24/7 potrzebujesz VPS-a z Ubuntu lub Debianem. Wszystko działa tak samo na macOS, Linuxie i WSL.
Zanim przejdziesz do poleceń, sprawdź tę listę:
- Konto Anthropic. Potrzebujesz planu Pro, Max, Team lub Enterprise. Channels nie jest dostępny w bezpłatnym planie. Działa także klucz API Anthropic Console; jeśli organizacja Console wdraża ustawienia zarządzane, sprawdź włączenie kanałów w tych ustawieniach.
- Claude Code v2.1.80 lub nowszy. Sprawdź wersję poleceniem
claude --version. Jeśli jest starsza, zaktualizuj ją za pomocąclaude updatelubnpm install -g @anthropic-ai/claude-code@latest. - Bun. Wtyczki Channels są skryptami Bun, a nie Node. Sprawdź wersję poleceniem
bun --version. Jeśli Bun nie jest zainstalowany, uruchomcurl -fsSL https://bun.sh/install | bash, a następniesource ~/.bashrc. - Konto Telegram. Może to być dowolne konto; najważniejsze, żeby było zalogowane w telefonie.
- Jeśli korzystasz z planu Team/Enterprise, poproś administratora o włączenie
channelsEnabledw ustawieniach zarządzanych lub na stronie admin-settings/claude-code. W organizacjach ta opcja jest domyślnie wyłączona.
Jeśli po raz pierwszy słyszysz o Bun, nie martw się. Bun to alternatywne środowisko uruchomieniowe JavaScript, podobne do Node. Anthropic wybrał je dla wtyczek Channels, ponieważ uruchamia się szybciej i łatwiej spakować je do pojedynczego pliku binarnego. Zainstaluj je raz i zapomnij.
⚠️ Channels nie działa jeszcze z firmowymi usługami Bedrock / Google Vertex / Azure Foundry. Obsługuje tylko uwierzytelnianie przez claude.ai lub Anthropic Console.
Krok 1. Utwórz bota Telegram przez BotFather
Najważniejsze punkty
Otwórz @BotFather w Telegramie, wyślij polecenie /newbot, wybierz nazwę i nazwę użytkownika (nazwa użytkownika musi kończyć się na bot) i odbierz token w formacie 12345678:AAH.... Chroń token: to hasło do twojego bota. Każdy, kto go zobaczy, może pisać jako bot i potencjalnie przechwytywać wiadomości wysyłane do Claude.
BotFather zrobi za ciebie całą pracę — wystarczy nacisnąć pięć przycisków. Oto kolejne kroki:
- Otwórz @BotFather w Telegramie (możesz użyć telefonu; pozostałą konfigurację również da się wykonać na telefonie).
- Jeśli używasz go pierwszy raz, naciśnij „Start”.
- Wyślij polecenie
/newbot. - BotFather zapyta: „Dobrze, nowy bot. Jak go nazwiemy?”. Wpisz nazwę wyświetlaną, na przykład
Mój asystent - Claude Code. - Następnie poprosi o nazwę użytkownika. Musi być unikatowa w całym Telegramie i kończyć się na
bot. Na przykładmy_claude_botlubmy_dev_bot. - BotFather odpowie wiadomością podobną do tej:
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.
Skopiuj token. Będzie potrzebny za dwie minuty.
⚠️ Bezpieczeństwo tokenu. Token bota zapewnia nad nim pełną kontrolę. Jeśli wycieknie, każdy będzie mógł pisać jako twój bot i (potencjalnie) przechwytywać wiadomości wysyłane do Claude. Nie publikuj go w repozytoriach, nie wklejaj do kodu ani nie wysyłaj na czatach. Przechowuję tokeny w ~/.claude/channels/telegram/.env; wtyczka umieści go tam w następnym kroku.
Krok 2. Zainstaluj wtyczkę Telegram w Claude Code
Najważniejsze punkty
Uruchom Claude Code jak zwykle, a następnie wpisz w sesji /plugin install telegram@claude-plugins-official. Jeśli wtyczka nie zostanie znaleziona, najpierw dodaj oficjalny marketplace poleceniem /plugin marketplace add anthropics/claude-plugins-official. Po instalacji uruchom /reload-plugins, aby aktywować polecenia wtyczki w bieżącej sesji.
Otwórz terminal w dowolnym folderze, w którym zwykle pracujesz z Claude, i uruchom:
claude
Wpisz w sesji polecenie ukośnikowe:
/plugin install telegram@claude-plugins-official
Jeśli Claude odpowie „Plugin not found in any marketplace”, klient nie zna oficjalnego marketplace'u. Dodaj go:
/plugin marketplace add anthropics/claude-plugins-official
Jeśli dodano go wcześniej, zaktualizuj go:
/plugin marketplace update claude-plugins-official
Po pomyślnej instalacji ponownie załaduj wtyczki, aby aktywować ich polecenia:
/reload-plugins
Powinny być teraz dostępne polecenia ukośnikowe, takie jak /telegram:configure i /telegram:access. Aby to sprawdzić, wpisz /help; na liście powinna być sekcja telegram.
Krok 3. Połącz token z wtyczką
Najważniejsze punkty
W sesji Claude wpisz /telegram:configure <token>, podając token z kroku 1. Polecenie zapisze go w ~/.claude/channels/telegram/.env (dostęp ma tylko twój użytkownik). Możesz też ustawić zmienną środowiskową TELEGRAM_BOT_TOKEN w powłoce przed uruchomieniem Claude. W środowisku produkcyjnym korzystam z drugiej opcji: łatwiej zarządzać nią przez systemd i nie trzeba dołączać ~/.claude/ do repozytorium.
W sesji Claude wpisz:
/telegram:configure 1234567890:AAHzlAU...
Polecenie zapisze token w ~/.claude/channels/telegram/.env. Plik jest dostępny tylko dla twojego użytkownika (chmod 600), więc nie musisz się tym martwić.
Możesz też ustawić token za pomocą zmiennej środowiskowej. Przydaje się to, gdy wdrażasz Claude przez systemd lub Docker i nie chcesz używać poleceń interaktywnych:
export TELEGRAM_BOT_TOKEN="1234567890:AAHzlAU..."
claude --channels plugin:telegram@claude-plugins-official
⚠️ W środowisku produkcyjnym zawsze używam zmiennych środowiskowych zamiast pliku .env w katalogu domowym ~/. Ułatwia to zarządzanie sekretami przez systemd (Environment=TELEGRAM_BOT_TOKEN=...) i zapobiega przypadkowemu dodaniu ~/.claude/ do repozytorium.
Krok 4. Uruchom ponownie Claude z flagą --channels
Najważniejsze punkty
Zakończ sesję (exit lub Ctrl+D), a następnie uruchom ją ponownie z flagą --channels plugin:telegram@claude-plugins-official. Flaga włącza wtyczkę i nakazuje Claude odpytywać Telegram API o nowe wiadomości. Bez niej bot istnieje, ale milczy — wtyczka pozostaje nieaktywna i nie rozpoczęła odpytywania.
To najważniejsza sprawa i punkt, na którym wszyscy potykają się przy pierwszym uruchomieniu. Samo zainstalowanie wtyczki nie wystarczy. Aby bot rzeczywiście zaczął odbierać wiadomości, trzeba uruchomić Claude z jawną flagą:
claude --channels plugin:telegram@claude-plugins-official
Bez tej flagi sesja działa jak zwykle, ale wtyczka Telegram pozostaje nieaktywna. Po dodaniu flagi Claude uruchamia serwer MCP wtyczki, zaczyna odpytywać Telegram API i odpowiadać na wiadomości wysyłane do bota.
Po uruchomieniu w terminalu powinien pojawić się komunikat podobny do tego:
✻ Welcome to Claude Code 2.1.80
Channels: telegram@claude-plugins-official (active)
Polling for messages...
Jeśli nie ma wiersza dotyczącego channels, flaga nie została uwzględniona. Sprawdź, czy masz Claude Code w wersji 2.1.80+ i czy wtyczka jest faktycznie zainstalowana (/plugin list w sesji).
⚠️ Przydatna wskazówka. Dodałem alias do ~/.zshrc:
alias claude-tg="claude --channels plugin:telegram@claude-plugins-official"
Teraz wystarczy uruchomić claude-tg. Możesz przekazać kilka wtyczek, oddzielając je spacjami: --channels plugin:telegram@... plugin:discord@....
Krok 5. Sparuj konto i zablokuj wszystkich pozostałych
Najważniejsze punkty
Otwórz bota w Telegramie i wyślij dowolną wiadomość. Bot odpowie sześciocyfrowym kodem parowania. Wróć do terminala i wpisz /telegram:access pair <code>. Następnie koniecznie ogranicz dostęp za pomocą listy dozwolonych użytkowników: /telegram:access policy allowlist. Zatwierdzaj kody parowania wyłącznie zamierzonych osób; lista nadawców kontroluje dostęp do sesji.
Ten krok dotyczy bezpieczeństwa. Zatwierdzony nadawca może poprosić Claude o działania na plikach i narzędziach dostępnych sesji. Sparuj wyłącznie zamierzone konto i zablokuj politykę nadawców przed poleganiem na bocie.
Kroki:
- Otwórz bota w Telegramie. Znajdź go po nazwie użytkownika
@my_claude_botlub skorzystaj z linku w odpowiedzi BotFather. Naciśnij „Start”. - Wyślij botowi dowolną wiadomość. Na przykład
hi. - Bot odpowie kodem parowania. Będzie wyglądać mniej więcej tak:
Hi! To pair this account, run in your Claude Code session:
/telegram:access pair 847291
This code is valid for 5 minutes.
- Wróć do terminala. W sesji Claude wpisz polecenie z otrzymanej odpowiedzi:
/telegram:access pair 847291
Claude odpowie: „Account paired”. Teraz możesz wysyłać polecenia z konta Telegram.
- Włącz politykę listy dozwolonych. Zablokuje ona wszystkie konta, które nie zostały sparowane:
/telegram:access policy allowlist
Od tej chwili wiadomości od innych kont będą po cichu ignorowane. Nie pojawią się w terminalu, a bot nie odpowie — jakby nigdy nie dotarły.
⚠️ Włączenie listy dozwolonych od razu po sparowaniu jest bardzo ważne. Nie odkładaj tego na później. Nie zatwierdzaj nieznanych próśb parowania podczas konfiguracji ani nie traktuj udanej odpowiedzi jako dowodu poprawnej polityki nadawców. Za pierwszym razem mój bot działał przez dziesięć minut bez listy dozwolonych i dwie przypadkowe osoby na Telegramie zdążyły wysłać „hi”. Na szczęście nie pozwalałem wtedy poleceniom zapisywać plików.
Jeśli chcesz dodać kogoś innego (na przykład partnera projektowego):
/telegram:access pair <kod z jego konta>
Ta osoba musi najpierw napisać do bota, otrzymać kod i przekazać go tobie. Możesz dodać ją tylko w ten sposób.
Więcej przewodników znajdziesz w dokumentacji Ailoot.
Jak uruchomić Claude 24/7 na własnym VPS-ie
Najważniejsze punkty
Lokalna sesja działa, gdy laptop jest otwarty; zamknij pokrywę, a bot zamilknie. Aby Claude odpowiadał o każdej porze, przenieś sesję na własny VPS: zainstaluj Claude Code i Bun, uwierzytelnij oraz zainstaluj i sparuj wtyczkę jako ten sam wydzielony użytkownik Unix i uruchom usługę systemd z automatycznymi restartami. Serwer Coolify poradzi sobie bez problemu.
Jeśli chcesz, aby bot był „aktywny przez całą dobę”, a nie „działał przez godzinę, gdy otworzysz laptopa i coś sprawdzisz”, sesja musi być stale uruchomiona. Lokalnie można to zrobić za pomocą tmux, ale VPS jest prostszy i bardziej niezawodny.
Jedna z przykładowych konfiguracji używa VPS-a z Coolify, na którym hostowana jest też witryna (szczegóły w przewodniku publikowania przez Coolify). Możesz użyć tego samego serwera — Claude potrzebuje niewiele pamięci. Jeśli nie masz VPS-a, wybierz najtańszy za 4–5 euro miesięcznie, na przykład Hetzner CX11 / Yandex Cloud / Selectel.
Krok 1: Zainstaluj system na VPS-ie
Najpierw administrator tworzy wydzielone konto Unix i obszar roboczy. Istniejącego konta używaj dopiero po sprawdzeniu katalogu domowego i własności:
sudo useradd --create-home --shell /bin/bash claude
sudo install -d -o claude -g claude /home/claude/workspace
sudo -iu claude
Kontynuuj w tej powłoce logowania claude, nie w katalogu root. Zainstaluj Bun oficjalnym instalatorem i Claude Code przez natywną instalację:
curl -fsSL https://bun.sh/install | bash
curl -fsSL https://claude.ai/install.sh | bash
Otwórz świeżą powłokę logowania tego samego użytkownika, aby zadziałały zmiany PATH. Sprawdź konto i ścieżki programów:
whoami
printf '%s\n' "$HOME"
command -v bun
command -v claude
bun --version
claude --version
cd /home/claude/workspace
claude
whoami musi zwrócić claude, a HOME /home/claude. Zapisz bezwzględne ścieżki z command -v; rzeczywistej ścieżki Claude użyj w ExecStart, a katalog Bun dodaj do PATH usługi. Zatrzymaj się, jeśli brakuje któregoś programu.
Krok 2: Uwierzytelnij, zainstaluj i sparuj jako użytkownik usługi
W tej samej interaktywnej sesji claude zakończ logowanie i powtórz kroki 2–5 powyżej pod tym użytkownikiem Unix: zainstaluj wtyczkę Telegram w zakresie użytkownika, skonfiguruj token, uruchom ponownie z --channels, sparuj konto Telegram i ustaw policy allowlist. Przed usługą sprawdź wiadomość i odpowiedź. Nie kopiuj konfiguracji ani poświadczeń Claude użytkownika root do tego katalogu.
Obsługiwane jest zarówno logowanie subskrypcją claude.ai, jak i klucz API Anthropic Console. Team/Enterprise wymaga włączenia organizacyjnego; zarządzane organizacje Console także muszą spełniać ustawienia kanałów. Console rozlicza użycie API zamiast subskrypcji claude.ai. Zachowaj wybrane konto i metodę uwierzytelniania przy przejściu z powłoki do usługi.
Krok 3: Uruchom sesję przez systemd
Wyjdź z powłoki użytkownika usługi i utwórz jednostkę jako administrator. Poniższa jednostka zakłada wyniki ścieżek /home/claude/.local/bin/claude i /home/claude/.bun/bin/bun; zastąp je faktycznymi wynikami, jeśli są inne. Dostarcz to samo wybrane środowisko uwierzytelniania i token bota, ogranicz odczyt jednostki do administratora i nigdy nie commituj sekretów. Utwórz plik usługi do automatycznego startu i restartu po awarii:
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
Włączyłem następujące ustawienia:
Type=simple— prosty tryb; systemd uznaje proces za uruchomiony zaraz po jego starcie.User=claude— proces działa na oddzielnym koncie użytkownika, a nie jako root. To bezpieczniejsze.WorkingDirectory=/home/claude/workspace— przygotowany obszar roboczy należący do użytkownika usługi. Umieść tam zamierzone repozytorium przed startem; nie zostawiaj kopii należącej do root ani nie uruchamiaj z jego katalogu domowego.Environment=TELEGRAM_BOT_TOKEN=...— token jest przekazywany bezpośrednio do procesu. Nie potrzeba pliku.env.--dangerously-skip-permissions— niezbędna opcja do pracy bez nadzoru. Bez niej Claude czeka w terminalu na twoje „tak/nie” przed każdą czynnością, a sesja się zawiesi. Lista identyfikuje nadawców; nie czyni ich poleceń bezpiecznymi. Używaj pomijania uprawnień tylko w izolowanym środowisku z celowo ograniczonymi plikami, poświadczeniami i siecią.Restart=on-failure— jeśli proces ulegnie awarii (Claude się zawiesi lub sieć przestanie działać), systemd uruchomi go ponownie po 10 sekundach.
Aby wyświetlić logi, uruchom:
journalctl -u claude-code -f
Jeśli coś pójdzie nie tak, polecenie journalctl -u claude-code -n 100 wyświetli ostatnie 100 wierszy.
Krok 4: Sprawdź, czy bot działa
Uruchom usługę dopiero po uzyskaniu rzeczywistej odpowiedzi Telegrama w konfiguracji interaktywnej. Wyślij temu samemu botowi nieszkodliwą wiadomość ze sparowanego konta i sprawdź odpowiedź oraz logi usługi. Jeśli działa interaktywnie, a nie przez systemd, najpierw porównaj użytkownika Unix, HOME, obszar roboczy, ścieżkę programu, PATH i środowisko uwierzytelniania.
Przy późniejszym parowaniu zatrzymaj usługę, wykonaj sudo -iu claude, wejdź do /home/claude/workspace i uruchom ten sam kanał interaktywnie. Sparuj konto i włącz listę tam, wyjdź i uruchom usługę ponownie. Nie uruchamiaj dwóch odbiorców tego samego bota jednocześnie. journalctl czyta logi, nie zapewnia interaktywnego promptu Claude.
5 pułapek na serwerze produkcyjnym i jak ich uniknąć
Najważniejsze punkty
Zebrałem pułapki na podstawie tygodnia konfiguracji środowiska produkcyjnego: systemd nie widzi Bun, długie odpytywanie przestaje działać po dłuższym okresie bezczynności, limity planu Max wyczerpują się w środku dnia, --dangerously-skip-permissions może doprowadzić do wycieku, a lista dozwolonych użytkowników zostaje pominięta po ponownej instalacji. Każdy z tych problemów można rozwiązać jedną linijką konfiguracji, ale jeśli o nich nie wiesz, napotkasz je w ciągu kilku dni.
1. Bun nie ma w PATH systemd
systemd uruchamia procesy z minimalnym środowiskiem i nie widzi zmiennych z ~/.bashrc. Jeśli Bun zainstalowano tylko w katalogu domowym root, a jednostka ma User=claude, usługa nie odziedziczy tej instalacji ani PATH powłoki root.
Rozwiązanie. Zainstaluj Bun w całym systemie (/usr/local/bin/bun) albo jawnie przekaż PATH:
Environment="PATH=/home/claude/.bun/bin:/usr/local/bin:/usr/bin:/bin"
2. Po dłuższym okresie bezczynności sesja traci połączenie TCP z Telegram API
Po 6–12 godzinach bezczynności bot może „zamilknąć” — wiadomości są wysyłane do Telegrama, ale wtyczka ich nie odbiera. To osobliwość długiego odpytywania.
Rozwiązanie. Dodaj regularny restart w systemd (co 24 godziny):
Restart=always
RuntimeMaxSec=86400
Możesz też skonfigurować zadanie cron: 0 5 * * * systemctl restart claude-code (restart o 5 rano).
3. Limity Claude Max wyczerpują się w środku dnia
Jeśli intensywnie korzystasz z Claude przez Telegram, w planie Max 5x (około $100 miesięcznie) możesz osiągnąć limit w ciągu 4–6 godzin. Żądania z Telegrama nie różnią się od tych z normalnego terminala; korzystają z tego samego budżetu.
Rozwiązanie. Ustaw przypomnienie: „Bot nie odpowiada — sprawdź /stats”. Jeśli osiągniesz limit, poczekaj na jego odnowienie albo przejdź na Max 20x ($200 miesięcznie). Pomóc mogą przewodnik oszczędzania tokenów i przewodnik porównujący modele Sonnet i Opus.
4. --dangerously-skip-permissions jest niebezpieczne nawet z listą dozwolonych
Ta flaga wyłącza wszystkie potwierdzenia. Każde polecenie wysłane przez ciebie w Telegramie zostanie uruchomione bez pytań: usuwanie plików, wysyłanie żądań zewnętrznych — wszystko. Kiedyś poprosiłem Claude, by „usuń niepotrzebne console.log”, a Claude, z zapałem do sprzątania, skasował połowę logów debugowania w skrypcie produkcyjnym. Przywróciłem je przez git, ale szkoda już się stała.
Rozwiązanie. Nie włączaj --dangerously-skip-permissions, jeśli pracujesz nad krytycznym projektem. Zamiast tego użyj Remote Control do obsługi sesji — prośby o uprawnienia trafią na telefon, gdzie zatwierdzisz je ręcznie. Channels z --dangerously-skip-permissions nadaje się do wstępnych wersji, refaktoryzacji i testów.
5. Lista dozwolonych „psuje się” po ponownej instalacji
Lista dozwolonych jest przechowywana w ~/.claude/channels/telegram/. Jeśli przejdziesz na nowy VPS, ponownie zainstalujesz Claude lub zmienisz użytkownika, stare dane parowania nie zostaną wczytane. Brakuje starej listy nadawców; nie zakładaj zachowania poprzedniej polityki dostępu w nowej instancji.
Rozwiązanie. Przed migracją wykonaj kopię zapasową ~/.claude/channels/telegram/. Po migracji przywróć ją w tym miejscu. Możesz też ponownie sparować konto od razu po reinstalacji i nie pozostawiać nawet minuty przerwy między uruchomieniem bota a ustawieniem policy allowlist.
Channels czy Remote Control — co wybrać?
Najważniejsze punkty
W Channels sesja Claude odpowiada na czacie, a ty wysyłasz prompt z telefonu. Remote Control wyświetla ekran terminala w telefonie i pozwala obsługiwać sesję przyciskami. Channels jest wygodniejsze, gdy chcesz „zapytać i zająć się czymś innym”; Remote Control sprawdza się przy krytycznych krokach, gdy musisz widzieć, co robi Claude, i zatwierdzać każde ryzykowne działanie.
Anthropic udostępnił obie funkcje w podobnym czasie: Remote Control 25 lutego 2026 r., a Channels 20 marca 2026 r. Nie dublują się — rozwiązują różne problemy.
| Scenariusz | Channels | Remote Control |
|---|---|---|
| Pytasz „jakie były wczorajsze commity?”, gdy jesteś poza domem | ✅ Idealny wybór | Przesada — potrzebujesz pełnego ekranu |
| Zatwierdzasz zmianę w pliku | ⚠️ Ślepe zatwierdzenie przez --dangerously-skip-permissions | ✅ Widzisz, co Claude chce zrobić |
| Uruchamiasz Claude 24/7 | ✅ Konfiguracja VPS + systemd | ⚠️ Wymaga otwartego laptopa |
| Wysyłasz z telefonu tylko kilka promptów | ⚠️ Przesada — bot, token i wtyczka | ✅ Jeden kod QR |
| Odbierasz webhook z CI / Sentry | ✅ Natywne zastosowanie | ❌ Nie do tego |
| Zespół składający się z kilku osób | ✅ Lista dozwolonych dla wielu kont | ⚠️ Tylko właściciel sesji |
| Nie chcesz udostępniać plików w chmurze Anthropic | ✅ Tylko tekst przez MCP | ✅ Również tylko tekst |
Sam korzystam z nich w następujący sposób: Channels do pracy asynchronicznej, gdy jestem z dala od laptopa, powiadomień CI i integracji. Remote Control — gdy muszę zobaczyć, co robi Claude, lub zatwierdzić ryzykowny krok.
Możesz używać obu jednocześnie. Bot Telegram zapewnia szybki kanał do „zadania pytania i uzyskania odpowiedzi”, a Remote Control służy do „kontrolowania krytycznych spraw”. Oba korzystają z tego samego limitu Claude.
FAQ
Najważniejsze punkty
Odpowiedzi na siedem najczęstszych pytań o Channels: łączenie wielu botów, działanie po zamknięciu terminala, webhooki z CI, Telegram a Discord, ograniczenia planu Team, dostęp Claude do danych z telefonu oraz plan bezpłatny. Więcej materiałów znajdziesz w dokumentacji Ailoot.
Czy mogę jednocześnie połączyć kilka botów?
Tak. Flaga --channels przyjmuje listę rozdzieloną spacjami: --channels plugin:telegram@claude-plugins-official plugin:discord@claude-plugins-official. Jedna sesja Claude odpowiada na obu czatach.
Co się stanie, jeśli zamknę terminal?
Sesja się zamknie, wtyczka przestanie działać, a bot zamilknie. Na VPS-ie sesja będzie działać dalej dzięki systemd. Na komputerze lokalnym po zamknięciu laptopa claude rozłączy się z SIGHUP w ciągu kilku sekund.
Czy mogę odbierać powiadomienia z CI lub Sentry?
Tak. Channels to kanał dwukierunkowy. Możesz napisać własną wtyczkę, która przekaże webhooki do sesji, korzystając z dokumentu Channels Reference. Claude będzie widzieć zdarzenia w czasie rzeczywistym i na nie odpowiadać.
Czy Telegram ma jakieś ograniczenia w porównaniu z Discordem?
Podstawowe możliwości są takie same. Discord wymaga włączenia Message Content Intent w ustawieniach bota. iMessage działa tylko na macOS i odczytuje bezpośrednio bazę danych ~/Library/Messages/chat.db. Telegram jest uniwersalny.
Co muszę zrobić, jeśli korzystam z planu Team?
Administrator organizacji musi włączyć channelsEnabled: true w ustawieniach zarządzanych lub na stronie admin-settings/claude-code. Bez tego wtyczka się połączy, ale wiadomości nie będą przechodzić — w terminalu pojawi się ostrzeżenie podczas uruchamiania.
Co Claude może zobaczyć z mojego telefonu — czy ma dostęp do samego czatu Telegram?
Nie. Claude widzi tylko wiadomość wysłaną do bota. Historia rozmów Telegrama, lista czatów i kontakty są niedostępne. Wtyczka MCP odczytuje wyłącznie wiadomości skierowane do bota przez Telegram Bot API.
Czy mogę korzystać z Claude przez Channels bez subskrypcji Pro/Max?
Tak, obsługiwany jest też klucz API Anthropic Console; użycie API obciąża tę organizację Console. Bezpłatne claude.ai nie jest opisaną ścieżką subskrypcji. Team/Enterprise i zarządzane organizacje Console muszą spełnić ustawienia włączenia kanałów.
Co dalej
Najważniejsze punkty
Bot jest skonfigurowany, lista dozwolonych jest włączona, a sesja działa na VPS-ie. Następnie włącz Channels do codziennej pracy: podłącz webhooki z GitHub Actions i Sentry, połącz je z Routines dla regularnych zadań i skonfiguruj monitor stanu bota. Każdy krok zajmuje 15–30 minut i usuwa jedną lukę w monitorowaniu.
Gdy bot działa już niezawodnie, możesz zrobić jeszcze kilka rzeczy, aby w pełni wykorzystać Channels:
- Podłącz webhooki z CI. Jeśli korzystasz z GitHub Actions / GitLab CI, możesz skonfigurować wtyczkę Channels tak, aby przekazywała wyniki kompilacji bezpośrednio do sesji. Claude zobaczy „test nie przeszedł” zaraz po pushu i zaproponuje poprawkę. Zobacz dokumentację channels-reference.
- Połącz z Routines. Możesz uruchamiać Routines w tej samej sesji, aby wykonywać regularne zadania. Rano bot sam wyśle „dzień dobry, oto podsumowanie projektu”, a ty odpowiesz z telefonu: „przygotuj raport o przychodach”.
- Skonfiguruj monitor bota. Chcę wiedzieć, jeśli bot zamilknie. Niewielki skrypt cron na VPS-ie może pingować bota Telegram raz na godzinę. Jeśli bot nie odpowie, skrypt wyśle alert na osobny kanał. Bez tego bot może przestać działać o 4 rano, a ty dowiesz się o tym dopiero w południe.
- Rozważ hooks. Hooks reagują na zdarzenia Claude (uruchomienie narzędzia, zakończenie wiadomości). Hooks i Channels razem umożliwiają automatyczne powiadomienia Telegram, takie jak „Claude ukończył zadanie N”.
Nie podłączaj Channels do wszystkiego. To wygodny sposób, by sprawdzić postęp zadania, gdy jesteś poza domem lub w kawiarni. Kiedy trzeba naprawdę pomyśleć, otwórz laptopa i usiądź. Channels uwalnia cię od myśli „muszę go jeszcze o to zapytać, trzeba otworzyć laptopa”, gdy jesteś poza domem lub w podróży.
Źródła
- Push events into a running session with channels - Claude Code Docs
- anthropics/claude-plugins-official on GitHub - kod źródłowy wtyczek Telegram, Discord, iMessage i fakechat
- Continue local sessions from any device with Remote Control - Claude Code Docs
Więcej materiałów na temat pracy z narzędziami znajdziesz w dokumentacji Ailoot.
Więcej szczegółów
Pytania i odpowiedzi
Dlaczego bot Telegram działa ręcznie, a nie jako usługa?
Porównaj użytkownika Unix, HOME, obszar roboczy, ścieżkę Claude, PATH Bun i środowisko uwierzytelniania usługi z udaną sesją interaktywną. Instaluj, konfiguruj i paruj jako ten sam użytkownik usługi; stan root jest inną konfiguracją.
Czy klucz Console API może zastąpić logowanie Pro lub Max dla Channels?
Tak. Uwierzytelnianie kluczem API Anthropic Console jest obsługiwane i korzysta z rozliczeń API Console. Sprawdź wymagane ustawienia kanałów organizacji oraz zakończ konfigurację tokenu, parowanie i listę nadawców pod kontem uruchamiającym sesję.