Dorong acara ke dalam sesi yang sedang berjalan dengan channels
Gunakan channels untuk mendorong pesan, peringatan, dan webhooks ke dalam sesi Claude Code Anda dari server MCP. Teruskan hasil CI, pesan obrolan, dan acara pemantauan sehingga Claude dapat bereaksi saat Anda tidak ada.
Channels berada dalam research preview. Mereka memerlukan autentikasi Anthropic melalui claude.ai atau kunci API Console, dan tidak tersedia di Amazon Bedrock, Google Cloud's Agent Platform, atau Microsoft Foundry. Organisasi Tim dan Enterprise harus secara eksplisit mengaktifkannya.
Sebuah channel adalah server MCP yang mendorong acara ke dalam sesi Claude Code yang sedang berjalan, sehingga Claude dapat bereaksi terhadap hal-hal yang terjadi saat Anda tidak berada di terminal. Channels dapat dua arah: Claude membaca acara dan membalas kembali melalui channel yang sama, seperti jembatan obrolan. Acara hanya tiba saat sesi terbuka, jadi untuk pengaturan yang selalu aktif Anda menjalankan Claude dalam proses latar belakang atau terminal persisten.
Tidak seperti integrasi yang menjalankan sesi cloud baru atau menunggu untuk diambil, acara tiba dalam sesi yang sudah Anda buka: lihat bagaimana channels dibandingkan.
Anda menginstal channel sebagai plugin dan mengonfigurasinya dengan kredensial Anda sendiri. Telegram, Discord, dan iMessage disertakan dalam research preview.
Ketika Claude membalas melalui channel, Anda melihat pesan masuk di terminal Anda tetapi bukan teks balasan. Terminal menampilkan panggilan tool dan konfirmasi (seperti "terkirim"), dan balasan sebenarnya muncul di platform lain.
Jika Anda mengelola organisasi Tim, Enterprise, atau Console, lihat Aktifkan channels untuk organisasi Anda. Untuk membangun channel Anda sendiri, lihat referensi Channels.
Saluran yang Didukung
Setiap saluran yang didukung adalah plugin yang memerlukan Bun. Untuk demo langsung dari alur plugin sebelum menghubungkan platform nyata, coba quickstart fakechat.
Lihat sumber plugin Telegram lengkap.
Buat bot Telegram
Buka BotFather di Telegram dan kirim /newbot. Berikan nama tampilan dan nama pengguna unik yang diakhiri dengan bot. Salin token yang dikembalikan BotFather.
Instal plugin
Di Claude Code, jalankan:
/plugin install telegram@claude-plugins-official
Jika instalasi gagal, cocokkan pesan yang dilaporkan Claude Code:
Marketplace "claude-plugins-official" not found: tambahkan pasar dengan/plugin marketplace add anthropics/claude-plugins-official, kemudian coba instal lagi.- Plugin tidak ditemukan di pasar: periksa nama plugin.
Ketika instalasi meminta cakupan instalasi, pilih opsi cakupan pengguna sehingga plugin tersedia di semua proyek Anda. Periksa ringkasan instalasi: jika melaporkan Run /reload-plugins to activate., lihat Terapkan perubahan plugin tanpa memulai ulang untuk membuat perintah konfigurasi plugin tersedia.
Konfigurasikan token Anda
Jalankan perintah konfigurasi dengan token dari BotFather:
/telegram:configure <token>
Ini menyimpannya ke ~/.claude/channels/telegram/.env. Anda juga dapat mengatur TELEGRAM_BOT_TOKEN di lingkungan shell Anda sebelum meluncurkan Claude Code.
Mulai ulang dengan channels diaktifkan
Keluar dari Claude Code dan mulai ulang dengan bendera channel. Ini memulai plugin Telegram, yang mulai polling untuk pesan dari bot Anda:
claude --channels plugin:telegram@claude-plugins-official
Pasangkan akun Anda
Buka Telegram dan kirim pesan apa pun ke bot Anda. Bot membalas dengan kode pemasangan.
Jika bot Anda tidak merespons, pastikan Claude Code berjalan dengan --channels dari langkah sebelumnya. Bot hanya dapat membalas saat channel aktif.
Kembali di Claude Code, jalankan:
/telegram:access pair <code>
Kemudian kunci akses sehingga hanya akun Anda yang dapat mengirim pesan:
/telegram:access policy allowlist
Lihat sumber plugin Discord lengkap.
Buat bot Discord
Buka Portal Pengembang Discord, klik Aplikasi Baru, dan beri nama. Di bagian Bot, buat nama pengguna, kemudian klik Reset Token dan salin token.
Aktifkan Message Content Intent
Di pengaturan bot Anda, gulir ke Privileged Gateway Intents dan aktifkan Message Content Intent.
Undang bot ke server Anda
Buka OAuth2 > URL Generator. Pilih cakupan bot dan aktifkan izin ini:
- View Channels
- Send Messages
- Send Messages in Threads
- Read Message History
- Attach Files
- Add Reactions
Buka URL yang dihasilkan untuk menambahkan bot ke server Anda.
Instal plugin
Di Claude Code, jalankan:
/plugin install discord@claude-plugins-official
Jika instalasi gagal, cocokkan pesan yang dilaporkan Claude Code:
Marketplace "claude-plugins-official" not found: tambahkan pasar dengan/plugin marketplace add anthropics/claude-plugins-official, kemudian coba instal lagi.- Plugin tidak ditemukan di pasar: periksa nama plugin.
Ketika instalasi meminta cakupan instalasi, pilih opsi cakupan pengguna sehingga plugin tersedia di semua proyek Anda. Periksa ringkasan instalasi: jika melaporkan Run /reload-plugins to activate., lihat Terapkan perubahan plugin tanpa memulai ulang untuk membuat perintah konfigurasi plugin tersedia.
Konfigurasikan token Anda
Jalankan perintah konfigurasi dengan token bot yang Anda salin:
/discord:configure <token>
Ini menyimpannya ke ~/.claude/channels/discord/.env. Anda juga dapat mengatur DISCORD_BOT_TOKEN di lingkungan shell Anda sebelum meluncurkan Claude Code.
Mulai ulang dengan channels diaktifkan
Keluar dari Claude Code dan mulai ulang dengan bendera channel. Ini menghubungkan plugin Discord sehingga bot Anda dapat menerima dan merespons pesan:
claude --channels plugin:discord@claude-plugins-official
Pasangkan akun Anda
DM bot Anda di Discord. Bot membalas dengan kode pemasangan.
Jika bot Anda tidak merespons, pastikan Claude Code berjalan dengan --channels dari langkah sebelumnya. Bot hanya dapat membalas saat channel aktif.
Kembali di Claude Code, jalankan:
/discord:access pair <code>
Kemudian kunci akses sehingga hanya akun Anda yang dapat mengirim pesan:
/discord:access policy allowlist
Lihat sumber plugin iMessage lengkap.
Saluran iMessage membaca database Pesan Anda secara langsung dan mengirim balasan melalui AppleScript. Ini memerlukan macOS dan tidak memerlukan token bot atau layanan eksternal.
Berikan Akses Disk Penuh
Database Pesan di ~/Library/Messages/chat.db dilindungi oleh macOS. Pertama kali server membacanya, macOS meminta akses: klik Izinkan. Prompt menamai aplikasi apa pun yang meluncurkan Bun, seperti Terminal, iTerm, atau IDE Anda.
Jika prompt tidak muncul atau Anda mengklik Jangan Izinkan, berikan akses secara manual di bawah Pengaturan Sistem > Privasi & Keamanan > Akses Disk Penuh dan tambahkan terminal Anda. Tanpa ini, server keluar segera dengan authorization denied.
Instal plugin
Di Claude Code, jalankan:
/plugin install imessage@claude-plugins-official
Jika instalasi gagal, cocokkan pesan yang dilaporkan Claude Code:
Marketplace "claude-plugins-official" not found: tambahkan pasar dengan/plugin marketplace add anthropics/claude-plugins-official, kemudian coba instal lagi.- Plugin tidak ditemukan di pasar: periksa nama plugin.
Ketika instalasi meminta cakupan instalasi, pilih opsi cakupan pengguna sehingga plugin tersedia di semua proyek Anda. Jika ringkasan instalasi melaporkan Run /reload-plugins to activate., Anda dapat melewatkan itu di sini, karena memulai ulang di langkah berikutnya mengambil plugin.
Mulai ulang dengan channels diaktifkan
Keluar dari Claude Code dan mulai ulang dengan bendera channel:
claude --channels plugin:imessage@claude-plugins-official
Kirim pesan ke diri sendiri
Buka Pesan di perangkat apa pun yang masuk ke Apple ID Anda dan kirim pesan ke diri sendiri. Ini mencapai Claude segera: obrolan mandiri melewati kontrol akses tanpa pengaturan.
Balasan pertama yang Claude kirim memicu prompt Otomasi macOS yang menanyakan apakah terminal Anda dapat mengontrol Pesan. Klik OK.
Izinkan pengirim lain
Secara default, hanya pesan Anda sendiri yang melewati. Untuk membiarkan kontak lain mencapai Claude, tambahkan handle mereka:
/imessage:access allow +15551234567
Handle adalah nomor telepon dalam format +country atau email Apple ID seperti user@example.com.
Quickstart
Fakechat adalah channel demo yang didukung secara resmi yang menjalankan UI obrolan di localhost, tanpa apa pun untuk diautentikasi dan tidak ada layanan eksternal untuk dikonfigurasi.
Setelah Anda menginstal dan mengaktifkan fakechat, Anda dapat mengetik di browser dan pesan tiba di sesi Claude Code Anda. Claude membalas, dan balasan muncul kembali di browser. Setelah Anda menguji antarmuka fakechat, coba Telegram, Discord, atau iMessage.
Untuk mencoba demo fakechat, Anda memerlukan:
- Claude Code diinstal dan diautentikasi dengan akun claude.ai atau kunci API Console Claude
- Bun diinstal. Plugin channel yang sudah dibangun sebelumnya adalah skrip Bun. Periksa dengan
bun --version; jika itu gagal, instal Bun. - Organisasi Tim, Enterprise, atau Console terkelola: admin Anda harus mengaktifkan channels dalam pengaturan terkelola
Instal plugin channel fakechat
Mulai sesi Claude Code dan jalankan perintah instal:
/plugin install fakechat@claude-plugins-official
Jika instalasi gagal, cocokkan pesan yang dilaporkan Claude Code:
Marketplace "claude-plugins-official" not found: tambahkan marketplace dengan/plugin marketplace add anthropics/claude-plugins-official, kemudian coba instal lagi.- Plugin tidak ditemukan di marketplace: periksa nama plugin.
Ketika instalasi meminta scope instalasi, pilih opsi user scope sehingga plugin tersedia di semua proyek Anda. Jika ringkasan instalasi melaporkan Run /reload-plugins to activate., Anda dapat melewatkan itu di sini, karena restart di langkah berikutnya mengambil plugin.
Mulai ulang dengan channel diaktifkan
Keluar dari Claude Code, kemudian mulai ulang dengan --channels dan teruskan plugin fakechat yang Anda instal:
claude --channels plugin:fakechat@claude-plugins-official
Server fakechat dimulai secara otomatis. Layar startup menampilkan pemberitahuan channels yang menyatakan bahwa pesan dari plugin:fakechat@claude-plugins-official disuntikkan langsung dalam sesi ini. Jika plugin tidak diinstal atau tidak ada di daftar persetujuan, baris peringatan yang menyebutkan masalah muncul di bawah pemberitahuan itu.
Anda dapat melewatkan beberapa plugin ke --channels, dipisahkan dengan spasi.
Dorong pesan masuk
Buka UI fakechat di http://localhost:8787 dan ketik pesan:
what's in my working directory?
Pesan tiba di sesi Claude Code Anda. Terminal menampilkannya sebagai baris channel masuk seperti ← fakechat · web: what's in my working directory?, sementara model menerimanya sebagai acara <channel source="plugin:fakechat:fakechat">, menggunakan nama server yang dibatasi plugin. Claude membacanya, melakukan pekerjaan, dan memanggil tool reply fakechat. Jika Claude Code meminta izin untuk balasan pertama, setujui itu. Jawabannya muncul di UI obrolan.
Jika Claude mengalami prompt izin saat Anda jauh dari terminal, sesi dijeda sampai Anda merespons. Server channel yang mendeklarasikan kemampuan relai izin dapat meneruskan prompt ini kepada Anda sehingga Anda dapat menyetujui atau menolak dari jarak jauh. Untuk penggunaan tanpa pengawasan, --dangerously-skip-permissions melewati sebagian besar prompt, tetapi hanya gunakan di lingkungan yang Anda percayai. Bahkan kemudian, actions no mode auto-approves masih berlaku.
Ketika Anda menjalankan channels dalam mode non-interaktif dengan -p, tool yang memerlukan input terminal, seperti pertanyaan pilihan ganda dan persetujuan plan mode, dinonaktifkan sehingga sesi tidak pernah macet menunggu input.
Security
Setiap plugin channel yang disetujui mempertahankan daftar penyetujuan pengirim: hanya ID yang telah Anda tambahkan yang dapat mendorong pesan, dan semua orang lain diam-diam dijatuhkan.
Telegram dan Discord mem-bootstrap daftar dengan memasangkan:
- Temukan bot Anda di Telegram atau Discord dan kirim pesan apa pun
- Bot membalas dengan kode pemasangan
- Di sesi Claude Code Anda, setujui kode saat diminta
- ID pengirim Anda ditambahkan ke daftar penyetujuan
iMessage bekerja berbeda: mengirim pesan ke diri sendiri melewati gerbang secara otomatis, dan Anda menambahkan kontak lain berdasarkan handle dengan /imessage:access allow.
Di atas itu, Anda mengontrol server mana yang diaktifkan setiap sesi dengan --channels, dan organisasi Anda mengontrol ketersediaan dengan channelsEnabled pada paket Tim dan Enterprise claude.ai dan pada organisasi Console yang menerapkan pengaturan terkelola.
Berada di .mcp.json tidak cukup untuk mendorong pesan: server juga harus dinamai dalam --channels.
Daftar penyetujuan juga membatasi relai izin jika channel mendeklarasikannya. Siapa pun yang dapat membalas melalui channel dapat menyetujui atau menolak penggunaan tool dalam sesi Anda, jadi hanya daftar penyetujuan pengirim yang Anda percayai dengan otoritas itu.
Enterprise controls
Admin mengontrol ketersediaan melalui dua pengaturan terkelola yang tidak dapat ditimpa pengguna. Default tergantung pada cara Anda diautentikasi:
- claude.ai Tim dan Enterprise: channels diblokir sampai Owner mengaktifkannya.
- Anthropic Console dengan autentikasi kunci API: channels diizinkan secara default. Anda hanya memerlukan pengaturan ini jika organisasi Anda menerapkan pengaturan terkelola.
Dalam semua kasus, tidak ada channel yang berjalan sampai pengguna memilihnya untuk sesi dengan --channels.
| Pengaturan | Tujuan | Ketika tidak dikonfigurasi |
|---|---|---|
channelsEnabled |
Master switch. Harus true agar channel apa pun dapat mengirimkan pesan. Memblokir semua channels termasuk bendera pengembangan saat dimatikan. Lihat Aktifkan channels untuk organisasi Anda. |
claude.ai Tim dan Enterprise: channels diblokir. Console: channels diizinkan kecuali organisasi Anda menerapkan pengaturan terkelola, dalam hal ini channels diblokir sampai kunci ini diatur |
allowedChannelPlugins |
Plugin mana yang dapat mendaftar setelah channels diaktifkan. Menggantikan daftar yang dipertahankan Anthropic saat diatur. | Daftar default Anthropic berlaku |
Pengguna Pro dan Max tanpa organisasi melewati pemeriksaan ini sepenuhnya: channels tersedia dan pengguna memilih per sesi dengan --channels.
Aktifkan channels untuk organisasi Anda
Aktifkan channels untuk organisasi Anda dari claude.ai → Admin settings → Claude Code → Channels, yang memerlukan peran Owner, atau dengan mengatur channelsEnabled ke true dalam pengaturan terkelola.
Setelah diaktifkan, pengguna di organisasi Anda dapat menggunakan --channels untuk memilih server channel ke sesi individual. Jika pengaturan dinonaktifkan atau tidak diatur, server MCP masih terhubung dan alatnya berfungsi, tetapi pesan channel tidak akan tiba. Peringatan startup memberi tahu pengguna untuk meminta admin mengaktifkan pengaturan.
Batasi plugin channel mana yang dapat berjalan
Secara default, plugin apa pun di daftar penyetujuan yang dipertahankan Anthropic dapat mendaftar sebagai channel. Admin pada paket Tim dan Enterprise dapat menggantikan daftar penyetujuan itu dengan milik mereka sendiri dengan mengatur allowedChannelPlugins dalam pengaturan terkelola. Gunakan ini untuk membatasi plugin resmi mana yang diizinkan, menyetujui channels dari marketplace internal Anda, atau keduanya. Setiap entri menamai plugin dan marketplace tempat asalnya:
{
"channelsEnabled": true,
"allowedChannelPlugins": [
{ "marketplace": "claude-plugins-official", "plugin": "telegram" },
{ "marketplace": "claude-plugins-official", "plugin": "discord" },
{ "marketplace": "acme-corp-plugins", "plugin": "internal-alerts" }
]
}
Jika Anda mengatur array kosong, Anda memblokir semua plugin channel dari daftar penyetujuan, tetapi --dangerously-load-development-channels masih dapat melewatinya untuk pengujian lokal. Untuk memblokir channels sepenuhnya termasuk bendera pengembangan, biarkan channelsEnabled tidak diatur sebagai gantinya.
Pengaturan ini memerlukan channelsEnabled: true. Jika pengguna melewatkan plugin ke --channels yang tidak ada di daftar Anda, Claude Code dimulai secara normal tetapi channel tidak mendaftar, dan pemberitahuan startup menjelaskan bahwa plugin tidak ada di daftar yang disetujui organisasi. Jika Anda mengatur MCP_PROTOCOL_NEGOTIATION ke auto pada runtime klien MCP v2, channel juga dapat gagal mendaftar karena Claude Code tidak mendaftarkan server channel yang menegosiasikan revisi protokol 2026-07-28.
Research preview
Channels adalah fitur research preview. Ketersediaan sedang diluncurkan secara bertahap, dan sintaks bendera --channels serta kontrak protokol dapat berubah berdasarkan umpan balik.
Baik --channels maupun --dangerously-load-development-channels tidak muncul di claude --help saat fitur masih dalam pratinjau. Bendera tersebut berfungsi meskipun tidak terdaftar.
Selama pratinjau, --channels hanya menerima plugin dari daftar penyetujuan yang dipertahankan Anthropic, atau dari daftar penyetujuan organisasi Anda jika admin telah mengatur allowedChannelPlugins. Plugin channel di claude-plugins-official adalah set yang disetujui secara default. Jika Anda melewatkan sesuatu yang tidak ada di daftar penyetujuan yang efektif, Claude Code dimulai secara normal tetapi channel tidak mendaftar, dan pemberitahuan startup memberi tahu Anda mengapa.
Untuk menguji channel yang Anda bangun, gunakan --dangerously-load-development-channels. Lihat Test during the research preview untuk informasi tentang menguji channels khusus yang Anda bangun.
Laporkan masalah atau umpan balik di repositori GitHub Claude Code.
Perbandingan channel
Beberapa fitur Claude Code terhubung ke sistem di luar terminal, masing-masing cocok untuk jenis pekerjaan yang berbeda:
| Fitur | Apa yang dilakukannya | Bagus untuk |
|---|---|---|
| Cloud sessions | Menjalankan tugas dalam sandbox cloud baru, diklon dari GitHub | Mendelegasikan pekerjaan async yang mandiri yang Anda periksa nanti |
| Claude in Slack | Menjalankan sesi cloud dari penyebutan @Claude di channel atau thread |
Memulai tugas langsung dari konteks percakapan tim |
| Standard MCP server | Claude menanyainya selama tugas; tidak ada yang didorong ke sesi | Memberi Claude akses on-demand untuk membaca atau menanyakan sistem |
| Remote Control | Anda mengemudi sesi lokal Anda dari claude.ai atau aplikasi Claude mobile | Mengarahkan sesi yang sedang berlangsung saat jauh dari meja Anda |
Channels mengisi celah dalam daftar itu dengan mendorong acara dari sumber non-Claude ke dalam sesi lokal Anda yang sudah berjalan.
- Chat bridge: tanyakan sesuatu kepada Claude dari ponsel Anda melalui Telegram, Discord, atau iMessage, dan jawabannya kembali dalam obrolan yang sama saat pekerjaan berjalan di mesin Anda terhadap file nyata Anda.
- Webhook receiver: webhook dari CI, pelacak kesalahan Anda, pipeline deploy, atau layanan eksternal lainnya tiba di mana Claude sudah memiliki file Anda terbuka dan mengingat apa yang Anda debug.
Langkah selanjutnya
Setelah Anda memiliki channel yang berjalan, jelajahi fitur terkait ini:
- Build your own channel untuk sistem yang belum memiliki plugins
- Remote Control untuk mengemudi sesi lokal dari ponsel Anda alih-alih meneruskan acara ke dalamnya
- Scheduled tasks untuk polling pada timer alih-alih bereaksi terhadap acara yang didorong