يمكنك الموافقة على طلبات صلاحيات Claude Code من هاتفك لأن Claude Code يشغّل hook من نوع PermissionRequest قبل عرض prompt الصلاحية مباشرة، ويستطيع هذا الـ hook إرجاع القرار بنفسه. لذا فإن أداة ترسل الطلب إلى هاتفك، وتنتظر نقرتك، ثم تُرجع allow أو deny تتيح لك الرد من أي مكان. يفعل Claude Code Notifier ذلك عبر أداة سطر أوامر صغيرة، ccn، على Mac وWindows وLinux، إلى جانب تطبيق لـ iPhone أو Android.
01لماذا تعطّل prompts الصلاحيات عملك
في وضع الصلاحيات الافتراضي، يسأل Claude Code قبل تشغيل معظم أوامر الـ shell أو تعديل الملفات أو جلب صفحة ويب. ينتظر الـ prompt في الـ terminal حتى يجيب أحد. فإن ذهبت لتحضير قهوة، تتوقف المهمة بأكملها عند هذا السؤال، ولا تكتشف ذلك إلا عند عودتك.
أمامك ثلاث طرق للتعامل مع ذلك:
- قلّل مرات الموافقة. أضف قواعد موافقة للأوامر التي تثق بها، أو استخدم وضعاً أكثر تساهلاً. يناسب ذلك العمل الروتيني، وهو مشروح في شرح أوضاع الصلاحيات في Claude Code.
- تصلك رسالة، ثم تعود إلى الجهاز. يخبرك hook الإشعارات بأن هناك prompt بانتظارك، لكن عليك أن تعود إلى لوحة المفاتيح لتردّ.
- الرد عن بُعد. ينقل hook من نوع
PermissionRequestالسؤال إلى هاتفك ويعيد إجابتك إلى Claude Code.
يتناول هذا الدليل الخيار الثالث.
02كيف يجيب hook PermissionRequest نيابةً عنك
يُطلق Claude Code الحدث PermissionRequest عندما يحتاج استدعاء أداة إلى قرار بشأن الصلاحية. يستقبل الـ hook بيانات JSON عبر الإدخال القياسي تتضمن tool_name وtool_input (مثل أمر Bash)، إضافةً إلى قائمة اختيارية permission_suggestions بالقواعد التي سيعرض Claude Code حفظها.
يرد الـ hook بطباعة JSON على هذا النحو:
{
"hookSpecificOutput": {
"hookEventName": "PermissionRequest",
"decision": {
"behavior": "allow"
}
}
}
قيمة behavior إما allow أو deny. عند الرفض يمكنك إضافة message لتوضيح السبب لـ Claude، وinterrupt: true لإيقاف Claude تمامًا. وعند الموافقة، يمكن لـ updatedPermissions تطبيق قواعد صلاحيات كي لا يُطرح عليك السؤال مجددًا. وإذا لم يُرجع الـ hook شيئًا، يعرض Claude Code الـ prompt المعتاد.
إذًا لدى hook الموافقة عن بُعد ثلاث مهام: إرسال الطلب إلى مكان ستراه فيه، وانتظار الإجابة، وطباعة JSON الصحيح قبل انتهاء مهلة الـ hook. تجد القائمة الكاملة للحقول وسكربتًا عاملًا في الرد على طلبات الصلاحية من hook.
تسجيل الـ hook
توجد الـ hooks في ~/.claude/settings.json (لكل المشاريع) أو في .claude/settings.json (لمشروع واحد):
{
"hooks": {
"PermissionRequest": [
{
"matcher": "*",
"hooks": [
{ "type": "command", "command": "/path/to/your-approval-script" }
]
}
]
}
}
يُرشّح الـ matcher حسب اسم الأداة، فمثلًا "Bash" سيرسل أوامر shell فقط إلى هاتفك. المهلة الافتراضية لـ hooks الأوامر هي 600 ثانية، وهي الحد الأقصى لانتظار الـ hook لك.
03تنفيذه بنفسك
يمكنك بناء نسخة خاصة بك. في التصميم المعتاد يُرسَل الطلب إلى خدمة push مثل ntfy مع زرَّي إجراء يستدعيان endpoint ويب صغيرًا، ويستعلم الـ hook دوريًا من ذلك الـ endpoint حتى تصل إجابة أو ينتهي المؤقت. راجع إشعارات push لـ Claude Code عبر ntfy لجزء الإرسال.
أما ما يستهلك الوقت فهو الحالات الطرفية:
- أنت أمام لوحة المفاتيح. إذا كان الـ hook ينتظر الهاتف دائمًا، فلن تستطيع الرد من الـ terminal أثناء الانتظار. الـ hook الجيد يلاحظ وجودك ويتنحّى جانبًا.
- المهل الزمنية. يجب أن يتوقف الـ hook قبل انتهاء مهلة Claude Code ويعود إلى السلوك الافتراضي بسلاسة.
- الثقة. أي شخص يصل إلى الـ endpoint الخاص بك يستطيع الموافقة على أوامر في حاسوبك، لذا يحتاج إلى مصادقة.
- جلسات متعددة. يجب أن يصل كل طلب إلى الجلسة الصحيحة ويعود إليها.
إن كنت تستمتع ببناء هذه الأشياء، فهو مشروع جيد لعطلة نهاية الأسبوع. وإن أردته جاهزًا اليوم، فالأداة الجاهزة توفر عليك الجهد.
04استخدام Claude Code Notifier
Claude Code Notifier أداة مستقلة من تطوير TouchTap Ltd، وليست من صنع Anthropic ولا تابعة لها. تتكون من جزأين: ccn، أداة سطر أوامر مجانية لأنظمة Mac وWindows وLinux، وتطبيقات للهاتف على iPhone وAndroid.
1. ثبّت ccn
على Mac وLinux:
curl -fsSL https://claudecodenotifier.com/install.sh | sh
على Windows، في PowerShell (دعم Windows في مرحلة تجريبية):
irm https://claudecodenotifier.com/install.ps1 | iex
طرق التثبيت عبر Homebrew وnpm والإضافات مذكورة في صفحة ccn. يضيف التثبيت سبعة إدخالات hook إلى ~/.claude/settings.json، كلٌّ منها يشغّل ccn hook، ويحتفظ بنسخة احتياطية من الملف. أحدها هو hook PermissionRequest. يعمل ccn لبضعة أجزاء من الثانية عندما يستدعيه Claude Code ثم يُغلق. لا شيء يعمل في الخلفية، ويعمل في أي terminal، بما في ذلك terminal بيئات التطوير IDE.
2. اربط هاتفك
شغّل ccn pair وامسح رمز QR، أو أدخل الرمز المكوّن من 6 أرقام من التطبيق. الخطوات التفصيلية لكل نظام تشغيل موجودة في اربط هاتفك بـ Claude Code.
3. أجب من الإشعار
عندما يحتاج Claude إلى صلاحية وأنت بعيد، يعرض هاتفك ما يريد فعله، مثل الأمر الذي يريد تشغيله. يمكنك:
- السماح مرة واحدة، لهذا الاستدعاء فقط.
- السماح طوال الجلسة، فلا يُطرح السؤال مجددًا لنفس نوع الطلب في تلك الجلسة.
- الرفض، فيتابع Claude عمله وهو يعلم أن طلبه رُفض.
يُرجع الـ hook إجابتك ويتابع Claude العمل.
ماذا يحدث عندما تكون أمام مكتبك
يتحقق ccn من وجودك. إذا كتبت شيئًا خلال آخر 30 ثانية، فلا انتظار: يسألك الـ terminal كالمعتاد ولا يتلقى الهاتف أكثر من تنبيه. وإن كنت بعيدًا، ينتظر الـ terminal إجابة الهاتف حتى حدٍّ أقصى تختاره، ويتوقف عن الانتظار فور لمسك لوحة المفاتيح. وهكذا يمكنك دائمًا الرد من المكان الأقرب إليك.
الحد الأقصى قابل للضبط:
ccn config set hold_ceiling_seconds 900
يقبل قيمة بين 30 و3600 ثانية، والافتراضية 600. ويغيّر presence_threshold_seconds نافذة الثلاثين ثانية. ويمكن تغيير معظم الإعدادات لكل حاسوب من تطبيق الهاتف أيضًا.
التحقق من أنه يعمل
ccn doctor # checks hooks, credentials, server connection and presence detection
ccn test # sends a test notification
تنزيل تطبيقات الهاتف مجاني، لكن استخدامها يتطلب اشتراكًا أو شراءً مدى الحياة. راجع الأسعار. ومن دون هاتف، يظل ccn يعرض إشعارًا على سطح المكتب مجانًا عندما يحتاج Claude إلى صلاحية.
05وقلّل عدد ما تحتاج إلى الموافقة عليه أيضًا
تعمل الموافقة عن بُعد بشكل أفضل عند دمجها مع قواعد سماح مدروسة. فإذا كنت توافق على npm test عشرين مرة يوميًا، فأضف قاعدة مثل Bash(npm test *) إلى permissions.allow، واترك هاتفك للطلبات التي تستحق المراجعة فعلًا. وقبل أن توافق من شاشة صغيرة، اقرأ الأمر جيدًا. يشرح دليل هل الموافقة على إجراءات Claude Code من هاتفك آمنة؟ ما يجب التحقق منه.
06الأسئلة الشائعة
هل يمكن لـ Claude Code طلب الإذن على هاتفي دون أي أداة إضافية؟
تتيح لك ميزة Remote Control من Anthropic متابعة جلسة محلية من تطبيق Claude أو من claude.ai/code في الخطط المدعومة، بما في ذلك الرد على الـ prompts. أما الأدوات المعتمدة على الـ hooks مثل Claude Code Notifier فتعمل بطريقة مختلفة: فهي لا تحتاج إلى تفعيل Remote Control، ولا ترسل إلا اللحظات التي تتطلب تدخلك. يقارن دليل استخدام Claude Code من هاتفك بين الخيارين.
ماذا يحدث إذا لم أرد من هاتفي؟
مع ccn، ينتظر الـ hook حتى المدة المحددة في إعداد hold_ceiling_seconds. وإذا عدت ولمست لوحة المفاتيح أولًا، يتوقف عن الانتظار ويصبح بإمكانك الرد على الـ prompt في الـ terminal.
هل يغيّر خيار "السماح طوال الجلسة" ملف settings.json؟
لا. ينطبق على تلك الجلسة فقط. للسماح بشيء بشكل دائم، أضف قاعدة سماح في /permissions أو في ملف الإعدادات.
هل يعمل هذا على Windows وLinux؟
نعم. تعمل ccn على Mac وWindows وLinux، ويعمل تطبيق الهاتف مع الأنظمة الثلاثة. دعم Windows لا يزال في مرحلة تجريبية (beta).
هل يمكنني استخدامه مع أكثر من جهاز كمبيوتر؟
نعم. يمكن ربط هاتف واحد بعدة أجهزة كمبيوتر، ويمكن لجهاز الكمبيوتر أن يرتبط بعدة هواتف. يعرض الأمر ccn devices الهواتف المرتبطة أو يلغي ربطها.