تنتهي من بناء ميزة في Claude Code. يُظهر الفرق +2,148 −14، والفرع هو main، وكل ما تبقى هو الضغط على "Create PR" — وعندها يظهر شريط أحمر أعلى الشاشة:

⚠ طلب غير صالح
تعذّر التحقق من حالة طلب السحب.
قد تكون هذه المعلومات قديمة.

الجزء المزعج هو أن زر "Create PR" لا يزال موجودًا، ومع ذلك لم يعد بإمكانك معرفة حالة طلب السحب الحالية — أهو غير منشأ بعد، أم مفتوح بالفعل، أم تم دمجه. فجأةً، ودون أي علاقة بتغييرات الكود لديك، يصبح فقط "كيف يبدو هذا الفرع على GitHub الآن" غير مرئي.

الخلاصة أولاً: في معظم الحالات ليس هذا خطأً قاتلاً. يجلب Claude Code حالة طلب السحب من GitHub عبر GitHub CLI (gh)، وعندما يفشل هذا الاستعلام يظهر هذا الشريط الأحمر. السبب واحد من ثلاثة — gh غير مثبّت، أو المصادقة لا تمر، أو انقطع الاتصال للحظة — أو أن هذا الفرع ليس له طلب سحب بعد / لم يُدفَع إلى المستودع البعيد. يستعرض هذا المقال الآلية كما تصفها الوثائق الرسمية وسجل التغييرات (CHANGELOG)، والأسباب الجذرية الستة، وترتيب التشخيص، وورقة أوامر مختصرة، وكيفية منع التكرار.

CLAUDE CODE · PR STATUS

"تعذّر التحقق من حالة طلب السحب" بنظرة سريعة

— طلب Claude Code من GitHub معرفة الحالة؛ فشل ذلك الطلب الواحد

العَرَض
حالة طلب السحب غير معروفة
منشأ أم لا — يصبح العرض قديمًا
السبب
تعذّر الوصول إلى GitHub
انتهت صلاحية gh auth أو لا دفع/طلب سحب بعد
الخطوة الأولى
gh auth status
تحقق مما إذا كانت المصادقة فعّالة

الجوهر: ليست "مشكلة في الكود" بل "مشكلة اتصال/مصادقة مع GitHub."
يمكن لعملك (توليد الكود، التزامات الكوميت) أن يستمر عادةً. لا حاجة للتسرع في جلسة جديدة.

1. ما الذي يقوله هذا الخطأ فعليًا

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

المهم هو فهم أن أمرين لم يحدثا. أولاً، الكود والفرق الخاصان بك ليسا تالفين — تغييرات +2,148 −14 لا تزال موجودة تمامًا في شجرة عملك. ثانيًا، إنه لا يقول "فشل إنشاء طلب السحب." هذا تحذير في جانب القراءة: "كمقدمة لإنشاء طلب السحب، حاولت قراءة حالة طلب السحب الحالية (غير منشأ / مفتوح / مدموج / مغلق) وفشلت."

بعبارة أخرى، هذا الشريط هو رسالة من نوع "تعذّرت المزامنة"، وهو عادةً مؤقت. رأيي: عندما ترى هذا الشريط الأحمر، أول ما ينبغي الاشتباه به هو ليس "كودك" بل "حالة الاتصال مع GitHub" — وتحديدًا هذه الثلاثة: هل انتهت صلاحية المصادقة، وهل الشبكة قابلة للوصول، وهل هذا الفرع أصلاً في حالة يمكن أن يوجد فيها طلب سحب (مدفوع إلى المستودع البعيد).

2. الخلفية: كيف يرى Claude Code طلب السحب الخاص بك

حالة طلب السحب (غير مُنشأ / مفتوح / مدموج / مغلق) موجودة فقط على خوادم GitHub. يقوم Claude Code بالاستعلام من GitHub في كل مرة ويعكس الإجابة في الشارة والأزرار على الشاشة. مسار الاستعلام موصوف في وثائق تطبيق سطح المكتب من Anthropic وفي سجل تغييرات Claude Code، وكلاهما يعتمد على GitHub CLI (gh) (تمت مطابقته مع النصوص الأصلية في 30 سبتمبر 2026).

المكانكيف تُجلب حالة طلب السحبالمصدر
تطبيق سطح المكتب، تبويب Code (زر "Create PR" وشريط حالة CI)يستعلم دوريًا عن نتائج الفحوص عبر gh / يشترط أن يكون gh مثبّتًا ومُصادَقًا (إن لم يكن مثبّتًا، يطلب التطبيق تثبيته في أول مرة تحاول فيها إنشاء طلب سحب)وثائق سطح المكتب، قسم "Monitor pull request status"
الطرفية (CLI)، شارة طلب السحب أسفل سطر الإدخالعادةً gh pr view / على Bedrock وVertex وFoundry، أو عند إيقاف القياس عن بُعد، يستدعي واجهة GitHub API مباشرةً بالرمز من gh auth token أو GH_TOKEN أو GITHUB_TOKENCHANGELOG 2.1.251
عدد مرات فحص تلك الشارةتفحص بوتيرة أقل ما دام طلب السحب لم يتغير / الدفع أو أمر gh pr يحدّثها فورًا / عند العودة إلى الطرفية تتخطى إعادة الفحص إن كان آخر فحص قبل أقل من دقيقةCHANGELOG 2.1.248, 2.1.247

أي أن حالة طلب السحب لا تُجلب إلا حين تجتمع أربعة شروط: "gh مثبّت، وgh مُصادَق، والشبكة متاحة، والفرع وطلب السحب موجودان على المستودع البعيد". إذا غاب أيٌّ منها يظهر الشريط الأحمر. ولاحظ أيضًا أنه مع تسجيل الدخول عبر المتصفح (الافتراضي) يحفظ gh الرمز في مخزن بيانات الاعتماد في النظام، ولا يلجأ إلى ملف نصي عادي إلا إذا تعذّر استخدام ذلك المخزن (يعرض gh auth status المكان؛ دليل GitHub CLI، gh auth login).

ما لا تذكره الوثائق الرسمية

تفاصيل عدد مرات استعلام تطبيق سطح المكتب، وأي حالات الفشل تُظهر "طلب غير صالح" غير مذكورة في الوثائق الرسمية حتى 30 سبتمبر 2026. يعتمد التشخيص في هذا المقال على ما يوثّقه الجدول أعلاه (هل gh موجود ومُصادَق ومتصل).

3. لماذا يحدث — 6 أسباب جذرية

يمكن تجميع المسارات المؤدية إلى "تعذّر التحقق من حالة طلب السحب" في نحو 6. فحصها من الأعلى إلى الأسفل هو الأسرع.

6 ROOT CAUSES

6 أسباب لتعذّر جلب حالة طلب السحب

السبب 1 · gh غير مثبّت
مراقبة طلبات السحب في تطبيق سطح المكتب تشترط أن يكون gh مثبّتًا ومُصادَقًا (رسميًا). إذا فشل gh --version فهو غير مثبّت. نزّله من cli.github.com.
السبب 2 · عدم تسجيل الدخول / إبطال الرمز
gh غير مسجَّل الدخول، أو أُبطل رمزه. يبطل GitHub تلقائيًا الرمز الذي لم يُستخدم لمدة عام، وتنتهي صلاحية رمز PAT في التاريخ المحدد عند إنشائه (GitHub Docs). يخبرك gh auth status بذلك.
السبب 3 · لا طلب سحب بعد / لم يُدفَع
الفرع ليس على المستودع البعيد، أو لم تُنشئ طلب السحب. لا توجد "حالة" لجلبها. وإذا كان فرع عملك هو الفرع الافتراضي نفسه (مثل main)، فهو مطابق للأساس ولا يمكن فتح طلب سحب منه.
السبب 4 · الشبكة / البروكسي
بروكسي الشركة أو VPN أو انقطاع الاتصال أو DNS تجعل api.github.com غير قابل للوصول. إذا فشلت عمليات Git الأخرى أيضًا، فهذا هو السبب شبه المؤكد.
السبب 5 · صلاحيات الرمز (مع PAT)
مع تدفق المتصفح الافتراضي لـ gh auth login، تُمنح repo وread:org وgist منذ البداية (الحد الأدنى الرسمي). تنقص الصلاحيات عندما تمرّر PAT عبر --with-token أو GH_TOKEN. ولا يصل رمز PAT الدقيق (fine-grained) إلا إلى المستودعات التي سمحت بها.
السبب 6 · فشل عابر (غير ضار غالبًا)
حد معدل واجهة GitHub API، أو خلل شبكي عابر، أو عرض قديم. إذا كان gh والمصادقة والشبكة كلها سليمة، فعادةً يزول بعد انتظار قصير وإعادة المحاولة.

الأسباب 1–5 هي مشكلات تهيئة/حالة (أصلحها ولن تتكرر).
السبب 6 عابر. البدء بالسببين 1–2 (وجود gh ومصادقته) والسبب 3 (الدفع / وجود طلب السحب) هو أقصر طريق.

4. أصلحه الآن — ترتيب التشخيص

عندما يظهر الشريط الأحمر، اعمل عبر 4 خطوات من الأعلى إلى الأسفل. تغطي الخطوتان 1 و2 الأسباب 1–3.

4 STEPS

ترتيب التشخيص

الخطوة 1 · تحقق من gh والمصادقة
شغّل gh --version لمعرفة إن كان gh مثبّتًا، وgh auth status للتحقق من المصادقة. عند وجود مشكلة ينتهي برمز خروج 1 ويذكر السبب. أعد تسجيل الدخول بـ gh auth login.
الخطوة 2 · الدفع ووجود طلب السحب
ادفع إلى المستودع البعيد بـ git push -u origin <branch>، ثم تأكد من وجود طلب سحب بـ gh pr view أو gh pr status. إن لم يوجد، فأنشئ واحدًا.
الخطوة 3 · الاتصال والصلاحيات
أوقف الـ VPN/البروكسي أو جرّب شبكة أخرى. إذا كنت تستخدم PAT، راجع صلاحياته (classic: repo وread:org وgist). مع مصادقة المتصفح، يعيد gh auth refresh النطاقات الدنيا.
الخطوة 4 · انتظر / أعد المحاولة
إذا كانت 1–3 سليمة، فهو عابر. انتظر لحظة وأعد المحاولة، أو حدّث Claude Code إلى أحدث إصدار وأعد التشغيل.

القاعدة: "اشتبه في اتصال GitHub قبل أن تشتبه في الكود."
أمر gh auth status في الخطوة 1 هو أسرع خطوة منفردة نحو السبب الحقيقي.

أمر أخير: حتى عندما يظهر هذا الشريط، فإن التزاماتك المحلية وشجرة عملك آمنة. لا حاجة للتسرع نحو git reset أو التخلص من جلستك. أصلح الاتصال أولاً، ثم اضغط "Create PR" مجددًا. وإذا تعذّر الإنشاء من الواجهة، شغّل gh pr create في الطرفية لإنشاء طلب السحب دون المرور بواجهة Claude Code. وإذا لم يُدفَع الفرع بعد، يسألك gh pr create إلى أين تدفعه (دليل GitHub CLI).

5. ورقة الأوامر المختصرة

إليك الأوامر المستخدمة للتشخيص. شغّلها من الأعلى إلى الأسفل وستضيّق طبيعيًا أيُّ سبب ينطبق.

الغرضالأمرما الذي تنظر إليه
هل gh مثبّت؟gh --versionهل يطبع رقم إصدار (إن لم يفعل، ثبّته من cli.github.com)
هل المصادقة فعّالة؟gh auth statusهل يظهر "Logged in to github.com" / رمز خروج 1 عند وجود مشكلة
إعادة تسجيل الدخولgh auth loginعبر المتصفح افتراضيًا (يمنح repo وread:org وgist)
استعادة النطاقاتgh auth refreshيعيد النطاقات الدنيا (repo وread:org وgist)
تحقق من تهيئة المستودع البعيدgit remote -vهل يشير origin إلى مستودع GitHub الصحيح
ادفع الفرعgit push -u origin <branch>يلبي الشرط المسبق لوجود طلب السحب
طلب سحب الفرع الحاليgh pr viewالطريقة نفسها التي تستخدمها شارة الطرفية / إن فشل هنا فستفشل الشارة أيضًا
قائمة طلبات السحب وحالتهاgh pr statusهل يوجد طلب سحب للفرع الحالي / مفتوح أم مدموج
إنشاء طلب سحب عبر CLIgh pr createالإنشاء مباشرة دون الواجهة الرسومية (حل بديل)
فحص الاتصالgh api rate_limitالاستجابة تعني أن الاتصال جيد / تحقق من المتبقي لحدود المعدل

إذا أعاد gh auth status عبارة "Logged in" واستجاب gh pr view بشكل طبيعي، فالأرجح أن عرض Claude Code قديم فحسب. حدّث إلى أحدث إصدار وأعد التشغيل، وستعود الشارة إلى المزامنة الصحيحة.

6. هل يمكنك تجاهل "قد تكون قديمة"؟

عبارة "قد تكون هذه المعلومات قديمة" تعني أشياء مختلفة في مواقف مختلفة. تريد أن تميّز متى يمكن تجاهلها عن متى تحتاج إلى إجراء.

✅ آمن للتجاهل (غير ضار)

  • gh auth status سليم
  • عمليات Git/الدفع الأخرى تمر بشكل جيد
  • يزول بعد انتظار قصير / إعادة محاولة
  • شارة طلب السحب تبدو قديمة للحظة فقط

→ مجرد تأخر مزامنة / تخزين مؤقت. تابع العمل.

⚠ يحتاج إلى إجراء (حقيقي)

  • gh auth status يقول "not logged in"
  • كل من الدفع والسحب يفشل
  • لا يزول مهما كررت المحاولة
  • الضغط على "Create PR" لا يتقدم

→ مشكلة حقيقية في المصادقة/الاتصال. أصلحها بالخطوات 1–3.

الاختبار الحاسم هو، مرة أخرى، أمر gh auth status واحد. إذا كان أخضر (Logged in) ومرت عمليات Git الأخرى، فيمكنك ترك الشريط وشأنه. على العكس، إذا كانت المصادقة معطّلة، فإن العمليات التي تتجاوز طلبات السحب (الدفع، جلب المراجعات، إلخ) ستفشل عاجلاً أم آجلاً أيضًا، لذا من الحكمة إصلاحها في الحال.

7. قائمة منع التكرار

قائمة عملية كي لا يظل الشريط الأحمر نفسه يزعجك.

① على جهاز جديد، ثبّت gh وأكمل gh auth login قبل إنشاء طلبات السحب من Claude Code. ② اعتد التحقق من gh auth status من حين لآخر (يبطل GitHub الرمز غير المستخدم لمدة عام، وتنتهي صلاحية PAT في التاريخ المحدد عند إنشائه). ③ إذا استخدمت PAT، فأنشئ رمزًا classic يتضمن repo وread:org وgist، أو أدرج المستودع المستهدف في رمز fine-grained. ④ لا تترك رموزًا قديمة في متغيري البيئة GH_TOKEN / GITHUB_TOKEN (لهما الأولوية على تسجيل الدخول المحفوظ؛ دليل GitHub CLI). ⑤ عندما تبدأ العمل على فرع جديد، نفّذ git push -u origin <branch> مبكرًا. ⑥ على شبكة الشركة (بروكسي/VPN)، تحقق من الاتصال مرة واحدة بـ gh api rate_limit. ⑦ حافظ على تحديث Claude Code — كما يُظهر سجل التغييرات، تغيّرت طريقة جلب شارة طلب السحب عدة مرات. ⑧ إذا ظلت الواجهة غير مستقرة، فأنشئ طلبات السحب بـ gh pr create.

الخلاصة

رسالة Claude Code "تعذّر التحقق من حالة طلب السحب. قد تكون هذه المعلومات قديمة" تشير إلى ليس عيبًا في الكود، بل أن الاستعلام من GitHub (الذي يعتمد رسميًا على gh CLI) لم يمر. عادةً ما يكون تأخر مزامنة غير ضار، لكن قد يختبئ وراءه gh غير مثبّت، أو مصادقة منتهية، أو فرع لم يُدفَع / طلب سحب مفقود، أو مشكلة شبكة، أو صلاحيات PAT.

أسرع طريقة للتشخيص: ① تحقق من gh والمصادقة بـ gh --version وgh auth status، ② تحقق من الدفع ووجود طلب السحب بـ git push + gh pr view، ③ افحص الاتصال والصلاحيات، ④ إن كان كل شيء سليمًا، انتظر وأعد المحاولة وحدّث إلى أحدث إصدار. وإذا تعذّر الإنشاء من الواجهة حقًا، فأنشئه مباشرة بـ gh pr create. "اشتبه في اتصال GitHub قبل أن تشتبه في الكود" — تذكّر ذلك، ولن يخيفك هذا الشريط الأحمر بعد الآن.

قراءات ذات صلة: ما هو GitHub Copilot، ما هو Claude Agent SDK، خطأ 400 في كتل التفكير لدى Claude Code، وسير عمل النشر بـ Claude Code / Cursor.

الأسئلة الشائعة

س. إذا ظهر هذا الخطأ، هل سيُفقد كودي أو فرقي؟
ج. لا. هذا تحذير في جانب الاتصال بأنه "تعذّرت قراءة حالة طلب السحب"؛ وليس له أي تأثير على التزاماتك المحلية أو شجرة عملك أو الفرق (مثل +2,148 −14). لا حاجة للتسرع نحو git reset أو التخلص من جلستك.

س. ما الذي ينبغي أن أتحقق منه أولاً؟
ج. gh auth status. هذا الأمر الواحد يخبرك ما إذا كانت مصادقة GitHub لديك فعّالة. إذا رأيت "Logged in"، فالمصادقة سليمة — وهو عادةً عابر، لذا انتظر وأعد المحاولة. وإن لم تكن كذلك، أعد تسجيل الدخول بـ gh auth login وتُحلّ معظم الحالات.

س. هل يمكنني ترك "قد تكون هذه المعلومات قديمة" وشأنها؟
ج. إذا كانت كل من المصادقة والشبكة فعّالة، نعم. غالبًا ما يكون مجرد تأخر مزامنة / تخزين مؤقت ويزول بعد انتظار قصير أو إعادة محاولة. لكن إذا قال gh auth status "not logged in"، أو حتى فشل الدفع، فتلك مشكلة حقيقية — أصلحها.

س. زر "Create PR" لا يمرّ مهما حاولت.
ج. شغّل gh pr create مباشرة من الطرفية، متجاوزًا الواجهة الرسومية؛ فهذا يتيح لك إنشاء طلب السحب نفسه. وإذا ظل يفشل، تحقق مما إذا كان الفرع على المستودع البعيد بـ git push -u origin <branch>، وما إذا كان origin يشير إلى المستودع الصحيح بـ git remote -v.

س. يحدث كثيرًا على شبكة شركتي. لماذا؟
ج. على الأرجح أن بروكسي أو VPN أو جدار حماية يحجب حركة المرور إلى api.github.com. تحقق مما إذا كان gh api rate_limit يستجيب؛ وإن لم يفعل، فأنت بحاجة إلى سماح من جانب الشبكة (إضافة نطاقات GitHub إلى قائمة السماح). كما يساعد إيقاف الـ VPN مؤقتًا لعزل المشكلة.

س. شارة طلب السحب أسفل سطر الإدخال في الطرفية تبقى قديمة.
ج. بحسب سجل التغييرات، تفحص الشارة بوتيرة أقل ما دام طلب السحب لم يتغير، والدفع أو أمر gh pr يحدّثها فورًا (2.1.248). إذا لم تتحدث، فتحقق من أن gh pr view يعمل في طرفيتك. على Bedrock أو Vertex أو Foundry، أو عند إيقاف القياس عن بُعد، تستدعي الشارة الواجهة مباشرةً بالرمز من gh auth token أو GH_TOKEN أو GITHUB_TOKEN بدلاً من gh pr view (2.1.251)، فتأكد من صلاحية ذلك الرمز.

س. gh auth status سليم، لكن حالة طلب السحب ما زالت لا تُجلب.
ج. اشتبه في نطاق الرمز المستخدم فعليًا. رمز PAT الدقيق (fine-grained) لا يصل إلا إلى المستودعات التي سمحت بها، لذا قد لا يقرأ طلبات السحب في المستودع المستهدف رغم صحة تسجيل الدخول. كذلك إذا كان متغير البيئة GH_TOKEN أو GITHUB_TOKEN مضبوطًا، يستخدمه gh مقدَّمًا على تسجيل الدخول المحفوظ (دليل GitHub CLI). تحقق من عدم وجود رمز غير مقصود.

أخطاء Claude Code ذات صلة: مرجع أخطاء Claude Code، Unable to connect، 529 Overloaded / 500.