يعني Prompt is too long في Claude Code أن الإدخال المرسل يتجاوز حد نافذة السياق. في الواجهة التفاعلية يظهر الشكل الأساسي سطرًا واحدًا يبدأ بـContext limit reached، أما الأشكال الأطول التي تذكر السبب فتبقى بصيغة Prompt is too long ·. يتغير الجزء الثاني من النص بحسب الحالة، وفيه الخطوة التالية. قارن النص الظاهر على شاشتك بالقائمة أدناه.

# الواجهة التفاعلية (الحالة العادية)
Context limit reached · /compact or /clear to continue

# الواجهة التفاعلية (عند إيقاف الضغط التلقائي)
Context limit reached · /compact or /clear to continue · auto-compact is off · /config to turn it on

# الواجهة التفاعلية (عند تعطيل الضغط كليًا عبر DISABLE_COMPACT)
Context limit reached · /clear to continue

# سجل المحادثة ومخرجات الخيار -p
Prompt is too long

# عند فشل الضغط التلقائي بسبب خطأ آخر
Prompt is too long · automatic compaction failed: <الخطأ الأصلي>

# محادثة من تبادل واحد فقط، بلا سجل يمكن تلخيصه
Prompt is too long · this conversation is a single exchange and cannot be compacted — …
Prompt is too long · the request is ~<N> tokens (limit <الحد>) … A single-exchange conversation cannot be compacted; …

# عبر Amazon Bedrock
Input is too long for requested model.

# عند فشل أمر الضغط اليدوي نفسه (راجع القسم الرابع)
Error during compaction: Conversation too long. Press esc twice to go up a few messages and try again.

# نص الاستجابة (الأرقام مثال) من API
prompt is too long: 209117 tokens > 200000 maximum

استئناف العمل الآن →

لا يقتصر الإدخال على ما كتبته للتو، بل قد يشمل سجل المحادثة والملفات المقروءة ونتائج الأدوات والتعليمات. وعبارة 209117 tokens > 200000 maximum في نص استجابة API تعني أن الإدخال البالغ 209,117 توكن تجاوز الحد البالغ 200,000 توكن. تشمل نافذة السياق نفسها الإدخال والمخرجات المولدة لهذه الإجابة؛ ويشير هذا الخطأ إلى أن الإدخال وحده تجاوز الحد. تختلف معالجته عن usage limit الناتج عن نفاد حصة الخطة خلال فترة معينة.

استخدم /compact للسجل الطويل، وقلّل الإدخال إذا كانت الرسالة الأولى كبيرة، وعالج أولًا أي سبب مذكور لفشل الضغط. هذه مسارات التعافي الأساسية. الضغط التلقائي مفعّل افتراضيًا ويمنع هذا الخطأ عادةً، وإذا ظهر رغم ذلك فهذه المسارات الثلاثة هي ما يفصل بين الحالات. يستند المقال إلى شرح أخطاء Claude Code الرسمي ومواصفات API حتى 21 سبتمبر 2026، ليوضح الأسباب والخطوات وشروط 200K و1M. ويعالج استدعاء API مباشرةً على حدة.

Claude Code

قد يتطلب الخطأ نفسه تقليل أشياء مختلفة

أثناء محادثة طويلة

لخّص السجل السابق. إذا امتلأت النافذة فورًا بعد الضغط، قسّم عمليات القراءة الكبيرة.

الإدخال الأول كبير أصلًا

لا توجد محادثة سابقة لتلخيصها. ابدأ بلصق ومرفقات وتعليمات وأعباء أدوات أصغر.

الضغط نفسه يفشل

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

استخدم /context لتفصيل النافذة، و/usage للاستهلاك خلال الفترة أو حصة الخطة. كلاهما يتعلق بالتوكنات، لكنهما يقيسان أمرين مختلفين.

1. معنى هذا الخطأ

نافذة السياق هي الحد الأقصى للمعلومات التي يستطيع النموذج الرجوع إليها وتوليدها في إجابة واحدة. تُقاس بالتوكنات لا بالحروف، وتشمل الإدخال والمخرجات الحالية وتوكنات التفكير. الإدخال المقروء من ذاكرة API المؤقتة يشغل النافذة أيضًا. التخزين المؤقت يغير التسعير أو المعالجة، ولا يجعل المساحة صفرًا. المرجع هو مواصفات نافذة السياق من Anthropic.

يحدث Prompt is too long عندما لا يتسع الإدخال المرسل وحده داخل النافذة. حتى السؤال القصير قد يكون جزءًا من طلب كبير إذا أُرفقت به ملفات أو محادثات سابقة. لذلك قد لا يفيد تقصير السؤال الأخير وحده. للأساسيات، راجع ما نافذة السياق؟

قرب الحد، ينظّف Claude Code مخرجات الأدوات القديمة ويلخّص المحادثة عند الحاجة. ويتوقف رغم ذلك في حالات مثل اللصق الضخم أو تعطيل الضغط التلقائي أو فشل عملية الضغط نفسها. وقد تمتلئ النافذة مجددًا إذا أُعيدت قراءة الملف الضخم نفسه فور التلخيص. يكشف الجزء الثاني من النص الوارد في أول المقال الحالة التي تواجهها: automatic compaction failed: يتبعه سبب فشل الضغط، وsingle exchange يعني أنه لا يوجد سجل يمكن تلخيصه، وauto-compact is off يعني أن الضغط التلقائي معطّل.

2. ما الذي يملأ نافذة السياق؟

يتبع التفصيل التالي شرح طريقة عمل Claude Code. سجل المحادثة المحفوظ ليس مطابقًا لما يُرسل الآن إلى النموذج. إزالة نتائج أدوات قديمة أو التلخيص يغيران محتوى النافذة النشطة.

العنصرما يدخل النافذةما ينبغي مراجعته
سجل المحادثةالتبادلات المرسلة في الطلب الحالي؛ يستبدل الضغط بعض الأجزاء بملخص/compact للمهمة نفسها، و/clear لمهمة تالية غير مرتبطة
الملفات ونتائج الأدواتالمحتوى المقروء ونتائج البحث ومخرجات الأوامر وغيرهاضيّق البحث، واقرأ الأسطر المطلوبة، أو فوّض التحقيق المفصل لوكيل فرعي
MCPأسماء الأدوات وتعليمات الخادم؛ تحمّل Tool Search التعريفات المفصلة عند الحاجة افتراضيًاافحص العبء الفعلي عبر /context وعطّل الخوادم غير المستخدمة من /mcp
CLAUDE.md والذاكرةالتعليمات المطبقة والذاكرة المحمّلة؛ لا تدخل كل ملفات الذاكرة التلقائية دائمًااختصر القواعد الدائمة وافصل الشروح الخاصة بمهام معينة
المهاراتعادةً الوصف عند البداية والمحتوى عند الاستخدام؛ قد تؤجل الإعدادات الأوصاف أيضًاراجع المرشحين غير الضروريين للاستدعاء التلقائي والمحتوى الطويل جدًا
تعليمات النظامتعليمات التشغيل التي يضيفها Claude Code أو بيئة الاتصالابدأ بالتعليمات والمرفقات والأدوات التي تتحكم بها

تُحمّل تعريفات أدوات MCP افتراضيًا عبر Tool Search عند الحاجة إليها فقط. في بداية الجلسة تدخل أسماء الأدوات وأوصاف الخوادم وحدها، لذا فإضافة خوادم لا تؤثر كثيرًا في النافذة. وتُحمّل التعريفات منذ البداية في حالات مثل ضبط ENABLE_TOOL_SEARCH=false، أو تحديد alwaysLoad لخادم، أو ضبط CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS. وعند المرور عبر بوابة بواسطة ANTHROPIC_BASE_URL، يعمل Tool Search افتراضيًا ابتداءً من v2.1.304 (الشروط كاملة في جدول إعدادات Tool Search الرسمي). قِس العبء الفعلي عبر /context لا بعدد الخوادم.

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

يعرض /context إشغال النافذة الحالية، ويعرض /usage التوكنات المستهلكة واستخدام الخطة. تكلفة الأخير تقديرية وليست فاتورة نهائية. في البيئات المدعومة، يفحص /skill-doctor عبء المهارات أيضًا. إن لم تجده، ابدأ بـ/context. راجع ما الذي يستهلك سياقك؟ لخطوات القياس، وقائمة الأوامر الرسمية لشروط التوفر.

3. حجم النافذة: 200K و1M

تعني 200K مئتي ألف توكن، و1M مليونًا. لكن سعة النموذج، والسعة التي يستخدمها Claude Code لهذا الاتصال، وعتبة الضغط التلقائي، وشروط التسعير أرقام منفصلة. اعرض النموذج والحساب الحاليين عبر /status، والخيارات المتاحة عبر /model.

افصل السعة عن شروط الاستخدام

أمثلة تستخدم 200K

نماذج مثل Sonnet 4.5. قد يعامل Claude Code نموذجًا يدعم 1M على أنه 200K بسبب جهة الاتصال أو إعداد يعطّل 1M.

أمثلة تستخدم 1M

من الأمثلة على Anthropic API عائلة Fable وSonnet 5 وما بعده وOpus 4.7 وما بعده. يكون 1M افتراضيًا أحيانًا، فلا يلزم دائمًا إلحاق [1m].

المصدر: إعدادات النماذج والسياق الموسع من Anthropic. تختلف نقطة بدء الضغط التلقائي بحسب الإعدادات والنموذج.

في الاشتراكات، لا تدخل أرصدة الاستخدام في الحساب إلا مع Opus 4.6 وSonnet 4.6، اللذين يبلغان 1M عبر المتغير [1m]. يتضمن Max وTeam وEnterprise سياق Opus 4.6 بحجم 1M، بينما يتطلب على Pro أرصدة استخدام؛ ويتطلب Sonnet 4.6 بحجم 1M أرصدة استخدام في كل الاشتراكات. أما عائلة Fable وSonnet 5 وما بعده (ومنه Sonnet 5.5 الحالي) وOpus 4.7 وما بعده عند الاتصال مباشرةً بـAnthropic API فتختلف: سياق 1M افتراضي لجميع الخطط بما فيها Pro، دون أرصدة استخدام إضافية أو اختيار [1m]. للبوابات وإعدادات تعطيل 1M استثناءات، فلا تحكم من اسم النموذج وحده.

تعني «الأسعار القياسية» لـ1M عدم إضافة علاوة للسياق الطويل لكل توكن عند تجاوز 200K. لا تعني زيادة الإدخال بلا حدود مقابل المبلغ الإجمالي نفسه. معالجة توكنات أكثر تزيد الاستخدام. وشمول 1M في الخطة أو احتسابه من الأرصدة مسألة أخرى.

تختلف نسبة الحروف إلى التوكنات بحسب النموذج والمحتوى أيضًا. لا تفترض زيادة ثابتة مع كل نموذج أحدث؛ استخدم عدّ التوكنات للنموذج المستهدف عند التعامل مع API. تحتاج بعض المهام نافذة أكبر، لكن إزالة السجلات غير المرتبطة والتعليمات المكررة أولًا تساعد على تقدير السعة اللازمة.

4. استئناف العمل الآن

اختر الخطوة بحسب ما حدث: سجل متنامٍ أم ملف ضخم أُضيف. الخيارات التالية مرتبة حسب الأولوية.

FIXES

خطوات إفراغ مساحة في النافذة

1. /compact عند وجود سجل
لخّص سجل المحادثة لإفراغ مساحة. يمكنك تحديد التركيز، مثل /compact ركّز على خطأ المصادقة. يقل العبء مع الحفاظ على السياق.
2. /clear عند الانتقال إلى مهمة أخرى
ابدأ المحادثة من جديد. سجّل القرارات اللازمة أولًا. لا يحذف ذلك ملفات المشروع.
3. انقل القراءات الكبيرة خارج المحادثة الرئيسية
اقرأ الملفات الضخمة بحسب نطاق أسطر، أو اطلب من وكيل فرعي التحقيق في نافذته وإرجاع الاستنتاجات فقط.
4. قلّل ما يُحمّل باستمرار
افحص التفصيل عبر /context ثم عطّل خوادم MCP غير الضرورية واختصر CLAUDE.md. افصل الإجراءات المفصلة لتُقرأ عند الحاجة.
5. نموذج 1M عند الحاجة الفعلية
لمهام تحتاج فعلًا نافذة كبيرة، مثل قاعدة شيفرة ضخمة، استخدم /model لاختيار نموذج بسياق 1M. نفّذ التنظيف في الخطوات 1–4 أولًا. لا تعطّل الضغط التلقائي؛ اتركه مفعّلًا افتراضيًا.

استخدم 1 للسجل الطويل و2 للمهمة التالية غير المرتبطة. للإدخال الأول الضخم استخدم 3 و4. إذا ظهر سبب جذري لفشل الضغط، أصلحه أولًا.

إذا فشل /compact برسالة Error during compaction: Conversation too long، فالمساحة لا تكفي للملخص الناتج. اضغط Esc مرتين ومربع الإدخال فارغ (أو استخدم /rewind) لتفتح قائمة الإرجاع، ثم اختر رسالة تسبق الإدخال الكبير لإرجاع المحادثة. لإرجاع المحادثة وحدها مع إبقاء الشيفرة كما هي، اختر Restore conversation. ثم أعد محاولة الضغط؛ وإن لم تكفِ المساحة، استخدم /clear وابدأ بإدخال أصغر. المحادثة السابقة محفوظة، ويمكن فتحها مجددًا عبر /resume. خيارات القائمة في شرح الإرجاع الرسمي.

أما إذا تلت automatic compaction failed: رسالةُ فشل مصادقة أو عدم توفر نموذج، فأصلح ذلك قبل إفراغ النافذة؛ فإلى أن تصلحه سيفشل /compact أيضًا بالخطأ نفسه. وإذا أعاد /compact الرسالة Not enough messages to compact.، فالمحادثة تبادل واحد فقط ولا يوجد ماضٍ يمكن تلخيصه. نفّذ /clear، ثم أعد الإرسال بعد تقليل النص الملصق أو تصغير المرفقات. إن امتلأت النافذة فورًا بعده، احصر الملفات أو السجلات الكبيرة الأخيرة في الأجزاء اللازمة.

عند استدعاء API مباشرةً

/compact و/clear عمليتان في Claude Code وليستا أمرَي تحكم يُرسلان إلى Messages API. إذا تجاوز الإدخال وحده النافذة، تعيد API الخطأ 400 من نوع invalid_request_error («prompt is too long»). راجع messages وsystem وtools والمرفقات المرسلة، وقدّر الإدخال عبر API عدّ التوكنات للنموذج المستهدف. صغّر الطلب نفسه بتلخيص السجل القديم أو تضييق المستندات أو حذف التعريفات غير اللازمة. لا تقطع الطلب بما يفسد الترابط بين استدعاء الأداة ونتيجتها. توجد آلية compaction في API للمحادثات الطويلة أيضًا، لكن نماذجها وإعداداتها منفصلة عن أوامر Claude Code.

بعد التعافي، تأكد من وصول إجابة لطلب صغير ثم أعد المعلومات اللازمة تدريجيًا. إعادة إرسال الإدخال الضخم نفسه والانتظار لا تزيد السعة. للتنظيم المعتاد، راجع توفير التوكنات في Claude Code.

5. التمييز بين الأخطاء المتشابهة

الإدخال الزائد وحد المخرجات المضبوط وبلوغ النافذة أثناء التوليد واستهلاك الفترة مشكلات مختلفة. ميّز بينها بنص الخطأ أو stop_reason في API، لا بمظهر إجابة مبتورة.

العَرَضالمعنىالإجراء الأساسي
Prompt is too long / Context limit reached / N tokens > M maximumموضوع المقال: الإدخال تجاوز نافذة السياق/compact أو /clear أو تفويض القراءات الكبيرة لوكيل فرعي أو نموذج 1M
تتوقف الإجابة مبكرًا (stop_reason: max_tokens)بلغت المخرجات قيمة max_tokens المحددة في الطلبراجع إعداد المخرجات وحد النموذج في API أو اطلب المتابعة
stop_reason: model_context_window_exceededبلغ الإدخال مع المخرجات حد النافذة أثناء التوليدقلّل الإدخال لترك مساحة للمخرجات
usage limit reachedنفدت حصة استخدام الخطة، وهو مستقل عن نافذة التوكناتانتظر إعادة الضبط؛ معالجة حدود الاستخدام
Usage credits required for 1M contextمشكلة إتاحة: سياق 1M المختار غير مشمول بالخطة، وليس تجاوز إدخال أو نفاد حصةفعّل الأرصدة وأعد التشغيل، أو استخدم /model للعودة إلى النافذة القياسية

بحسب مواصفات Anthropic API، يقبل Claude 4.5 وما بعده الطلب إذا اتسع الإدخال نفسه، ولو تجاوز مجموع الإدخال وmax_tokens المطلوب النافذة. عند بلوغ الحد أثناء التوليد، يتوقف بسبب model_context_window_exceeded، لذا قِصر الإجابة وحده لا يثبت أن السبب max_tokens. للمشكلات الأخرى، راجع أخطاء Claude Code الشائعة.

ذو صلة: عندما يظهر السجل في تطبيق Codex لكن الإرسال وحده يفشل، فالمشكلة في حالة المحادثة لا في سعة الإدخال، ونتناولها في خطأ thread not found في Codex: خطوات الفحص وحالة تعافٍ فعلية.

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

قبل العمل: افحص المحتوى المحمّل عبر /context. ضيّق المستندات الكبيرة بالبحث أو نطاق الأسطر بدل لصقها كاملة. عند تقسيم التحقيق، حدّد أيضًا نطاق الاستنتاجات التي يعيدها الوكيل الفرعي.

أثناء العمل: اترك الضغط التلقائي مفعّلًا كما هو افتراضيًا. إذا ظهر في سطر الخطأ auto-compact is off، فأعد تفعيله من /config. وإذا كنت قد عطّلته بمتغير البيئة DISABLE_AUTO_COMPACT فلن تظهر هذه الإشارة، لذا أزل ذلك الإعداد. راقب أيضًا إعادة قراءة المادة نفسها بعد كل ضغط. الضغط اليدوي الأكثر تكرارًا ليس أفضل تلقائيًا؛ المهم توقيت /compact وتحديد القرارات الواجب الاحتفاظ بها.

بين المهام: قبل مهمة غير مرتبطة، احفظ المعلومات اللازمة في ملفات وابدأ محادثة جديدة عبر /clear. تُحفظ المحادثة السابقة، لكن استئناف السجل الضخم نفسه للتعافي قد يعيد السبب. احتفظ في CLAUDE.md بالقواعد اللازمة كل مرة فقط.

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

الخلاصة

يعني Prompt is too long أن كامل الإدخال، بما فيه السجل والمرفقات، لا يتسع، وليس الجملة الأخيرة فقط. اختر بحسب الحالة: /compact للسجل الطويل، أو تقليل الإدخال الأول الكبير، أو إصلاح السبب الجذري لخطأ الضغط.

يخبرك الجزء الثاني من نص الخطأ (automatic compaction failed: أو single exchange أو auto-compact is off) بالحالة التي تواجهها. تُحمّل تعريفات MCP المفصلة عند الحاجة افتراضيًا، لذا قِس العبء عبر /context لا بعدد الخوادم. ومع 1M، تتحدد السعة والسعر وعتبة الضغط التلقائي كلٌّ على حدة بحسب النموذج والاتصال والخطة. وعند استخدام API مباشرةً، راجع الطلب المرسل وسبب التوقف بدل الاعتماد على أوامر Claude Code.

FAQ

س. هل “Prompt is too long” و“usage limit reached” متماثلان؟
ج. لا. الأول تجاوز حد السياق لطلب واحد، والثاني حصة استخدام الخطة. قلّل المحتوى المرسل للإدخال الزائد. لا يعيد /clear حصة الخطة.

س. لماذا يحدث مع تفعيل الضغط التلقائي؟
ج. الأسباب هي إدخال ضخم، أو غياب محادثة سابقة للتلخيص، أو فشل عملية الضغط، أو امتلاء النافذة فور التلخيص. ويمكنك التمييز بينها من الجزء الثاني من نص الخطأ. إذا ذُكر بعد automatic compaction failed: سبب مثل المصادقة، فعالجه أولًا. وإذا ظهر single exchange، فنفّذ /clear وابدأ بإدخال صغير.

س. يفشل /compact أيضًا برسالة “Conversation too long”.
ج. المساحة لا تكفي للملخص. اضغط Esc مرتين ومربع الإدخال فارغ لتفتح قائمة الإرجاع، وأرجع المحادثة إلى رسالة تسبق الإدخال الكبير ثم أعد المحاولة. لإبقاء الشيفرة، اختر Restore conversation. إن لم تكفِ المساحة، سجّل المهم وابدأ بإدخال أصغر بعد /clear.

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

س. كيف أعرف ما يشغل النافذة؟
ج. في Claude Code اعرض التفصيل عبر /context. يختلف ذلك عن الاستهلاك التراكمي أو حصة الخطة في /usage. تعريفات MCP تُحمّل افتراضيًا عند الحاجة، لذا لا يكشف عدد الاتصالات وحده العبء. مع API قدّر الطلب باستخدام API عدّ التوكنات للنموذج المستهدف.