لا تتلقى طرفيات بيئات التطوير في VS Code وCursor وJetBrains أي إشعار سطح مكتب من Claude Code افتراضيًا، لأن Claude Code لا يرسله إلا إلى iTerm2 وGhostty وKitty. لتصلك التنبيهات، إما أن تضبط "preferredNotifChannel": "terminal_bell" وتترك بيئة التطوير تتعامل مع الجرس، أو تضيف hook من نوع Notification إلى ~/.claude/settings.json يعرض إشعار سطح مكتب أو يرسل push. تعمل الـ hooks في الطرفية المدمجة وفي لوحة المحادثة الخاصة بإضافة VS Code على حد سواء، لأن كليهما يقرأ ملف الإعدادات نفسه.
01لماذا تبقى بيئة التطوير صامتة
يعتمد التنبيه المدمج في Claude Code على الطرفية التي يعمل فيها. مع الإعداد الافتراضي لا يُظهر إشعار سطح مكتب إلا في iTerm2 وGhostty وKitty، وتذكر وثائق الطرفية من Anthropic أن الطرفية المدمجة في VS Code لا تتلقى أي إشعار. وطرفيات JetBrains في الوضع نفسه. يشرح دليل جرس الطرفية كل قيم preferredNotifChannel.
هناك طريقتان لتشغيل Claude Code في VS Code وCursor، والفرق بينهما مهم:
claude في الطرفية المدمجة~/.claude/settings.json~/.claude/settings.json (الملف نفسه)تعمل بيئات JetBrains (IntelliJ IDEA وPyCharm وWebStorm وGoLand وAndroid Studio وغيرها) مثل العمود الأيمن: إذ تشغّل إضافة Claude Code الأمر claude في الـ terminal المدمج في بيئة التطوير وتتصل به.
02الخيار 1: جرس الـ terminal
إذا كان claude يعمل في terminal مدمج، فأضف ما يلي إلى ~/.claude/settings.json:
{
"preferredNotifChannel": "terminal_bell"
}
بعد ذلك يُصدر Claude Code محرف الجرس عندما يحتاج إليك، وما يحدث بعدها يعود إلى بيئة التطوير. يتعامل VS Code وCursor مع جرس الـ terminal عبر إعدادات إشارات إمكانية الوصول؛ ابحث في الإعدادات عن "terminal bell" لاختيار صوت. وفي بيئات JetBrains راجع إعدادات الـ terminal الخاصة بإصدارك. من السهل أن يفوتك الجرس إذا لم تكن تضع السماعات أو كانت بيئة التطوير في الخلفية، لذا ينتقل معظم المستخدمين إلى الخيار 2.
03الخيار 2: Notification hook
يشغّل الـ hook أمرًا من اختيارك، ويعمل في كل بيئات التطوير، سواء في الـ terminal أو في لوحة المحادثة في VS Code. يعرض هذا المثال إشعارًا على سطح المكتب في macOS:
{
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"
}
]
}
]
}
}
على Linux استخدم notify-send 'Claude Code' 'Claude Code needs your attention'، وعلى Windows أمر PowerShell؛ ستجد نسخًا مجرَّبة في دليل Linux ودليل Windows. إذا لم يُظهر osascript شيئًا على macOS، فافتح System Settings > Notifications واسمح بالإشعارات لتطبيق Script Editor، فهو التطبيق الذي تصدر منه إشعارات osascript.
في إضافة VS Code يمكنك مراجعة الـ hooks دون فتح الملف: افتح قسم Customize واختر Hooks لترى الـ hooks المحمّلة في الجلسة مجمّعة حسب الحدث (Claude Code الإصدار v2.1.269 أو أحدث).
لكي تُنبَّه لحظة انتهاء Claude وليس حين ينتظرك، أضف hook من نوع Stop أيضًا. يعرض دليل تلقي إشعار عند انتهاء Claude الاثنين معًا.
التوقيت يختلف في إضافة VS Code
في الـ terminal، ينتظر إشعار permission_prompt حتى يمر على الـ prompt نحو ست ثوانٍ دون ضغط أي مفتاح، وكل ضغطة تؤجله. أما في إضافة VS Code (وفي Claude Desktop)، فتذكر وثائق Anthropic أنه يعمل بعد نحو ست ثوانٍ من سؤال Claude دون تأجيل أثناء الكتابة، ولا يعمل إطلاقًا إذا أجبت قبل ذلك. إذا كان مزعجًا أثناء عملك في اللوحة، فعيّن متغير البيئة CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS=1 لإيقافه هناك. يسرد دليل Notification hook جميع أنواع الإشعارات ومتى يعمل كل منها.
04النوافذ البعيدة: SSH وWSL وdev containers وJetBrains Remote Development
هنا تحديدًا تتعطل إشعارات بيئات التطوير في أغلب الأحيان. عندما تكون نافذة VS Code أو Cursor متصلة بمضيف SSH أو WSL أو dev container، يعمل Claude Code على ذلك النظام ويقرأ ~/.claude/settings.json من هناك لا من حاسوبك، وتعمل الـ hooks هناك أيضًا. وبالتالي لا يجد أمر سطح مكتب مثل osascript أو notify-send سطح مكتب يعرض عليه، فيفشل بصمت.
الأمر مشابه في JetBrains Remote Development: يجب تثبيت إضافة Claude Code على المضيف البعيد، ويعمل Claude Code هناك.
البدائل التي تعمل:
- WSL على Windows: يمكن للـ hook استدعاء
powershell.exeعبر التشغيل البيني مع Windows، ما دام موجودًا فيPATHداخل WSL. - مضيفات SSH والحاويات: أرسل التنبيه عبر الشبكة إلى وسيلة تصل إليك، مثل ntfy أو webhook لـ Telegram أو Slack أو Discord. يشرح دليل SSH الخيارات المتاحة.
05استخدم terminal خارجيًا مع /ide
إذا أردت إشعار سطح المكتب المدمج، فشغّل Claude Code في iTerm2 أو Ghostty أو Kitty واربطه ببيئة التطوير بالأمر /ide. يظل عرض الفروقات ومشاركة التحديد يعملان عبر بيئة التطوير، بينما تأتي التنبيهات من الـ terminal الخارجي. في iTerm2 عليك تفعيل إعدادات التنبيه أولًا كما هو موضح في دليل جرس الـ terminal.
06أمور أخرى تستحق المعرفة
- Shift+Enter: في VS Code وCursor شغّل
/terminal-setupمرة واحدة ليُدرج Shift+Enter سطرًا جديدًا. أما في terminal بيئات JetBrains فهو غير متاح؛ استخدم Ctrl+J، أو\ثم Enter. - Remote Control: يمكن تشغيل ميزة Remote Control من Anthropic من إضافة VS Code بالأمر
/remote-control، ما يتيح لك متابعة الجلسة من تطبيق Claude على الهاتف. لها متطلباتها الخاصة من حيث الخطة وتسجيل الدخول؛ راجع المقارنة. - عدة نوافذ: إذا كنت تشغّل Claude Code في أكثر من نافذة، فضمّن مجلد المشروع في التنبيه لتعرف أيها يحتاج إليك. تتضمن مدخلات الـ hook الحقل
cwd. راجع تشغيل عدة جلسات.
07أين يأتي دور Claude Code Notifier
يُعد hook من نوع Notification مع أداة الإشعارات الخاصة بنظامك حلًا جيدًا ومجانيًا إذا كنت جالسًا أمام بيئة التطوير، لكنه لا يفيدك حين تكون بعيدًا عن الشاشة، ولا يتيح لك الرد.
أداة ccn من Claude Code Notifier هي hook أيضًا، لذا تعمل في terminal بيئات التطوير كما تعمل في أي terminal آخر، على Mac وWindows وLinux. عند تثبيتها وحدها تعرض إشعارًا على سطح المكتب حين ينتهي Claude أو يحتاج إلى إذن أو يطرح سؤالًا. ومع ربط هاتف، يمكنك السماح مرة واحدة أو للجلسة كاملة أو رفض طلب الإذن، واختيار إجابة لسؤال Claude، وإرسال التعليمة التالية من الهاتف. إذا كتبت شيئًا خلال آخر 30 ثانية، يسألك الـ terminal كالمعتاد ولا ينتظر شيء على الهاتف. تمر إشعارات push إلى الهاتف عبر خادم وسيط لا عبر سطح المكتب المحلي، لذا إذا ثبّت ccn على الجهاز البعيد الذي تتصل به نافذة بيئة التطوير، فسيظل الهاتف يتلقى منه. Claude Code Notifier مشروع مستقل وليس من صنع Anthropic. راجع صفحة ccn وربط الهاتف.
08الأسئلة الشائعة
لماذا لا يرسل لي Claude Code إشعارات في VS Code؟
لا يستقبل الـ terminal المدمج في VS Code إشعار سطح المكتب المدمج في Claude Code. عيّن "preferredNotifChannel": "terminal_bell" أو أضف hook من نوع Notification في ~/.claude/settings.json، ثم ابدأ جلسة جديدة.
هل تعمل الـ hooks في إضافة Claude Code لـ VS Code؟
نعم. يُطلق Claude Code أحداث الـ hooks نفسها في إضافات بيئات التطوير كما في الـ terminal، وتتشارك الإضافة والـ CLI الملف ~/.claude/settings.json. ويمكن لقسم Customize في الإضافة عرض الـ hooks وتعديلها.
هل يعمل هذا في Cursor؟
نعم. يمكن تثبيت إضافة Claude Code نفسها في Cursor، ويعمل claude في الـ terminal المدمج فيه كما في VS Code. كل ما سبق ينطبق عليه.
الـ hook يعمل محليًا لكنه لا يعمل في نافذة Remote SSH. لماذا؟
في النافذة البعيدة، يعمل Claude Code والـ hooks الخاصة به على الجهاز البعيد، وهو جهاز بلا سطح مكتب. عدّل الملف ~/.claude/settings.json على ذلك الجهاز، واستخدم push عبر الشبكة مثل ntfy بدلًا من أمر إشعارات سطح المكتب.