Skip to content

استكشاف الأخطاء وإصلاحها (FAQ / Troubleshooting)

📚 تنقل السلسلة: المقال السابق 50 الأنماط المضادة: الاستخدامات الخاطئة الشائعة تناول الاستخدامات التي «تبدو صحيحة ولكنها في الواقع توقعك في الفخ». هذا المقال يستكمل الحديث عن استكشاف الأخطاء — عندما يواجه Claude Code مشكلة حقيقية، كيف تتبع الأدلة خطوة بخطوة للوصول إلى السبب الجذري. تعذر التثبيت، تعذر تسجيل الدخول، حظر الصلاحيات، عدم اتصال خوادم MCP، بطء التشغيل، أو ظهور خطأ باللون الأحمر... يقدم لك هذا المقال خريطة «الأعراض ← أين تبحث وماذا تكتب» لحل المشاكل.

لنبدأ بسيناريو نموذجي للغاية، ويسهل الوقوع فيه بشدة، وبفهمه ستدرك ما يهدف هذا المقال إلى حله.

تخيل هذا الموقف: قمت للتو بالانتقال إلى جهاز Mac جديد، وقمت بتثبيت Claude Code من مشروع الشركة، وبمجرد تشغيله ظهرت رسالة This organization has been disabled. رد فعلك الأول غالبًا سيكون «لقد انتهى الأمر، هل تم حظر حسابي؟»، فتسرع إلى تسجيل الدخول في claude.ai للتحقق من الاشتراك — كل شيء على ما يرام، واشتراك Max لا يزال نشطًا. ثم تشك في الشبكة، فتستخدم أداة لتخطي الحجب (VPN) وتحاول مجددًا، لكن تظهر نفس الرسالة. تظل تتخبط هكذا لما يقارب الأربعين دقيقة، وأعدت تثبيت Claude Code مرتين، وكدت تفتح تذكرة دعم فني.

وما هو السبب الجذري في النهاية؟ عندما تم نقل الإعدادات من جهاز Mac القديم، كان هناك سطر في ملف ~/.zshrc نسيته منذ زمن طويل وهو export ANTHROPIC_API_KEY=...، متبقي من مشروع شركة قديم تم إلغاؤه منذ نصف عام. أولوية متغيرات البيئة تفوقت على تسجيل دخول الاشتراك، فقام Claude Code بكل أمانة باستخدام ذلك المفتاح الملغى للتحقق، فتم إخباره بشكل طبيعي بـ «تم تعطيل هذه المؤسسة». تشغيل سطر واحد وهو unset ANTHROPIC_API_KEY أصلح المشكلة في ثوانٍ.

ذكرت هذا المثال لأجعلك تتذكر شيئًا واحدًا: أسوأ ما في استكشاف الأخطاء هو «الاعتماد على التخمين». الأربعون دقيقة ضاعت بالكامل في التخمين — تخمين الحساب، تخمين الشبكة، وكلما زاد التخمين ابتعدت عن الحقيقة. في الواقع، يحتوي Claude Code نفسه على أداة فحص، وأمر واحد وهو /status يمكنه إخبارك بـ «أي وسيلة تحقق يتم استخدامها حاليًا»، دون الحاجة للتخمين إطلاقًا. هذا المقال سيعلمك كيف تتبع مسارًا واضحًا خاليًا من التخمين لحصار المشكلة وحلها.

بعد قراءة هذا المقال، ستحصل على:

  • جدول توجيه شامل «الأعراض ← أين تبحث»: طابق الخطأ أولاً، ولا تبدأ في التجربة العشوائية
  • أمرين للمساعدة الذاتية يجب تشغيلهما أولاً — /doctor للفحص، و/feedback للإبلاغ — ومتى تستخدم كل منهما
  • جدول مطابقة «المشكلة ← الحل» مصنفًا إلى ست فئات رئيسية (التثبيت، تسجيل الدخول والتحقق، الصلاحيات، MCP، الأداء، رسائل الأخطاء)
  • كيفية استخدام مفاتيح تصحيح الأخطاء من عائلة --debug، بالإضافة إلى السلاح السري المسمى «طريقة مقارنة الإعدادات النظيفة»
  • تمرين عملي يوضح المخرجات المتوقعة: استخدام /doctor بنفسك لإجراء فحص شامل لعملية التثبيت لديك

01排查的第一原则:先定位「这是哪一类问题」,别瞎试

先给结论,这条原则比后面所有具体命令都重要:遇到问题,第一步不是动手修,是先搞清楚「它属于哪一类」——是装的问题、登录的问题、配置的问题,还是 API 那头的问题。 类别定错,后面全白忙。

تشبيه: تعذر فتح صفحة الويب، حدد أولاً ما إذا كان الموقع معطلاً أم أنك غير متصل بالإنترنت. إذا كان الموقع معطلاً، فلن يفيدك تحديث الصفحة مائة مرة، وعليك الانتظار؛ أما إذا كنت غير متصل، فعليك التحقق من جهاز التوجيه (router) الخاص بك. ينطبق نفس المنطق على أخطاء API — حدد أولاً من المتسبب في الخطأ، ثم قرر ما إذا كان يجب «الانتظار» أم «التعديل».

لماذا هذه الفئة هي الأكثر أهمية؟ لأن مستندات Claude Code الرسمية مقسمة بالفعل حسب الفئة — صفحة للتثبيت وتجيل الدخول، صفحة لأخطاء التشغيل، صفحة للإعدادات وتصحيح الأخطاء، وصفحة للأداء. إذا لم تكن متأكدًا من فئة مشكلتك، فلن تعرف أي صفحة تتصفحها في المستندات. تقدم صفحة استكشاف الأخطاء الرسمية جدول توجيه في بدايتها، وقمنا بنقله ليتناسب مع المشاكل التي قد تواجهها:

الأعراض التي تراهاأي فئة هذه / راجع أي مقال
command not found: claude、تعذر التثبيت、مشكلة في PATH、أو EACCESفئة التثبيت (لمزيد من التفاصيل راجع المقال 02 + القسم 02 في هذا المقال)
طلب تسجيل الدخول بشكل متكرر、403 Forbidden、أو organization disabledفئة تسجيل الدخول والتحقق (القسم 03 في هذا المقال)
عدم تفعيل الإعدادات、عدم تشغيل hooks、عدم تحميل خادم MCP、أو عدم عمل قواعد الصلاحياتفئة الإعدادات (القسم 04 في هذا المقال + تصحيح أخطاء إعداداتك)
أخطاء API مثل API Error: 5xx529 Overloaded、أو 429فئة أخطاء API (القسم 06 في هذا المقال، وغالبًا ليس خطأك)
model not found أو you may not have access to itفئة الأخطاء (القسم 06 في هذا المقال، اختيار نموذج خاطئ أو غياب الصلاحيات)
البطء、استهلاك عالٍ لـ CPU / الذاكرة、أو عدم العثور على الملفات أثناء البحثفئة الأداء (القسم 05 في هذا المقال)

طريقة الاستخدام بسيطة للغاية: ابحث في العمود الأيمن عن العبارة الأكثر شبهًا بالتي تظهر على شاشتك، وسيوضح لك العمود الأيسر الاتجاه الذي يجب اتباعه. وسنفصل كل فئة في الأقسام التالية من هذا المقال.

هنا اقتباس من الوثائق الرسمية يستحق الحفظ: «إذا لم تكن متأكدًا مما ينطبق عليك، فيرجى تشغيل /doctor داخل Claude Code للتحقق تلقائيًا من التثبيت والإعدادات وخوادم MCP واستخدام السياق. وإذا تعذر تشغيل claude على الإطلاق، فقم بتشغيل claude doctor من سطر الأوامر (shell).»

وبعبارة أخرى — لا تستطيع تحديد الفئة؟ لا تقلق، قم بتشغيل /doctor أولاً، وسيتولى تحديد النطاق الأكبر لك. وسنفرد القسم التالي لشرح هذين الأمرين المساعدين.

💡 الخلاصة في جملة واحدة: الخطوة الأولى في الاستكشاف هي دائمًا التصنيف والابتعاد عن المحاولات العشوائية — طابق الأعراض بالجدول لمعرفة الفئة، ثم انتقل للقسم المقابل؛ وإذا تعذر التصنيف ابدأ بـ /doctor.


02 أمرين للمساعدة الذاتية: /doctor للفحص، و/feedback للإبلاغ

قبل أن تتصفح أي مستندات أو تسأل أي شخص، يوفر لك Claude Code خيارين للمساعدة الذاتية. تسعون بالمائة من المشاكل إما أن يوضحها لك /doctor مباشرة، أو يتم الإبلاغ عنها باستخدام /feedback إذا تعذر حلها. اتقان هذين الأمرين سيوفر لك الكثير من الوقت.

تشبيه: إذا شعرت بوعكة صحية، اذهب لإجراء فحص شامل أولاً. لن تخضع لعملية جراحية بمجرد شعورك بالألم، بل ستجري فحصًا طبيًا أولاً — ضغط الدم، نبضات القلب، والمؤشرات المختلفة، وبنظرة سريعة على التقرير سيعرف الطبيب أين تكمن المشكلة تقريبًا. أمر /doctor هو جهاز فحص Claude Code: أمر واحد للتحقق من صحة التثبيت، وجود أخطاء صياغة في الإعدادات، اتصال خوادم MCP، ومقدار السياق المستهلك، كل ذلك دفعة واحدة.

/doctor:一键体检

أمر /doctor هو أول أمر يجب كتابته عند استكشاف الأخطاء. تفحص هذه الأداة أشياء تم سردها بوضوح في الوثائق الرسمية — حالة صحة التثبيت، صلاحية الإعدادات (وجود مفاتيح غير صالحة أو أخطاء في المخطط schema)، إعدادات MCP، واستخدام السياق.

الأمر يعتمد على إمكانية تشغيل الأداة:

  • إذا كنت تستطيع الدخول إلى الجلسة: اكتب /doctor مباشرة داخل Claude.
  • إذا تعذر تشغيل claude على الإطلاق (مثل خطأ command not found أو الانهيار عند البدء): اكتب claude doctor في سطر الأوامر (shell) — لاحظ عدم وجود الشرطة المائلة، فهو أمر مستقل في سطر الأوامر.

يحتوي /doctor على ميزة مفيدة: عند اكتشاف مشكلة، يمكنك الضغط على f لإرسال تقرير التشخيص مباشرة إلى Claude، ليساعدك في حله خطوة بخطوة. هذا يشبه قراءة الطبيب لتقرير الفحص بجانبك بعد الانتهاء منه.

/feedback:实在搞不定,上报

إذا قمت بمراجعة المستندات وتشغيل /doctor وظلت المشكلة قائمة — لا تحاول حلها بمفردك دون جدوى، بل استخدم /feedback للإبلاغ عنها إلى Anthropic. سيقوم بإرسال سجل المحادثة مع الوصف، وهذه هي أسرع طريقة للتشخيص الرسمي للمشاكل الحقيقية (خاصة المشاكل الغامضة مثل «تراجع جودة الاستجابة فجأة» دون وجود رسالة خطأ). يوفر هذا الأمر أيضًا خيارًا: مساعدتك في فتح issue على GitHub بمحتوى ممتلئ مسبقًا. ملاحظة: إذا كنت تستخدم موفرين خارجيين مثل Bedrock أو Vertex، فلن يقوم /feedback إرسال المعلومات إلى Anthropic، بل سيحفظها في ملف محلي، ويتعين عليك إرسالها يدويًا إلى ممثل حساب Anthropic الخاص بك.

ربما سمعت عن أمر /bug سابقًا — وهو مجرد التسمية القديمة لـ «الإبلاغ عن المشاكل». الآن قامت الوثائق الرسمية بتوحيد التسمية لتصبح /feedback: لإرسال السجل والوصف إلى Anthropic داخل الجلسة، أو فتح تذكرة GitHub issue ممتلئة مسبقًا. تذكر /feedback فقط فهو كافٍ.

إليك جدولاً يلخص الخيارات الأولى للتشغيل:

موقفكاكتب هذا أولاًماذا يفعل
لست متأكدًا من فئة المشكلة/doctorفحص شامل لمرة واحدة لتحديد الاتجاه العام
تعذر تشغيل claude على الإطلاقclaude doctor (في سطر الأوامر)تشخيص يمكن تشغيله قبل بدء الأداة
أظهر /doctor مشكلة وتريد من Claude مساعدتك في حلهااضغط على f في نتائج /doctorإرسال تقرير التشخيص إلى Claude
لم تنجح الحلول المقترحة في المستندات/feedbackإرسال السجل والوصف إلى Anthropic
تريد معرفة ما إذا كانت الخدمات الرسمية معطلةافتح status.claude.com في المتصفحالتحقق من وجود أعطال في واجهة برمجة التطبيقات (API)

تذكر دائمًا موقع status.claude.com: عند ظهور العديد من أخطاء الخادم مثل 5xx أو 529، فإن الخطوة الأولى هي مراجعة صفحة الحالة للتأكد، بدلاً من الشك في إعداداتك الخاصة — ففي كثير من الأحيان يكون الخلل من جهة Anthropic ولا علاقة له بإعداداتك على الإطلاق. وسنفصل هذا في القسم 06.

💡 الخلاصة في جملة واحدة: قبل البدء، جرب أمرين للمساعدة الذاتية — /doctor (أو claude doctor في الطرفية) للفحص وتحديد الاتجاه، و/feedback للإبلاغ عند الاستعصاء؛ وعند الشك في تعطل الخوادم راجع موقع status.claude.com.


03 فئة تسجيل الدخول والتحقق: طلب تسجيل الدخول بشكل متكرر، أو تعطيل المؤسسة

بدءًا من هذا القسم، سنمر على المشاكل التفصيلية حسب الفئة. لنبدأ بـ تسجيل الدخول والتحقق — هذه الفئة هي الأسهل لإثارة ذعر المبتدئين، لأن كلمات الأخطاء تبدو مخيفة للغاية (مثل disabled وForbidden وrevoked)، لكن الحقيقة غالبًا ما تكون بسيطة للغاية.

تشبيه: تمرير بطاقة الدخول عند بوابة الشركة، عدم فتح البوابة لا يعني بالضرورة أنه تم فصلك. قد تكون البطاقة قد فقدت مغناطيسيتها، أو ربما تحمل بطاقة قديمة خاطئة، أو قد يكون وقت نظام البوابة غير مضبوط. رسالة الخطأ «تم رفض الدخول» لا تعني «أنك لا تملك الصلاحية». مشكلة التحقق مماثلة تمامًا — تحقق أولاً من «أي وسيلة تحقق يستخدمها Claude Code للتحقق»، ولا تفكر في الأسوأ مباشرة.

第一招:看清「当前用的是哪套凭证」

هذه هي الخطوة الأولى الشاملة لمشاكل التحقق، وهي العلاج لتجنب إضاعة الأربعين دقيقة المذكورة في البداية. اكتب في الجلسة:

text
/status

المتوقع: سيعرض طريقة التحقق النشطة حاليًا — سواء كانت اشتراكك (تسجيل الدخول عبر OAuth) أو مفتاح API key معين. إذا كنت مشتركًا بالفعل ولكن يظهر هنا أنه يتم استخدام API key، فقد تم تحديد المشكلة تقريبًا.

最经典的坑:ANTHROPIC_API_KEY 偷偷压过订阅

هذا هو الفخ الذي وقعنا فيه في البداية. توضح الوثائق الرسمية هذه الآلية بوضوح:

تتمتع متغيرات البيئة بالأولوية على /login، لذلك سيتم استخدام المفتاح المصدر في ملف تكوين shell أو المحمل من ملف .env، حتى لو كان لديك اشتراك Pro أو Max صالح. في الوضع غير التفاعلي (-p)، يتم دائمًا استخدام المفتاح عند وجوده.

لذلك، بمجرد وجود متغير ANTHROPIC_API_KEY في بيئتك (حتى لو كان متبقيًا من مشروع قبل بضعة أشهر ونسيته تمامًا)، سيستخدمه Claude Code للتحقق. وإذا كان هذا المفتاح منتهي الصلاحية أو ينتمي لمؤسسة معطلة، فستظهر رسالة This organization has been disabled. الحل:

bash
unset ANTHROPIC_API_KEY
claude

ولكن أمر unset يعمل فقط على نافذة الطرفية (terminal) الحالية، ولحل المشكلة جذريًا، يجب الانتقال إلى ملف ~/.zshrc أو ~/.bashrc أو ~/.profile وحذف السطر export ANTHROPIC_API_KEY=... (على نظام Windows، تحقق من ملف تكوين PowerShell المسمى $PROFILE ومتغيرات بيئة المستخدم). بعد الحذف أعد تشغيل claude واكتب /status للتأكد من العودة إلى الاشتراك. لقد تم شرح «أولويات وسائل التحقق» هذه في [المقال 04] (تكوين API)، تذكر مراجعتها عند حدوث مشاكل في التحقق.

إليك كيفية التعامل مع أخطاء التحقق الأخرى:

الخطأماذا يعنيكيف يتم إصلاحه
Not logged in · Please run /loginلا توجد وسيلة تحقق صالحة في هذه الجلسةاكتب /login لتسجيل الدخول؛ وإذا كنت تعتمد على التحقق عبر متغيرات البيئة، تأكد من تصدير ANTHROPIC_API_KEY بالفعل
OAuth token revoked / has expiredانتهت صلاحية تسجيل الدخول المحفوظاكتب /login لإعادة تسجيل الدخول؛ وإذا تكرر الخطأ في نفس الجلسة، استخدم /logout أولاً ثم /login
طلب تسجيل الدخول بشكل متكرر (عبر عمليات تشغيل متعددة)مفتاح التحقق ينتهي باستمرارتحقق من دقة ساعة النظام (يعتمد التحقق من المفتاح على الطابع الزمني الصحيح);على نظام macOS قد يحدث هذا عند قفل Keychain، قم بتشغيل claude doctor للتحقق من الوصول إلى Keychain
403 Forbidden (بعد تسجيل الدخول)مشكلة في الاشتراك / الدور / الوكيللمستخدمي Pro/Max، انتقل إلى claude.ai/settings للتحقق من الاشتراك؛ ولمستخدمي Console تأكد من امتلاك دور Claude Code أو Developer
Invalid API keyتم رفض المفتاحتحقق من الهجاء وتأكد من عدم إلغاء المفتاح في Console؛ اكتب env | grep ANTHROPIC لمعرفة ما إذا كان ملف .env قد قام بتحميل مفتاح منتهي الصلاحية

نصيحة «التحقق من ساعة النظام عند تكرار طلب تسجيل الدخول» سهلة الإغفال للغاية — فعلى البيئات الافتراضية غير المتصلة بالإنترنت لفترة طويلة، قد يفشل تسجيل الدخول باستمرار، ويتبين في النهاية أن وقت النظام متأخر ببضعة أيام، مما يجعل المفتاح غير صالح فور إصداره. ضبط الوقت يحل المشكلة مباشرة.

💡 الخلاصة في جملة واحدة: عند مشاكل التحقق اكتب /status لمعرفة وسيلة التحقق المستخدمة؛ وانتبه للفخ المتمثل في تغلب مفتاح ANTHROPIC_API_KEY في shell على الاشتراك (unset وحذف سطر التصدير)؛ وعند تكرار تسجيل الدخول تحقق من ساعة النظام ووصول Keychain على macOS.


04 فئة الإعدادات: عدم تفعيل الإعدادات / hooks / MCP

الفئة الثانية هي عدم تفعيل الإعدادات — على الرغم من كتابة القواعد، وإعداد hooks، وإضافة خوادم MCP server في ملف settings.json، إلا أن Claude يبدو كأنه لا يراها. تفرد الوثائق الرسمية صفحة خاصة لهذه المشاكل تسمى «تصحيح أخطاء إعداداتك»، وتلخص الفكرة الأساسية في جملة واحدة: تحقق أولاً من «ما قام Claude Code بتحميله فعليًا»، ولا تفترض أن ما كتبته قد تم تفعيله تلقائيًا.

تشبيه: تسليم الواجب لا يعني بالضرورة أن المعلم قد استلمه. قد تضع الواجب على الطاولة وتذهب، وعدم تفعيله قد يرجع لوضعه على الطاولة الخاطئة، أو تداخله مع دفاتر الآخرين، أو تغطيته بنسخة أخرى. ينطبق نفس المنطق على الإعدادات — عند عدم التفعيل، ابحث أولاً عن «أي نسخة تم قراءتها فعليًا»، بدلاً من تعديل النسخة التي تعتقد أنها صحيحة تكرارًا.

一组「查实际加载了啥」的命令

هذه هي الأدوات الأساسية لفئة الإعدادات، واستخدم الأمر المقابل حسب المشكلة:

الأمرماذا يفحص
/contextمعرفة من يستهلك السياق في الجلسة الحالية (توجيهات النظام، الملفات في الذاكرة، skills، أدوات MCP، الرسائل)
/memoryمعرفة ملفات CLAUDE.md وقواعدها التي تم تحميلها
/skillsمعرفة الـ skills المتاحة من المشروع / المستخدم / الإضافات
/agentsمعرفة الوكلاء الفرعيين وإعداداتهم المحددة
/hooksمعرفة الـ hooks المسجلة في الجلسة الحالية
/mcpمعرفة خوادم MCP server المتصلة وحالتها
/permissionsمعرفة قواعد السماح / الرفض المفعلة حاليًا
/debug [وصف المشكلة]تفعيل سجلات تصحيح الأخطاء للجلسة الحالية، وتوجيه Claude لمساعدتك في التشخيص باستخدام السجلات ومسارات الإعدادات
/statusمعرفة مصادر الإعدادات النشطة (بما في ذلك تفعيل الإعدادات المدارة)

طريقة الاستخدام هي «كتابة الأمر المقابل للشيء الذي أعددته للتأكد من وجوده عند عدم تفعيله». على سبيل المثال، إذا كتبت hook ولم يتم تشغيله، اكتب أولاً /hooks لمعرفة ما إذا كان مسجلاً — إذا لم يظهر، فهذا يعني أنه لم يُقرأ على الإطلاق؛ وإذا ظهر ولم يتم تشغيله، فالخلل يكمن في المطبق (matcher).

几个新手最常踩的配置坑

إليك الفخاخ الأكثر تكرارًا للمبتدئين في الإعدادات وطرق حلها:

الأعراضالسبب المحتمل غالبًاكيف يتم الإصلاح
عدم تشغيل hook على الإطلاقكتابة اسم الأداة في matcher بأحرف صغيرة (مثل "bash")أسماء الأدوات تحسس لحالة الأحرف وتبدأ بحرف كبير: Bash، EditWriteRead
与其不触发كتابة hook في ملف مستقليجب وضع hooks الخاصة بالمشروع / المستخدم تحت المفتاح "hooks" في ملف settings.json
تجاهل قيم ملف settings.jsonتم إعداد نفس المفتاح في ملف settings.local.jsonيتفوق ملف settings.local.json على settings.json، وكلاهما يتفوقان على ~/.claude/settings.json (راجع المقال 31)
عدم تحميل خادم MCP المحدد في .mcp.jsonتم وضع الملف داخل دليل .claude/يجب وضع إعدادات MCP الخاصة بالمشروع في الدليل الرئيسي للمستودع باسم .mcp.json وليس داخل دليل .claude/
عدم ظهور خادم MCP الخاص بالمشروعتم إيقاف نافذة الموافقة لمرة واحدةتتطلب خوادم المشروع موافقة، اكتب /mcp للتحقق من الحالة والموافقة عليها (راجع المقال 22)
عدم تفعيل توجيهات CLAUDE.md في الدليل الفرعييتم تحميلها «عند الطلب»يتم تحميلها فقط عندما يقرأ Claude ملفات ذلك الدليل باستخدام أداة Read، وليس عند بدء الجلسة (راجع المقال 18)

الفخ المتمثل في «حالة الأحرف لـ matcher في hook» هو الأسهل للوقوع فيه: عند كتابة PostToolUse hook لأول مرة، قمت بوضع "edit|write" في matcher، ولم يتم تشغيله مهما عدلت الملفات. يظهر في /hooks أنه مسجل بالفعل، وتنظر للإعدادات طويلاً دون اكتشاف أي خلل — وفي النهاية تدرك أن أسماء الأدوات يجب أن تبدأ بأحرف كبيرة لتصبح "Edit|Write". تنص الوثائق الرسمية بوضوح: «المطابقة تحسس لحالة الأحرف.» هذا النوع من الفخاخ يصعب كشفه إذا كنت لا تعرفه، وبمجرد معرفته تحل المشكلة في ثانية واحدة.

权限相关:「明明配了规则,怎么还是拦不住 / 老来问我」

مشاكل الصلاحيات (permission) تندرج أيضًا تحت فئة الإعدادات، ويواجه المبتدئون نوعين منها عادة:

الأول هو «فشل الحظر المكتوب في CLAUDE.md». المعرفة الأساسية هنا هي: العبارات المكتوبة في CLAUDE.md مثل «لا تقم بتعديل .env أبدًا» هي مجرد «رجاء» وليست «ضمانًا». توضح الوثائق الرسمية هذا الأمر بوضوح — لجعل Claude «يتخذ قرارًا جيدًا» استخدم CLAUDE.md، ولفرض قيود صارمة «تُنفذ بغض النظر عن قراره» يجب استخدام قواعد الصلاحيات أو hooks (لمزيد من التفاصيل راجع المقالين 20 و21). لذا إذا كنت تريد منع عملية معينة تمامًا، لا تعتمد على CLAUDE.md، بل اكتب قاعدة صلاحيات deny أو PreToolUse hook.

النوع الآخر وهو الأكثر خفاءً: كتابة قاعدة deny ولكنها تعجز عن منع الأوامر المكافئة لها. على سبيل المثال، إذا كتبت Bash(rm *) لمنع الحذف، فقد يستخدم Claude أمر /bin/rm أو find . -delete ويقوم بالحذف بنجاح. والسبب هو — تطابق قواعد البادئة (prefix rules) يعتمد على «سلسلة الأوامر الحرفية»، وليس على الملف التنفيذي الأساسي. الحل هو إضافة قواعد صريحة لكل متغير، أو استخدام PreToolUse hook / البيئة المعزولة (sandbox) للحصول على «ضمان صارم». عند استكشاف أخطاء الصلاحيات، اكتب أولاً /permissions للاطلاع على قواعد السماح / الرفض المفعلة حاليًا، ومطابقتها للتأكد من أنها النسخة الصحيحة.

هذا يعود بنا إلى نفس الفكرة الواردة في المقال 50 حول الأنماط المضادة: الاعتماد على اللغة الطبيعية لفرض «حدود الأمان» هو نمط مضاد في حد ذاته — فالتعليمات مرنة بطبيعتها، والقواعد وhooks هي الوحيدة الصارمة.

💡 الخلاصة في جملة واحدة: عند عدم تفعيل الإعدادات، استخدم أولاً الأوامر /context و/memory و/hooks و/mcp و/permissions للتحقق من «ما تم تحميله فعليًا»؛ والفخاخ الشائعة تشمل حالة أحرف أسماء الأدوات في hook، وتغطية الإعدادات بملفات ذات أولوية أعلى مثل settings.local.json، ووضع .mcp.json في مجلد خاطئ، وكتابة القواعد الصارمة في CLAUDE.md بدلاً من قواعد deny.


05 فئة الأداء: البطء، استهلاك عالٍ للذاكرة، وعدم العثور على الملفات أثناء البحث

الفئة الثالثة هي الأداء غير المريح — الاستجابة تصبح أبطأ وأبطأ، استهلاك الذاكرة يزداد بشكل مخيف، وتعذر إكمال @file نهائيًا. تصنف الوثائق الرسمية هذه المشاكل تحت «الأداء والاستقرار»، وهي ترتبط في معظمها بـ «امتلاء السياق» ومشاكل البيئة الصغيرة، ونادرًا ما تكون بسبب أخطاء برمجية (bugs).

تشبيه: يصبح الكمبيوتر بطيئًا مع الاستخدام، وغالبًا ما يرجع ذلك لفتح الكثير من التطبيقات في الخلفية، وليس لععل في المكونات المادية. لن ترسل الكمبيوتر للإصلاح بمجرد حدوث بطء، بل ستغلق بعض البرامج التي تستهلك الذاكرة وتنظف ذاكرة التخزين المؤقت. ينطبق نفس المنطق على بطء Claude Code — نظف «طاولة العمل» أولاً، ولا تسرع في إعادة التثبيت.

卡顿 / 高内存:先收拾上下文

خطوات التعامل التي تقترحها الوثائق الرسمية عملية للغاية:

  1. استخدم أمر /compact بشكل دوري لضغط السياق (تنظيم المحادثة في صفحة واحدة من النقاط الرئيسية، راجع المقال 19).
  2. أغلق وأعد تشغيل Claude Code بين المهام الرئيسية.
  3. أضف أدلة البناء الكبيرة إلى ملف .gitignore لمنعه من فحصها.

إذا ظل استهلاك الذاكرة مرتفعًا بعد القيام بذلك، يمكنك تشغيل /heapdump — حيث يقوم بكتابة لقطة من ذاكرة JavaScript الذاكرة المؤقتة (heap snapshot) إلى ~/Desktop (على نظام Linux يتم كتابتها في الدليل الرئيسي لغياب سطح المكتب)، وقم بإرفاقها مع تذكرة GitHub issue عند الإبلاغ عن مشاكل الذاكرة. لن تحتاج لتشغيل هذا الأمر يوميًا، ويكفي معرفة وجوده فقط.

حول «التجمد التام وعدم الاستجابة»: تصيغ الوثائق الرسمية الحل ببساطة — اضغط أولاً على Ctrl+C لإلغاء العملية الحالية؛ وإذا لم تستجب الأداة إطلاقًا، أغلق الطرفية وأعد التشغيل. إعادة التشغيل لن تفقدك المحادثة، واكتب claude --resume في نفس الدليل للاستمرار من حيث توقفت.

自动压缩「抖动」:一个新手会被吓到的报错

قد تواجه هذا السطر: Autocompact is thrashing: the context refilled to the limit.... لا تقلق — هذا يعني أن الضغط التلقائي قد نجح، ولكن وجود ملف ضخم أو مخرجات أداة قد ملأت السياق مجددًا على الفور، فتوقف Claude Code عن المحاولة لتجنب استهلاك نداءات API دون جدوى. طريقة الاستعادة: اطلب منه قراءة الملف الضخم في أجزاء (تحديد نطاق الأسطر أو دالة معينة، وتجنب قراءة الملف بالكامل)، أو حدد لـ /compact «الاحتفاظ بالخطة والـ diff فقط»، وإذا لم يفلح ذلك استخدم /clear للبدء من جديد.

搜索 / @file 补全失灵:换个 ripgrep

إذا تعذر على أداة البحث، أو إشارة @file، أو الـ skills المخصصة العثور على الملفات، فالسبب غالبًا هو أن أداة ripgrep المدمجة (أداة بحث سريعة للغاية) في Claude Code تعجز عن التشغيل على نظامك. الحل الرسمي هو تثبيت إصدار النظام من ripgrep وتوجيه Claude Code لاستخدامه:

bash
# macOS
brew install ripgrep

ثم قم بإعداد المتغير USE_BUILTIN_RIPGREP=0 في متغيرات البيئة (لمزيد من التفاصيل حول إعداد متغيرات البيئة راجع المقال 42).

إليك جدولاً سريعًا للتعامل مع مشاكل الأداء:

الأعراضافعل هذا أولاً
بطء مستمر، استهلاك الذاكرة مرتفعاكتب /compact ثم أعد تشغيل Claude Code
تجمد تام، الأداة لا تستجيباضغط على Ctrl+C؛ وإذا لم ينجح، أغلق الطرفية واكتب claude --resume للاستمرار
ظهور خطأ Autocompact is thrashingاطلب منه قراءة الملفات الضخمة في أجزاء + /compact keep only ...
تعذر إكمال @file / فشل البحث في العثور على الملفاتثبت ripgrep الخاص بالنظام، وقم بإعداد USE_BUILTIN_RIPGREP=0
نصوص مشوشة أو مربعات في الطرفية المدمجةتشغيل /terminal-setup داخل Claude لإيقاف تشغيل معالجة GPU

النقطة الأخيرة المتعلقة بـ «شطب النصوص» قد تظهر أحيانًا في طرفية VS Code المدمجة، حيث تتشوه النصوص وتظهر كمربعات. تشغيل /terminal-setup لإيقاف تسريع GPU وإعادة تحميل النافذة كفيل بحل المشكلة — فالمشكلة فنية تتعلق بالرسوميات ولا شأن لـ Claude بها.

💡 الخلاصة في جملة واحدة: لمشاكل الأداء ابدأ بالشك في «امتلاء السياق» — أمر /compact وإعادة التشغيل يمثلان الحل الشامل؛ وللتجمد اضغط Ctrl+C أو استخدم claude --resume؛ ولفشل البحث ثبت ripgrep للنظام؛ ولتشوه النصوص استخدم /terminal-setup.


06 فئة أخطاء API: ظهور رسالة باللون الأحمر، حدد أولاً «هل الخلل من جانبك أم لا»

الفئة الرابعة هي ظهور خطأ API Error: ... باللون الأحمر مباشرة في المحادثة. يصاب المبتدئون بالذعر عند رؤية اللون الأحمر، ولكن التصرف الصحيح هنا هو تحديد ما إذا كان الخطأ «من جهة الخادم» أم «من جهتك» — فأسلوب التعامل مع الحالتين مختلف تمامًا.

تشبيه: تعذر فتح صفحة الويب، حدد أولاً ما إذا كان الموقع معطلاً أم أنك غير متصل بالإنترنت. إذا كان الموقع معطلاً، فلن يفيدك تحديث الصفحة مائة مرة، وعليك الانتظار؛ أما إذا كنت غير متصل، فعليك التحقق من جهاز التوجيه (router) الخاص بك. ينطبق نفس المنطق على أخطاء API — حدد أولاً من المتسبب في الخطأ، ثم قرر ما إذا كان يجب «الانتظار» أم «التعديل».

先记住:Claude Code 早就帮你自动重试过了

هناك آلية رسمية تستحق المعرفة أولاً: عند حدوث أخطاء خادم، أو ضغط زائد، أو انتهاء الوقت، أو قيود مؤقتة، أو انقطاع الاتصال، يقوم Claude Code تلقائيًا بإعادة المحاولة بحد أقصى 10 مرات وبأوقات انتظار متزايدة، وستشاهد مؤقتًا بجانب علامة التحميل يوضح Retrying in Ns · attempt x/y. لذلك — عندما تشاهد رسالة الخطأ بالفعل، فهذا يعني أن جميع محاولات إعادة التشغيل قد استُنفدت بالكامل، وليس أنه استسلم فورًا.

三大类报错,三种应对

يمكن تقسيم أخطاء API الطويلة إلى ثلاث فئات رئيسية لتحديد طريقة التعامل:

الخطأمن المتسببماذا يجب عليك فعله
API Error: 500 / 529 Overloaded / Server is temporarily limiting requestsالخادم (ليس من جانبك)انتظر قليلاً ثم حاول مجددًا؛ تحقق من صفحة الحالة status.claude.com;أو استخدم /model لتغيير النموذج (حيث يتم احتساب السعة لكل نموذج بشكل مستقل)
You've hit your session/weekly/Opus limitحصتك قد نفدتانتظر وقت إعادة التعيين؛ اكتب /usage لمعرفة الاستهلاك؛ أو اكتب /usage-credits لإضافة رصيد أو ترقية الباقة
Prompt is too long / Request too largeمدخلاتك كبيرة للغايةاستخدم /compact أو /clear؛ واطلب منه قراءة الملفات الضخمة في أجزاء بدلاً من لصق الملف بالكامل

أسلوب التعامل مع هذه الحالات الثلاث مختلف تمامًا: الأولى تتطلب «الانتظار فقط»، والثانية تتطلب «الدفع أو انتظار إعادة التعيين»، والثالثة تتطلب «تقليص مدخلاتك». عدم التمييز بينها يؤدي إلى تصرفات خاطئة — مثل حذف محادثاتك بينما الخادم معطل، أو الاستمرار في المحاولة معتقدًا أنه خطأ برمجي بينما نفد رصيدك.

وهناك فئة أخرى وهي تعذر الاتصال بـ API (أخطاء مثل Unable to connect to API وfetch failed وRequest timed out مصحوبة بعبارة «تحقق من الشبكة») — وهذا لا يتعلق بـ Anthropic عادة، بل بـ شبكتك، أو VPN، أو الوكيل (proxy)键، أو جدار الحماية لديك. الخطوة الأولى هي التحقق من إمكانية الوصول إلى خادم API من نفس الطرفية:

bash
curl -I https://api.anthropic.com

إذا نجح الاتصال، فهذا يعني أن الشبكة سليمة، وأن المشكلة تقع في مستوى أعلى (مثل الوكيل أو الشهادات)؛ أما ظهور Could not resolve host أو انتهاء الوقت فيعني أن الشبكة محجوبة. غالبًا ما يتطلب هذا تشغيل VPN لتخطي الحجب؛ وخلف شبكات الشركات يجب إعداد HTTPS_PROXY. وإذا كانت الشبكة بطيئة وتؤدي لانتهاء الوقت باستمرار، يمكنك زيادة مهلة الطلب الواحد — حيث توفر الوثائق الرسمية خيارين للضبط (لمزيد من التفاصيل حول إعداد متغيرات البيئة راجع المقال 42):

متغير البيئةالقيمة الافتراضيةالفائدة
API_TIMEOUT_MS600000 (10 دقائق)مهلة الطلب الواحد، قم بزيادتها عند بطء الشبكة أو استخدام الوكيل
CLAUDE_CODE_MAX_RETRIES10عدد محاولات إعادة التشغيل التلقائي، قم بتقليلها عند الرغبة في الفشل السريع للبرمجيات

两个新手高频、又容易误解的报错

model not found / you may not have access to it: لم يتم التعرف على اسم النموذج المكتوب، أو أن حسابك لا يملك الصلاحية للوصول إليه. اكتب /model أولاً في واجهة سطر الأوامر التفاعلية (CLI) لإعادة الاختيار من النماذج المتاحة. إذا استمر ظهور نموذج خاطئ، فهذا يعني أنه تم إعداد معرف نموذج منتهي الصلاحية في مكان ما — ابحث حسب الأولوية: علامة --model ← متغير البيئة ANTHROPIC_MODEL ← ملف settings.local.json ← حقل model في ملفات settings.json في جميع المستويات، وقم بحذف القيم منتهية الصلاحية للعودة إلى القيمة الافتراضية للحساب. تقترح الوثائق الرسمية نصيحة عملية: استخدم الأسماء المستعارة (مثل sonnet وopus) بدلاً من معرفات الإصدارات الثابتة، حيث تتبع الأسماء المستعارة أحدث إصدار تلقائيًا دون أن تصبح منتهية الصلاحية (لمزيد من التفاصيل حول طرق إعداد /model وANTHROPIC_MODEL راجع المقال 04 تكوين API).

Claude Code is unable to respond to this request, which appears to violate our Usage Policy: تم إيقاف الطلب بواسطة فحص سياسة الاستخدام. لاحظ نقطة غير بديهية — هذا الفحص يقيم المحادثة بأكملها، وليس جملتك الأخيرة فقط، لذا فإن تغيير الجملة وإرسالها مجددًا في نفس الجلسة قد يؤدي غالبًا لتفعيل نفس الرفض. التصرف الصحيح هو الضغط على مفتاح Esc مرتين أو استخدام /rewind للعودة إلى ما قبل الجولة التي فعلت الرفض (راجع المقال 37)، وتغيير الصياغة أو الفكرة؛ وإذا تعذر تحديد الجولة، استخدم /clear للبدء من جديد.

💡 الخلاصة في جملة واحدة: لأخطاء API صنفها لثلاث حالات — أخطاء 5xx/529 تخص الخادم (الانتظار ومراجعة صفحة الحالة وتغيير النموذج)، وحصص الاستهلاك تخص الاشتراك (الانتظار أو الدفع)، وحجم المدخلات يخصك (الضغط وقراءة الملفات في أجزاء)؛ وتعذر الاتصال يرجع للشبكة لديك (تحقق بـ curl وشغل VPN أو إعدادات الوكيل)؛ ولمشاكل النموذج استخدم الأسماء المستعارة وتخلص من المعرفات القديمة.


07 الأسلحة السرية: سجلات تصحيح الأخطاء --debug + طريقة مقارنة الإعدادات النظيفة

تغطي الفئات الست السابقة تسعين بالمائة من الحالات. ولكن في بعض الأحيان، تكون الأعراض غريبة ويتعذر تحديدها بالاعتماد على المستندات. في هذه الحالة، يمكن استخدام سلاحين متقدمين لإخراج أدق المشاكل وحلها.

تشبيه: فحص أعطال الكهرباء بالاعتماد على جهاز القياس (multimeter) + إزالة المقابس واحدًا تلو الآخر. عندما يواجه فني الكهرباء عطلاً غير واضح، فإنه أولاً يستخدم جهاز القياس لمعرفة الجزء الذي يفتقر للجهد المناسب (الاطلاع على السجلات الحية)، وثانيًا يقوم بفصل الأجهزة الكهربائية واحدًا تلو الآخر لمعرفة أي جهاز يتسبب في العطل عند فصله (الاستبعاد التدريجي). السلاحان السريان لاستكشاف أخطاء Claude Code هما محاكاة لهاتين الطريقتين تمامًا.

武器一:--debug 实时看它在干啥

عندما يتعذر تخمين السبب بناءً على النتائج فقط، ابدأ التشغيل مع علامة --debug لعرض العمليات الداخلية أمامك. يمكنك إضافة علامات فرعية للمشاكل المختلفة للتركيز على الأجزاء التي تهمك فقط:

الأمرالاستخدام
claude --debugسجلات تصحيح الأخطاء العامة، لمتابعة سير العمل الإجمالي
claude --debug mcpمخرجات stderr لتشغيل / اتصال خادم MCP (استخدمه عندما يظهر اتصال خادم MCP ولكن دون وجود أدوات)
claude --debug hooksمتابعة أحداث hook في الوقت الفعلي، ومعرفة الـ matchers المطابقة، ورموز الخروج والمخرجات (استخدمه عند عدم تشغيل hook)

وهناك أيضًا خيار داخل الجلسة وهو /debug [وصف المشكلة]: لتفعيل سجلات تصحيح الأخطاء للجلسة الحالية، وتوجيه Claude لمساعدتك في التشخيص بالاستعانة بالسجلات ومسارات الإعدادات.

مثال على الاستخدام: الـ hook الخاص بك مسجل بالفعل في /hooks ولكنه لا يعمل — ابدأ التشغيل باستخدام claude --debug hooks، وقم بتشغيل استدعاء الأداة، وسيوضح لك السجل بكل دقة «وصول الحدث، المطبق matcher الذي تم فحصه، وما إذا كان مطابقًا أم لا». هذا أفضل بمئات المرات من التحديق في الإعدادات دون جدوى.

武器二:干净配置对照法(最被低估的一招)

هذه الطريقة تستحق التذكر دائمًا، وهي مخصصة لحل القضايا الغامضة مثل «هل الخلل ناتج عن إعداداتي الشخصية أم لا». الفكرة هي: فتح جلسة نظيفة لا يتم فيها تحميل أي شيء ومقارنتها بجلساتك المعتادة — إذا اختفت المشكلة في الجلسة النظيفة، فهذا يعني أن الخلل يكمن في إعداداتك الشخصية. الأمر المقترح رسميًا:

bash
cd /tmp && CLAUDE_CONFIG_DIR=/tmp/claude-clean claude

يوجه هذا الأمر المتغير CLAUDE_CONFIG_DIR إلى دليل فارغ، لتجاوز كل ما هو موجود تحت ~/.claude؛ ويبدأ التشغيل من دليل لا يحتوي على مجلد .claude ولا ملف .mcp.json ولا ملف CLAUDE.md (مثل /tmpلتجاوز إعدادات المشروع أيضًا. وبذلك لا تحتوي هذه الجلسة على أي إعدادات مستخدم / مشروع، أو hooks، أو MCP، أو إضافات، أو ذاكرة.

  • إذا اختفت المشكلة في الجلسة النظيفة ← فالسبب الجذري يكمن في مجلدك الحقيقي ~/.claude أو مجلد المشروع .claude. الخطوة التالية هي إعادة العناصر واحدًا تلو الآخر (نسخ ملف واحد إلى الدليل، أو بدء التشغيل من مشروعك)، ومراقبة العنصر الذي يتسبب في تكرار المشكلة عند إعادته، وحينها ستحدد المتسبب.
  • إذا ظلت المشكلة قائمة في الجلسة النظيفة ← فالسبب الجذري يقع خارج إعدادات المستخدم والمشروع (قد يتعلق بالإعدادات المدارة، أو متغيرات البيئة، أو مشاكل التثبيت الأساسية).

هذا «الاستبعاد الثنائي» يمثل حكمة عامة لاستكشاف الأخطاء — تضييق النطاق من خلال «إلغاء نصف المتغيرات لمعرفة ما إذا كانت المشكلة قائمة أم لا». على سبيل المثال، إذا تعذر على Claude قراءة قاعدة معينة في CLAUDE.md دون سبب واضح، فإن الاستعانة بالجلسة النظيفة تمكنك من التأكد من أن «المشكلة ليست خطأً برمجيًا في Claude Code، بل تضارب بين توجيهين في ملفي CLAUDE.md في المشروع»، مما يوفر عليك قضاء ليلة كاملة في تصفح المستندات.

💡 الخلاصة في جملة واحدة: للمشاكل الغامضة استخدم سلاحين — claude --debug [mcp/hooks] لعرض السجلات الحية وتحديد موضع العطل، وطريقة مقارنة الإعدادات النظيفة (توجيه CLAUDE_CONFIG_DIR إلى مجلد فارغ) لتحديد «هل المشكلة بسبب إعداداتي أم لا»، ثم أعد العناصر تدريجيًا لحصر المشكلة.


08 تمرين عملي: إجراء فحص كامل للتثبيت لديك

القراءة دون تطبيق لا تساعد على الحفظ. سنقوم الآن بتشغيل فحص /doctor بأنفسنا، والتحقق من حالة التحقق بطريقنا. لا يتطلب هذا التمرين أي بيئة معقدة، ويمكنك القيام به بمجرد تثبيت Claude Code.

الخطوة الأولى: التأكد من تثبيت claude بشكل صحيح وحداثة الإصدار في الطرفية

bash
claude --version

المتوقع: طباعة رقم الإصدار، مثل 2.1.xxx (Claude Code). رؤية رقم الإصدار تعني أن التثبيت سليم في الأساس. وإذا ظهر خطأ command not found: claude، فهذا يعني أن دليل التثبيت ليس مضافًا إلى PATH — هذه مشكلة تثبيت، ارجع إلى المقال 02 لإصلاح PATH حسب منصتك (على نظام macOS/Linux، يكون التثبيت المحلي في ~/.local/bin).

الخطوة الثانية: الدخول للجلسة وتشغيل الفحص

bash
claude

بعد الدخول اكتب:

text
/doctor

المتوقع: ظهور لوحة تشخيص توضح حالة صحة التثبيت، صلاحية ملفات الإعدادات (حيث يتم تمييز المفاتيح غير الصالحة أو أخطاء المخطط schema باللون الأحمر)، إعدادات خادم MCP، واستخدام السياق. عدم وجود أخطاء في كل بند يعني أن إعداداتك نظيفة. وإذا تم تحديد مشكلة في أحد البنود، اضغط على f لإرسال هذا التقرير إلى Claude، ليساعدك في حلها خطوة بخطوة.

الخطوة الثالثة: التأكد من «أي وسيلة تحقق يتم استخدامها حاليًا»

ثم اكتب:

text
/status

المتوقع: عرض طريقة التحقق النشطة حاليًا. إذا كنت مشتركًا، فيجب أن يظهر هنا الاشتراك (OAuth) وليس مفتاح API key معين. وإذا ظهر أنه يتم استخدام API key بما يخالف توقعاتك — تهانينا، لقد كشفت الفخ المذكور في البداية مبكرًا، انتقل إلى ملف تكوين shell واكتب unset ANTHROPIC_API_KEY واحذف سطر التصدير (export).

الخطوة الرابعة (اختياري): تجربة مقارنة الإعدادات النظيفة

لتجربة الطريقة المذكورة في القسم 07، افتح جلسة نظيفة لا يتم فيها تحميل أي شيء:

bash
cd /tmp && CLAUDE_CONFIG_DIR=/tmp/claude-clean claude

المتوقع: بعد بدء التشغيل، لن تحتوي هذه الجلسة على أي من ملفات CLAUDE.md المعتادة، أو الأوامر المخصصة، أو خوادم MCP server (كتابة /memory أو /mcp بداخلها ستظهر أنها فارغة). هذا هو المعيار المرجعي لمقارنتك في المستقبل لتحديد «هل المشكلة ناتجة عن إعداداتي أم لا». ملاحظة: على أنظمة Linux / Windows، سيطلب منك تسجيل الدخول مجددًا (حيث تُخزن وسائل التحقق في دليل الإعدادات)، بينما على نظام macOS سيتم جلبها تلقائيًا لكونها مخزنة في Keychain. بعد الانتهاء، اخرج بشكل طبيعي، ولن يؤثر هذا الدليل المؤقت على مجلدك الحقيقي ~/.claude.

بإتمام هذه الخطوات الأربع، تكون قد مررت بالمسار الرئيسي لاستكشاف الأخطاء بنفسك: «الفحص ← الاطلاع على وسيلة التحقق ← فتح جلسة نظيفة للمقارنة». عند حدوث أي مشكلة في المستقبل، اتبع هذا الترتيب، فهو أفضل بكثير من المحاولات العشوائية المذعورة.

💡 الخلاصة في جملة واحدة: قم بتطبيق خطوات الفحص الأربع claude --version/doctor/status ← الجلسة النظيفة؛ وتذكر دائمًا «/doctor لتحديد الاتجاه، و/status لمعرفة وسيلة التحقق»، فمعظم المشاكل تنكشف في هذه الخطوة.


09 ملخص

يقدم لك هذا المقال إطار عمل لاستكشاف الأخطاء «خالٍ من التخمين ويعتمد على مسار واضح» — بدءًا من «تصنيف المشكلة أولاً» إلى «الأمر المناسب كتابته»، ووصولاً للأدوات المتقدمة للمشاكل المستعصية.

دعنا نستعرض النقاط الأساسية معًا:

موقفكالخطوة المتبعةالنقاط الهامة
عدم معرفة فئة المشكلةمطابقة جدول الأعراض + /doctorصنف المشكلة أولاً قبل البدء، ولا تجرب عشوائيًا
طلب تسجيل الدخول بشكل متكرر / تعطيل المؤسسة/status للتحقق من الوسيلةغالبًا بسبب متبقيات ANTHROPIC_API_KEY التي تتغلب على الاشتراك
عدم تفعيل الإعدادات / hook / MCP/context، /hooks، /mcpتحقق من «ما تم تحميله فعليًا»؛ وانتبه لحالة الأحرف وتداخل الإعدادات
بطء / استهلاك عالٍ للذاكرة / فشل البحث/compact + إعادة التشغيل / استبدال ripgrepغالبًا بسبب امتلاء السياق أو مشكلة بسيطة في البيئة
ظهور أخطاء API Error باللون الأحمرتقسيم الأخطاء إلى «الخادم / الحصة / مدخلاتك»خادم 5xx (راجع صفحة الحالة)، حصة limit (انتظر التصفير)، ومدخلات too long (الضغط)
تعذر تحديد المشكلة الغامضة--debug + مقارنة الإعدادات النظيفةمراجعة السجلات الحية + إلغاء نصف المتغيرات بالاستبعاد

يجب أن تكون قادرًا الآن على: التعامل مع أي عطل في Claude Code دون ذعر — استخدم جدول الأعراض لتحديد فئة المشكلة أولاً، واكتب /doctor لتشخيص الاتجاه و/status لمعرفة وسيلة التحقق؛ وتعامل مع المشكلة بناءً على فئتها (التثبيت / التحقق / الإعدادات / الأداء / الأخطاء);وعند الاستعصاء استخدم --debug لمراجعة السجلات أو طريقة مقارنة الإعدادات النظيفة لتحديد السبب؛ وإذا تعذر الحل أبلغ عنها باستخدام /feedback. تحويل هذه الخطوات إلى ذاكرة عضلية يرفعك من مرحلة «الارتباك عند الخطأ» إلى مرحلة «معرفة أين تبحث فور حدوث الخطأ».

إلى هنا، تكون قد مررت بالتطبيق العملي الكامل بدءًا من «التثبيت» إلى «الاستخدام السلس» ووصولاً إلى «كيفية الإنقاذ عند الأعطال». وما يتبقى هو تنظيم المصطلحات التي ظهرت في هذه الرحلة بوضوح تام.


المقال التالي 52 «مسرد المصطلحات (صديق للمبتدئين)» — خلال هذه القراءة، مرت عليك العشرات من المصطلحات مثل CLAUDE.md، ونافذة السياق، وMCP، وSubagent، وHook، ونقاط الفحص، وauto-compact... وتتداخل في ذهنك حاليًا. المقال التالي يقدم لك مسرد مصطلحات مبسط للغاية: شرح مبسط لكل مصطلح في جملة واحدة، مصحوبًا بالتشبيه الأكثر دقة، ومصنفة حسب الموضوع، لتكون متاحة للاطلاع السريع والفهم المباشر. فكر في الأمر: لو سألك أحدهم فجأة «ما هي العلاقة بين الـ token ونافذة السياق»، هل يمكنك شرحها بجملة واحدة الآن؟


قراءات موصى بها