claude-code-notifier
hoe het werkt guides veelgestelde vragen
◐Nederlands
English العربية Deutsch Español Français עברית Italiano 日本語 한국어 Nederlands Polski Português (Brasil) Русский Türkçe Tiếng Việt 简体中文 繁體中文
Aan de slag
Alle gidsen

Claude Code-meldingen naar Telegram, Slack of Discord sturen

Bijgewerkt op 31 oktober 2026 · 7 min lezen
op deze pagina 01Voordat je begint: het bericht en het geheim 02Telegram: een bot die je berichten stuurt 03Slack: een incoming webhook 04Discord: een kanaalwebhook 05Het hookscript (Mac en Linux) 06Voeg de hooks toe 07Windows (PowerShell) 08Goed om te weten over chatapps als notifier 09Waar Claude Code Notifier in past 10FAQ

Om meldingen van Claude Code naar Telegram, Slack of Discord te sturen, maak je in die app een bot of een incoming webhook aan en voeg je een Claude Code-hook toe die er met curl een kort bericht naartoe stuurt. Een Notification-hook dekt "Claude heeft je toestemming nodig" en "Claude wacht op je", en een Stop-hook dekt "Claude is klaar". Voor Telegram heb je een bottoken en je chat-ID nodig, voor Slack en Discord alleen een webhook-URL. Hetzelfde script werkt op Mac en Linux, en een korte PowerShell-versie dekt Windows.

01Voordat je begint: het bericht en het geheim

Elke hook krijgt JSON binnen via standard input. De nuttige velden zijn hook_event_name, cwd (de projectmap), message bij Notification-events en last_assistant_message bij Stop-events. De voorbeelden hieronder maken daar één regel van, zoals Claude needs you in my-app: Claude needs your permission to use Bash.

Bottokens en webhook-URL's zijn wachtwoorden: wie er een heeft, kan berichten plaatsen als jouw bot. De documentatie van Slack zegt duidelijk dat je webhook-URL's niet moet delen of in versiebeheer moet committen. Bewaar ze in een apart bestand dat alleen jij kunt lezen:

mkdir -p ~/.claude
touch ~/.claude/chat-notify.env
chmod 600 ~/.claude/chat-notify.env

02Telegram: een bot die je berichten stuurt

  1. Open in Telegram een chat met @BotFather, stuur /newbot en volg de stappen. Je krijgt een token terug zoals 123456789:AA....
  2. Open een chat met je nieuwe bot en stuur hem een willekeurig bericht, zodat hij jou terug mag berichten.
  3. Zoek je chat-ID op. Open deze URL met je token en zoek naar "chat":{"id": in het antwoord:
curl "https://api.telegram.org/bot<TOKEN>/getUpdates"
  1. Zet beide waarden in ~/.claude/chat-notify.env:
SERVICE=telegram
TELEGRAM_TOKEN=123456789:AA...
TELEGRAM_CHAT_ID=987654321

De sendMessage-methode van Telegram neemt chat_id en text (1 tot 4.096 tekens). Hij accepteert ook disable_notification=true, waarmee het bericht zonder geluid binnenkomt. Het script gebruikt dat voor "klaar"-berichten en houdt het geluid aan voor toestemmingsverzoeken.

03Slack: een incoming webhook

  1. Maak een Slack-app aan op api.slack.com/apps (of open een bestaande).
  2. Zet onder Incoming Webhooks de optie Activate Incoming Webhooks aan.
  3. Klik op Add New Webhook to Workspace, kies een kanaal en selecteer Authorize.
  4. Kopieer de URL die begint met https://hooks.slack.com/services/.
SERVICE=slack
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/T000/B000/XXXX

Elke webhook post naar één kanaal, dat je kiest bij het aanmaken, en je kunt de naam of het icoon niet per bericht aanpassen. Een klein privékanaal voor jezelf werkt het best, zodat de melding niet ondersneeuwt in een druk kanaal.

04Discord: een kanaalwebhook

  1. Open in je server Server Settings, dan Integrations en dan Webhooks.
  2. Maak een webhook aan, kies het kanaal en kopieer de URL.
SERVICE=discord
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/1234/abcd

Het execute-webhook-endpoint van Discord verwacht een JSON-body met content (maximaal 2.000 tekens) en optioneel username om de naam van de webhook te overschrijven.

05Het hookscript (Mac en Linux)

Sla dit op als ~/.claude/chat-notify.sh en voer chmod +x ~/.claude/chat-notify.sh uit. Je hebt curl en jq nodig (brew install jq of apt install jq).

#!/bin/sh
. "$HOME/.claude/chat-notify.env"

input=$(cat)
event=$(printf '%s' "$input" | jq -r '.hook_event_name')
project=$(basename "$(printf '%s' "$input" | jq -r '.cwd')")

if [ "$event" = "Stop" ]; then
  detail=$(printf '%s' "$input" | jq -r '(.last_assistant_message // "") | .[0:300]')
  text="Claude finished in $project. $detail"
  quiet=true
else
  detail=$(printf '%s' "$input" | jq -r '.message // "Needs your attention"')
  text="Claude needs you in $project: $detail"
  quiet=false
fi

case "$SERVICE" in
  telegram)
    curl -s "https://api.telegram.org/bot$TELEGRAM_TOKEN/sendMessage" \
      --data-urlencode "chat_id=$TELEGRAM_CHAT_ID" \
      --data-urlencode "text=$text" \
      --data-urlencode "disable_notification=$quiet" > /dev/null ;;
  slack)
    jq -n --arg t "$text" '{text: $t}' | curl -s -X POST \
      -H 'Content-Type: application/json' --data @- "$SLACK_WEBHOOK_URL" > /dev/null ;;
  discord)
    jq -n --arg t "$text" '{content: $t, username: "Claude Code"}' | curl -s -X POST \
      -H 'Content-Type: application/json' --data @- "$DISCORD_WEBHOOK_URL" > /dev/null ;;
esac
exit 0

De JSON opbouwen met jq -n --arg is belangrijk: de antwoorden van Claude bevatten aanhalingstekens, backslashes en regeleinden, en als je die met de hand in een JSON-string plakt, breekt het request.

Test het voordat je het koppelt:

echo '{"hook_event_name":"Notification","cwd":"/tmp/demo","message":"Test"}' | ~/.claude/chat-notify.sh

06Voeg de hooks toe

In ~/.claude/settings.json, binnen het bestaande hooks-object als dat er al is:

{
  "hooks": {
    "Notification": [
      {
        "matcher": "permission_prompt|idle_prompt",
        "hooks": [{ "type": "command", "command": "~/.claude/chat-notify.sh" }]
      }
    ],
    "Stop": [
      {
        "hooks": [{ "type": "command", "command": "~/.claude/chat-notify.sh", "async": true }]
      }
    ]
  }
}

Start een nieuwe Claude Code-sessie zodat de hooks geladen worden. idle_prompt en Stop overlappen: Stop gaat af zodra Claude klaar is, en idle_prompt zo'n minuut later als je niets hebt getypt. Houd ze allebei, of laat er een weg; de ntfy-gids legt de afweging uit.

07Windows (PowerShell)

Sla op als %USERPROFILE%\.claude\chat-notify.ps1. Deze versie post naar Discord; verander voor Slack de body in @{ text = $text } en pas de URL aan.

$url = 'https://discord.com/api/webhooks/1234/abcd'
$in = [Console]::In.ReadToEnd() | ConvertFrom-Json
$project = Split-Path $in.cwd -Leaf

if ($in.hook_event_name -eq 'Stop') { $text = "Claude finished in $project." }
else { $text = "Claude needs you in ${project}: $($in.message)" }

$json = @{ content = $text; username = 'Claude Code' } | ConvertTo-Json
Invoke-RestMethod -Method Post -Uri $url -ContentType 'application/json; charset=utf-8' `
  -Body ([Text.Encoding]::UTF8.GetBytes($json)) | Out-Null

Hook-entry:

{
  "type": "command",
  "shell": "powershell",
  "command": "powershell -NoProfile -ExecutionPolicy Bypass -File \"$HOME\\.claude\\chat-notify.ps1\""
}

Gebruik binnen WSL het script voor Mac en Linux.

08Goed om te weten over chatapps als notifier

  • Wat je verstuurt, verlaat je computer. Het "klaar"-bericht bevat het begin van het antwoord van Claude. In een gedeeld Slack- of Discord-kanaal kan iedereen dat lezen. Laat $detail weg als je code privé is.
  • Chatapps bundelen en dempen. Een drukke workspace of een gedempte server kan de melding verbergen. Een speciale push-app zoals ntfy (zie de ntfy-gids) raakt minder snel iets kwijt.
  • Hooks weten niet of je achter je bureau zit. Stop post elke keer. idle_prompt en permission_prompt komen het dichtst bij een ingebouwd "afwezig"-filter.

09Waar Claude Code Notifier in past

Een webhook is een prima manier om bij te houden wat Claude heeft gedaan, en voor een team kan het precies het juiste middel zijn. Voor iemand die op de melding wil reageren, schiet het tekort: je leest dat Claude toestemming nodig heeft en loopt dan terug naar de terminal om die te geven. Een Telegram-bot kan in principe antwoorden ontvangen, maar dan moet je zelf de hook schrijven die erop wacht en een beslissing teruggeeft.

Claude Code Notifier regelt dat deel. Met een gekoppelde telefoon sta je een toestemmingsverzoek eenmalig of voor de hele sessie toe of weiger je het, beantwoord je de meerkeuzevragen van Claude en stuur je een vervolginstructie als Claude klaar is, allemaal vanaf je telefoon. Heb je in de laatste 30 seconden getypt, dan vraagt de terminal het gewoon en wacht er niets op je telefoon. Het is onafhankelijk, niet gemaakt door Anthropic, en ccn draait op Mac, Windows en Linux. Bekijk hoe het zich verhoudt tot alternatieven, de ccn-pagina en de prijzen.

10FAQ

Kan Claude Code zonder script naar Slack posten?

Claude Code heeft http-hooks die de JSON van de hook naar een URL POSTen, maar webhooks van Slack en Discord verwachten hun eigen body-formaat (text of content), dus een directe http-hook naar die diensten werkt niet. Je hebt een klein script of een relay ertussen nodig.

Hoe vind ik mijn Telegram-chat-ID?

Stuur je bot een bericht en open dan https://api.telegram.org/bot<TOKEN>/getUpdates. Het getal na "chat":{"id": is je chat-ID. Voor een groep voeg je de bot eerst aan de groep toe en stuur je daar een bericht.

Kun je Claude Code beantwoorden vanuit Slack of Discord?

Niet met een incoming webhook, want die kan alleen berichten plaatsen. Om te antwoorden heb je een hook nodig die op je reactie wacht en een beslissing teruggeeft, en daar zijn remote-approval-tools juist voor gemaakt.

Maakt de hook Claude Code trager?

De Stop-entry gebruikt "async": true, dus die verstuurt op de achtergrond. Notification-hooks draaien al naast Claude zonder het te blokkeren.

Claude Code Notifier Krijg een push op je telefoon als Claude Code klaar is of je nodig heeft, en keur goed, wijs af of geef antwoord vanaf daar. De command line tool ccn is gratis op Mac, Windows en Linux.
Download voor iOS Download voor Android ccn installeren

Gerelateerde gidsen

  • Claude Code-pushmeldingen met ntfy (zelf instellen)Stuur Claude Code-meldingen naar je telefoon met ntfy: een hook-script voor Mac, Windows en Linux, de regels voor settings.json, en hoe je het topic privé houdt.
  • Alle manieren om Claude Code-meldingen te krijgen, vergelekenIngebouwde meldingen, je eigen hooks, ntfy en chatwebhooks, Remote Control van Anthropic en notifier-apps: wat ze wel en niet kunnen.
  • De Claude Code Notification hook: wanneer hij afgaat en hoe je hem gebruiktWanneer de Notification hook van Claude Code afgaat, wat permission_prompt en idle_prompt betekenen, welke input hij krijgt en waarom hij even wacht.
claude-code-notifier

Claude Code Notifier is een onafhankelijke applicatie van een derde partij. Zij is niet gelieerd aan, onderschreven door of gesponsord door Anthropic, PBC. "Claude" en "Claude Code" zijn handelsmerken van Anthropic, PBC.

apps iOS-app Android-app ccn voor macOS, Windows & Linux Alle gidsen
juridisch Privacybeleid Servicevoorwaarden Andere talen © 2026 touchtap. Alle rechten voorbehouden. TouchTap Ltd is geregistreerd in Engeland en Wales, bedrijfsnummer 13942589.