جدول المحتويات
تنتهي من بناء ميزة في Claude Code. يُظهر الفرق +2,148 −14، والفرع هو main، وكل ما تبقى هو الضغط على "Create PR" — وعندها يظهر شريط أحمر أعلى الشاشة:
⚠ طلب غير صالح
تعذّر التحقق من حالة طلب السحب.
قد تكون هذه المعلومات قديمة.
الجزء المزعج هو أن زر "Create PR" لا يزال موجودًا، ومع ذلك لم يعد بإمكانك معرفة حالة طلب السحب الحالية — أهو غير منشأ بعد، أم مفتوح بالفعل، أم تم دمجه. فجأةً، ودون أي علاقة بتغييرات الكود لديك، يصبح فقط "كيف يبدو هذا الفرع على GitHub الآن" غير مرئي.
الخلاصة أولاً: في معظم الحالات ليس هذا خطأً قاتلاً. يجلب Claude Code حالة طلب السحب من GitHub عبر GitHub CLI (gh)، وعندما يفشل هذا الاستعلام يظهر هذا الشريط الأحمر. السبب واحد من ثلاثة — gh غير مثبّت، أو المصادقة لا تمر، أو انقطع الاتصال للحظة — أو أن هذا الفرع ليس له طلب سحب بعد / لم يُدفَع إلى المستودع البعيد. يستعرض هذا المقال الآلية كما تصفها الوثائق الرسمية وسجل التغييرات (CHANGELOG)، والأسباب الجذرية الستة، وترتيب التشخيص، وورقة أوامر مختصرة، وكيفية منع التكرار.
"تعذّر التحقق من حالة طلب السحب" بنظرة سريعة
— طلب Claude Code من GitHub معرفة الحالة؛ فشل ذلك الطلب الواحد
الجوهر: ليست "مشكلة في الكود" بل "مشكلة اتصال/مصادقة مع 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_TOKEN | CHANGELOG 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 أسباب لتعذّر جلب حالة طلب السحب
gh غير مثبّتgh مثبّتًا ومُصادَقًا (رسميًا). إذا فشل gh --version فهو غير مثبّت. نزّله من cli.github.com.gh غير مسجَّل الدخول، أو أُبطل رمزه. يبطل GitHub تلقائيًا الرمز الذي لم يُستخدم لمدة عام، وتنتهي صلاحية رمز PAT في التاريخ المحدد عند إنشائه (GitHub Docs). يخبرك gh auth status بذلك.main)، فهو مطابق للأساس ولا يمكن فتح طلب سحب منه.gh auth login، تُمنح repo وread:org وgist منذ البداية (الحد الأدنى الرسمي). تنقص الصلاحيات عندما تمرّر PAT عبر --with-token أو GH_TOKEN. ولا يصل رمز PAT الدقيق (fine-grained) إلا إلى المستودعات التي سمحت بها.gh والمصادقة والشبكة كلها سليمة، فعادةً يزول بعد انتظار قصير وإعادة المحاولة.
الأسباب 1–5 هي مشكلات تهيئة/حالة (أصلحها ولن تتكرر).
السبب 6 عابر. البدء بالسببين 1–2 (وجود gh ومصادقته) والسبب 3 (الدفع / وجود طلب السحب) هو أقصر طريق.
4. أصلحه الآن — ترتيب التشخيص
عندما يظهر الشريط الأحمر، اعمل عبر 4 خطوات من الأعلى إلى الأسفل. تغطي الخطوتان 1 و2 الأسباب 1–3.
ترتيب التشخيص
gh والمصادقةgh --version لمعرفة إن كان gh مثبّتًا، وgh auth status للتحقق من المصادقة. عند وجود مشكلة ينتهي برمز خروج 1 ويذكر السبب. أعد تسجيل الدخول بـ gh auth login.git push -u origin <branch>، ثم تأكد من وجود طلب سحب بـ gh pr view أو gh pr status. إن لم يوجد، فأنشئ واحدًا.gh auth refresh النطاقات الدنيا.
القاعدة: "اشتبه في اتصال 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 | هل يوجد طلب سحب للفرع الحالي / مفتوح أم مدموج |
| إنشاء طلب سحب عبر CLI | gh 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.