إنتقل إلى المحتوى الرئيسي

واجهة claude لسطر الأوامر: الأعلام التي تغيّر النتائج

متوسط

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

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

What you'll learn
  • أنواع الجلسات الستة التي يمكنك بدؤها، وأي علم يختار كل نوع
  • عقد الأعلام الخمسة الذي يجعل التشغيل بلا إشراف محدودًا وقابلًا للإجابة وقابلًا للتحليل
  • لماذا يبدو تعديل --append-system-prompt ثم إعادة تشغيل --continue بلا أثر — قاعدة الموجّه المسجَّل
  • كيف تختلف --bare و--safe-mode و--restricted، ومتى تلجأ إلى كل منها
  • التحكم بالجلسات الخلفية من الصدفة: agents وattach وlogs وrespawn وrm وdaemon
  • أزواج الأعلام التي يخلط الناس بينها: --tools مقابل --allowedTools مقابل --disallowedTools

ابدأ بالسؤال: أي نوع من الجلسات هذه؟​

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

ما تريدهالعلمما يمنحك إياه
محادثة تتابعها(بلا علم)جلسة تفاعلية في هذه الطرفية
إجابة واحدة ثم الخروج-p / --printتشغيل غير تفاعلي، والمخرجات إلى stdout
عمل يتجاوز عمر هذه الطرفية--bg / --backgroundجلسة خلفية؛ تطبع معرّفها وكيفية إدارتها
فرع معزول للتجريب-w / --worktreeشجرة عمل git تحت <repo>/.claude/worktrees/<name>
عمل على أجهزة Anthropic--cloudجلسة سحابية، أو متابعة تُضاف إلى طابور جلسة قائمة
التحكم بهذه الجلسة من هاتفك--rc / --remote-controlجلسة تفاعلية يمكن التحكم بها أيضًا من claude.ai أو تطبيق Claude

اثنان منها لا يمكن جمعهما: --bg و-p متنافيان، لأن أحدهما يعود فورًا والآخر ينتظر إجابة. وإن أردت أمر صدفة لا جلسة Claude في الخلفية، فاقرن --bg بـ--exec:

Run the test suite as a background job, not a Claude session

claude --bg --exec 'pytest -x'

كما يتحقق --bg من ثقة مساحة العمل للمجلد قبل أن يبدأ — فالجلسة الخلفية في مستودع غير موثوق تفشل من البداية لا في منتصف الطريق.

عقد الأعلام الخمسة للتشغيل بلا إشراف​

هذا أعلى ما في الصفحة قيمةً. تشغيل claude -p بلا إشراف له ثلاث طرق للإخفاق لا تعرفها الجلسة التفاعلية أصلًا: قد يتوقف عند طلبات صلاحيات لا أحد موجود للإجابة عنها، وقد يدور في حلقة أطول بكثير مما توقعت، وقد يُخرج نثرًا بينما كان سكربتك يحتاج إلى بيانات. خمسة أعلام تسدّ الثلاثة.

Guided walkthrough1 of 5
  1. `claude -p "query"` يطبع الإجابة ثم يخرج. كل ما يلي خاص بوضع الطباعة فقط، فهذا العلم هو البوابة لبقية الأعلام.

A CI step that cannot hang, cannot loop forever, and cannot overspend

claude -p "Review the staged diff and list bugs" \
--permission-prompts none \
--allowedTools "Read" "Bash(git diff *)" \
--max-turns 6 \
--max-budget-usd 2.00 \
--output-format json
--max-budget-usd تقدير، لا فاتورتك
  • يقارن Claude Code السقف بتقدير التكلفة الخاص به من جهة العميل، وقد يختلف عما يُحاسَب عليه فعلًا.
  • عندما تعود إلى محادثة بـ--continue أو --resume، لا تُحتسب المجاميع المستعادة من تشغيلات سابقة ضمن السقف — فثلاث تشغيلات مستأنفة تحت سقف 2 دولار قد تنفق معًا أكثر من 2 دولار.
  • عامله كقاطع دائرة لتشغيل واحد. وللحصول على سقف حقيقي لحساب أو مشروع كامل، راجع Hard Spend Caps.

وللاطلاع على الموقف الكامل من السماح بمتابعة التشغيل دون إنسان — ما يُسمح به وما يُحجب وما يُسجَّل — راجع تحصين التشغيلات المستقلة والوضع بلا واجهة وAgent SDK. أما للسقوف على مستوى المزوّد فراجع Hard Spend Caps.

عائلة موجّه النظام، والفخ الكامن فيها​

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

العلمما يفعله
--system-promptيستبدل الموجّه الافتراضي كاملًا بنصك
--system-prompt-fileيستبدله بمحتوى ملف
--append-system-promptيُلحق نصك بالموجّه الافتراضي
--append-system-prompt-fileيُلحق محتوى ملف بالموجّه الافتراضي
--system-prompt-snapshotoff يعيد بناء الموجّه عند كل طلب؛ on (الافتراضي) يعيد استخدام الموجّه المسجَّل

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

يمكنك الجمع بينهما. تمرير علم إلحاق مع علم استبدال يستبدل الافتراضي ثم يُلحق نصك. ومنذ v2.1.283 يمكنك أيضًا تمرير علم مع صيغته الملفية — --append-system-prompt و--append-system-prompt-file — فيستخدم Claude Code كليهما، ويأتي محتوى الملف أولًا أيًّا كان الترتيب الذي كتبتهما به.

الفخ: المحادثة المستأنفة تعيد استخدام الموجّه الذي وُلدت به
  • يبني Claude Code موجّه النظام مرة واحدة، عند أول طلب في المحادثة، ويسجّله في الجلسة.
  • وإلى أن تُضغط المحادثة، يستخدم كل طلب لاحق ذلك الموجّه المسجَّل — بما في ذلك بعد --resume أو --continue.
  • فتعدّل نص --append-system-prompt وتعيد تشغيل claude --continue ولا يتغير شيء. العلم ليس معطّلًا؛ المحادثة ما زالت تستخدم التسجيل.
  • يسري النص الجديد حين تُضغط المحادثة، أو في محادثة جديدة كليًا.
  • لتكرار صياغة النص عبر تشغيلات --continue، مرّر --system-prompt-snapshot off فيُعاد بناء الموجّه عند كل طلب. يتطلب الإصدار v2.1.257 أو أحدث.

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

وبالنسبة لأحمال العمل المبرمجة متعددة المستخدمين، ينقل --exclude-dynamic-system-prompt-sections السياق الخاص بكل مستخدم، مثل موقع الذاكرة التلقائية، من موجّه النظام إلى أول رسالة مستخدم — فتتشارك المهمة نفسها على أجهزة مختلفة بادئة مخزّنة واحدة. ولا ينطبق إلا على الموجّه الافتراضي، ويُتجاهل حين تضبط --system-prompt أو --system-prompt-file.

ثلاثة أعلام تُوقف أشياء، وليست متماثلة​

يلجأ الناس إليها بالتبادل ثم يتساءلون لماذا لم يتحرك العَرَض. إنها تحل ثلاث مشكلات مختلفة.

--bare--safe-mode--restricted
المشكلة التي يحلهاالبدء بطيء جدًا لاستدعاء مبرمجإعداداتي معطوبة ولا أعرف أي جزءيجب ألا تلمس حزمة التقييم هذا الجهاز المشترك
CLAUDE.md والمهارات والأوامر والوكلاء الفرعيون والإضافات وMCP والذاكرة التلقائيةلا تُكتشفلا تُحمَّللا يُحمَّل إلا الإعدادات المُدارة و--settings
الأدوات المضمّنةBash وقراءة الملفات وتحرير الملفاتتعمل بشكل طبيعيتُزال الأدوات التي تشغّل الأوامر/الشيفرة وWebFetch ما لم تُسمَّ واحدة واحدة في --tools
الوصول إلى الملفاتعاديعاديمحصور في مجلدات العمل
bypassPermissionsمسموحمسموحمرفوض
السياسة المُدارةتنطبقما تزال تنطبق، بما في ذلك خطافات السياسة وشريط الحالةتنطبق
أثر جانبييضبط CLAUDE_CODE_SIMPLEيضبط CLAUDE_CODE_SAFE_MODEيرفض إنشاء جلسات سحابية

اقرأ الجدول كتدرّج في النية: --bare من أجل السرعة، و--safe-mode من أجل التشخيص، و--restricted من أجل الاحتواء. وتفصيل مفيد: المهارات في مجلد تمرره بـ--add-dir تُحمَّل رغم --bare، وهكذا تُبقي قدرة واحدة بعينها في تشغيل مجرَّد من كل شيء سواها.

--safe-mode هو أول ما تلجأ إليه حين يسوء شيء ولا تعرف هل المشكلة في Claude Code أم في إعداداتك — بما في ذلك حين تحاول معرفة هل تخصيص ما هو ما يطلق الرجوع التلقائي بين النماذج. اقرنه بـclaude doctor الذي يطبع تشخيصات للتثبيت والإعدادات للقراءة فقط دون بدء أي جلسة. (أمر /doctor داخل الجلسة شيء مختلف: فهو يستطيع أيضًا تطبيق إصلاحات.) مزيد من تصحيح الأخطاء بدءًا من العَرَض في استكشاف أخطاء Claude Code. يتطلب --restricted الإصدار v2.1.248 أو أحدث.

التحكم بالجلسات الخلفية من الصدفة​

متى بدأت جلسات بـ--bg صارت الطرفية مستوى تحكم. لدورة الحياة كاملةً أمر، ولا شيء منها يتطلب فتح الواجهة التفاعلية.

Guided walkthrough1 of 6
  1. يفتح عرض الوكلاء لمراقبة الجلسات الخلفية المتوازية وتوزيعها. وللبرمجة النصية يطبع `--json` الجلسات النشطة كمصفوفة JSON، ويضيف `--json --all` الجلسات المكتملة. ويحصر `--cwd <path>` النتائج بالجلسات التي بدأت تحت ذلك المجلد. فتح العرض نفسه يحتاج طرفية تفاعلية؛ أما صيغة JSON فلا.

أما المقابل لهذا من داخل الجلسة — كيف يُنقل العمل إلى الخلفية، وما الذي ينتقل معه — ففي المهام الخلفية و/loop والجدولة.

أزواج الأعلام التي يخطئ الناس فيها​

ستة التباسات يحسن استباقها
  • --tools يقيّد الأدوات المضمّنة الموجودة. --allowedTools يحدد أي الاستدعاءات تتخطى طلب الإذن. --disallowedTools يرفض الاستدعاءات. هذه ثلاث مهام مختلفة، وتمرير الخطأ منها أشيع سبب لـ«لماذا ما زال يسألني».
  • --tools لا يؤثر في أدوات MCP إطلاقًا. ولإزالتها أيضًا أضف --disallowedTools "mcp__*".
  • الاسم المجرد في --disallowedTools يزيل الأداة من سياق Claude؛ أما القاعدة المحددة النطاق مثل Bash(rm *) فتُبقي الأداة متاحة وترفض الاستدعاءات المطابقة فقط.
  • --dangerously-skip-permissions يبدأ في bypassPermissions. أما --allow-dangerously-skip-permissions فيضيف ذلك الوضع إلى دورة Shift+Tab فقط، فتبدأ في وضع الخطة وتبدّل لاحقًا. والثاني هو ما أردته فعلًا في الغالب.
  • --add-dir يمنح الوصول إلى الملفات، لكن Claude Code لا يكتشف معظم إعدادات .claude/ من تلك المجلدات. إضافة مجلد ليست مثل تبنّي إعداداته.
  • --desktop لا يقبل موجّهًا ولا أعلامًا أخرى سوى --verbose وأعلام --debug، لأن تطبيق سطح المكتب يبدأ الجلسة بنفسه. يتطلب الإصدار v2.1.285 أو أحدث.

تفصيل صغير يريح: إن أخطأت في كتابة أمر فرعي اقترح Claude Code أقرب مطابقة وخرج دون بدء جلسة — فـclaude udpate يطبع Did you mean claude update? بدلًا من فتح محادثة لم ترد بدءها.

اختبر نفسك​

Check yourself

0/3
  1. تشغّل مهمتك الليلية `claude -p` داخل تطبيق Agent SDK تسأل دالة `canUseTool` فيه شخصًا، وفي الليل تعلق حتى انتهاء المهلة. أي علم هو الأرجح غيابًا؟
  2. تعدّل نص --append-system-prompt وتعيد تشغيل `claude --continue` فلا يتغير السلوك. لماذا؟
  3. هناك تخصيص يكسر جلستك ولا تعرف أيها. أي علم يعزله مع إبقاء أدواتك وصلاحياتك تعمل بشكل طبيعي؟
اضغط Enter أو مفتاح المسافة لقلب البطاقة. استخدم مفتاحي السهمين الأيسر والأيمن للتنقل بين البطاقات.تم إظهار المصطلح.
1 / 8
Key takeaways
  • اختر نوع الجلسة أولًا — فالعلم الذي يحدده يقيّد كل علم آخر يمكنك تمريره.
  • يحتاج التشغيل بلا إشراف إلى خمسة أعلام لا علمًا واحدًا: -p و--permission-prompts none و--max-turns و--max-budget-usd وتنسيق مخرجات منظَّم.
  • عامل --max-budget-usd كقاطع دائرة لتشغيل واحد، لا كسقف للفاتورة. فهو تقدير من جهة العميل والمجاميع المستأنفة تفلت منه.
  • تسجّل المحادثات موجّه نظامها عند أول طلب. فإن بدا تعديل الموجّه متجاهَلًا فهذا هو السبب — استخدم --system-prompt-snapshot off أثناء التكرار.
  • --bare للسرعة، و--safe-mode للتشخيص، و--restricted للاحتواء. واختيار الخطأ منها يضيّع عصرًا كاملًا.
  • --help ناقص بحكم التصميم. ومرجع CLI هو مصدر الحقيقة، وحدود الإصدارات مهمة — تحقق من claude -v قبل أن تلوم علمًا.

التالي​