claude-code-notifier
איך זה עובד מדריכים שאלות נפוצות
◐עברית
English العربية Deutsch Español Français עברית Italiano 日本語 한국어 Nederlands Polski Português (Brasil) Русский Türkçe Tiếng Việt 简体中文 繁體中文
התחלה
כל המדריכים

שליחת התראות של Claude Code ל-Telegram, ‏Slack או Discord

עודכן ב-31 באוקטובר 2026 · 7 דקות קריאה
בעמוד זה 01לפני שמתחילים: ההודעה והסוד 02Telegram: bot ששולח לך הודעות 03Slack: ‏incoming webhook 04Discord: ‏webhook לערוץ 05סקריפט ה-hook ‏(Mac ו-Linux) 06הוספת ה-hooks 07Windows ‏(PowerShell) 08מה כדאי לדעת על אפליקציות צ'אט בתור כלי התראות 09איפה Claude Code Notifier נכנס לתמונה 10שאלות נפוצות

כדי לשלוח התראות של Claude Code ל-Telegram, ל-Slack או ל-Discord, יוצרים באפליקציה bot או incoming webhook, ואז מוסיפים hook של Claude Code ששולח אליו הודעה קצרה עם curl. hook מסוג Notification מכסה את "Claude צריך הרשאה" ו-"Claude ממתין", ו-hook מסוג Stop מכסה את "Claude סיים". ב-Telegram צריך bot token ו-chat ID, וב-Slack וב-Discord מספיק webhook URL. אותו סקריפט עובד ב-Mac וב-Linux, וגרסת PowerShell קצרה מכסה את Windows.

01לפני שמתחילים: ההודעה והסוד

כל hook מקבל JSON בקלט הסטנדרטי. השדות השימושיים הם hook_event_name, ‏cwd (תיקיית הפרויקט), ‏message באירועי Notification, ו-last_assistant_message באירועי Stop. הדוגמאות שלמטה הופכות אותם לשורה אחת, למשל Claude needs you in my-app: Claude needs your permission to use Bash.

bot tokens ו-webhook URLs הם בעצם סיסמאות: כל מי שמחזיק אחד יכול לפרסם בשם ה-bot שלך. התיעוד של Slack אומר במפורש לא לשתף webhook URLs ולא לעשות להם commit ל-version control. כדאי לשמור אותם בקובץ נפרד שרק לך יש הרשאת קריאה אליו:

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

02Telegram: bot ששולח לך הודעות

  1. ב-Telegram, פותחים צ'אט עם @BotFather, שולחים /newbot ועוקבים אחרי ההוראות. בתשובה מקבלים token כמו 123456789:AA....
  2. פותחים צ'אט עם ה-bot החדש ושולחים לו הודעה כלשהי, כדי שיהיה לו מותר לשלוח לך הודעות בחזרה.
  3. מוצאים את ה-chat ID: נכנסים לכתובת הזו עם ה-token שלך ומחפשים בתשובה את "chat":{"id"::
curl "https://api.telegram.org/bot<TOKEN>/getUpdates"
  1. שמים את שני הערכים ב-~/.claude/chat-notify.env:
SERVICE=telegram
TELEGRAM_TOKEN=123456789:AA...
TELEGRAM_CHAT_ID=987654321

המתודה sendMessage של Telegram מקבלת chat_id ו-text (בין 1 ל-4,096 תווים). היא מקבלת גם disable_notification=true, שמעביר את ההודעה בלי צליל. הסקריפט משתמש בזה להודעות "סיים" ומשאיר צליל לבקשות הרשאה.

03Slack: ‏incoming webhook

  1. יוצרים אפליקציית Slack ב-api.slack.com/apps (או פותחים אפליקציה קיימת).
  2. תחת Incoming Webhooks, מפעילים את Activate Incoming Webhooks.
  3. לוחצים על Add New Webhook to Workspace, בוחרים ערוץ ולוחצים על Authorize.
  4. מעתיקים את ה-URL שמתחיל ב-https://hooks.slack.com/services/.
SERVICE=slack
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/T000/B000/XXXX

כל webhook מפרסם לערוץ אחד, שנבחר כשיוצרים אותו, ואי אפשר לשנות את השם או האייקון בכל הודעה. הכי טוב לעבוד עם ערוץ פרטי קטן משלך, כדי שההתראה לא תיקבר בערוץ עמוס.

04Discord: ‏webhook לערוץ

  1. בשרת שלך, פותחים Server Settings, אחר כך Integrations, ואז Webhooks.
  2. יוצרים webhook, בוחרים את הערוץ ומעתיקים את ה-URL שלו.
SERVICE=discord
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/1234/abcd

ה-endpoint ‏execute-webhook של Discord מקבל גוף JSON עם content (עד 2,000 תווים) ו-username אופציונלי שדורס את שם ה-webhook.

05סקריפט ה-hook ‏(Mac ו-Linux)

שומרים את זה בתור ~/.claude/chat-notify.sh ומריצים chmod +x ~/.claude/chat-notify.sh. נדרשים curl ו-jq (brew install jq, או 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

חשוב לבנות את ה-JSON עם jq -n --arg: התשובות של Claude מכילות מירכאות, backslashes ושורות חדשות, והדבקה ידנית שלהן למחרוזת JSON שוברת את הבקשה.

בודקים את הסקריפט לפני שמחברים אותו:

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

06הוספת ה-hooks

ב-~/.claude/settings.json, בתוך האובייקט hooks הקיים, אם יש כזה:

{
  "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 }]
      }
    ]
  }
}

פותחים session חדש של Claude Code כדי שה-hooks ייטענו. idle_prompt ו-Stop חופפים: Stop מופעל ברגע ש-Claude מסיים, ו-idle_prompt בערך דקה אחר כך אם לא הקלדת כלום. אפשר להשאיר את שניהם או לוותר על אחד; המדריך של ntfy מסביר את השיקולים.

07Windows ‏(PowerShell)

שומרים בתור %USERPROFILE%\.claude\chat-notify.ps1. הגרסה הזו שולחת ל-Discord; בשביל Slack משנים את הגוף ל-@{ text = $text } ואת ה-URL.

$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:

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

בתוך WSL, משתמשים בסקריפט של Mac ו-Linux.

08מה כדאי לדעת על אפליקציות צ'אט בתור כלי התראות

  • מה שנשלח יוצא מהמחשב שלך. הודעת "סיים" כוללת את תחילת התשובה של Claude. בערוץ משותף ב-Slack או ב-Discord, כל חברי הערוץ יכולים לקרוא אותה. אם הקוד שלך פרטי, כדאי להסיר את $detail.
  • אפליקציות צ'אט מקבצות ומשתיקות. workspace עמוס או שרת מושתק יכולים להסתיר את ההתראה. לאפליקציית push ייעודית כמו ntfy (ראו המדריך של ntfy) יש פחות סיכוי ללכת לאיבוד.
  • ה-hooks לא יודעים אם אתם ליד המחשב. Stop שולח הודעה בכל פעם. idle_prompt ו-permission_prompt הם הכי קרובים לפילטר "לא ליד המחשב" מובנה.

09איפה Claude Code Notifier נכנס לתמונה

webhook הוא דרך טובה לשמור לוג של מה ש-Claude עשה, ובצוות הוא יכול להיות הכלי הנכון. אבל למי שעובד לבד ורוצה להגיב להתראה, הוא לא מספיק: קוראים ש-Claude צריך הרשאה, ואז חוזרים ל-terminal כדי לאשר. bot של Telegram יכול תיאורטית לקבל תשובות, אבל אז צריך לכתוב בעצמך את ה-hook שממתין להן ומחזיר החלטה.

Claude Code Notifier עושה בדיוק את החלק הזה. עם טלפון מצומד, אפשר לאשר פעם אחת, לאשר לכל ה-session או לדחות בקשת הרשאה, לענות על שאלות רב-ברירה של Claude, ולשלוח הוראת המשך כש-Claude מסיים – הכול מהטלפון. אם הקלדת ב-30 השניות האחרונות, ה-terminal שואל כרגיל ושום דבר לא ממתין בטלפון. הכלי עצמאי, לא של Anthropic, ו-ccn רץ על Mac, Windows ו-Linux. ראו השוואה לחלופות, הדף של ccn ומחירים.

10שאלות נפוצות

האם Claude Code יכול לשלוח ל-Slack בלי סקריפט?

ל-Claude Code יש hooks מסוג http ששולחים POST עם ה-JSON של ה-hook ל-URL, אבל ה-webhooks של Slack ו-Discord מצפים לפורמט גוף משלהם (text או content), ולכן hook ישיר מסוג http אליהם נכשל. צריך סקריפט קטן או relay באמצע.

איך מוצאים את ה-chat ID שלי ב-Telegram?

שולחים הודעה ל-bot, ואז פותחים את https://api.telegram.org/bot<TOKEN>/getUpdates. המספר שאחרי "chat":{"id": הוא ה-chat ID. בקבוצה, מוסיפים קודם את ה-bot לקבוצה ושולחים בה הודעה.

אפשר לענות ל-Claude Code מתוך Slack או Discord?

לא עם incoming webhook, שרק שולח הודעות. כדי לענות צריך hook שממתין לתשובה שלך ומחזיר החלטה, ובדיוק לזה נועדו כלים לאישור מרחוק.

האם ה-hook יאט את Claude Code?

הרשומה של Stop משתמשת ב-"async": true, כך שהשליחה מתבצעת ברקע. hooks מסוג Notification ממילא רצים במקביל ל-Claude בלי לחסום אותו.

Claude Code Notifier קבלו push לטלפון כש-Claude Code מסיים או צריך אתכם, ומשם אפשר לאשר, לדחות או לענות. כלי שורת הפקודה ccn זמין בחינם ל-Mac, ל-Windows ול-Linux.
הורדה ל-iOS הורדה ל-Android התקנת ccn

מדריכים קשורים

  • התראות push של Claude Code עם ntfy (בעצמכם)שליחת התראות של Claude Code לטלפון עם ntfy: סקריפט hook ל-Mac, ל-Windows ול-Linux, הרשומות ב-settings.json, ואיך לשמור על ה-topic פרטי.
  • כל הדרכים לקבל התראות מ-Claude Code, בהשוואההתראות מובנות, hooks משלכם, ntfy ו-webhooks של צ'אט, Remote Control של Anthropic ואפליקציות התראות – השוואה של מה שכל אחת יודעת ולא יודעת לעשות.
  • ה-Notification hook של Claude Code: מתי הוא מופעל ואיך משתמשים בומתי ה-Notification hook של Claude Code מופעל, מה המשמעות של permission_prompt ו-idle_prompt, איזה קלט הוא מקבל ולמה הוא ממתין לפני שהוא מופעל.
claude-code-notifier

Claude Code Notifier היא אפליקציה עצמאית של צד שלישי. היא אינה קשורה ל-Anthropic, PBC, ואינה מאושרת או ממומנת על ידה. "Claude" ו-"Claude Code" הם סימנים מסחריים של Anthropic, PBC.

אפליקציות אפליקציית iOS אפליקציית Android ccn ל-macOS, ל-Windows ול-Linux כל המדריכים
משפטי מדיניות פרטיות תנאי שימוש שפות נוספות © 2026 touchtap. כל הזכויות שמורות. TouchTap Ltd רשומה באנגליה ובוויילס, מספר חברה 13942589.