إعدادات Claude Code الخمسة التي أنصح بضبطها من اليوم الأول: الوكلاء الفرعيون على Haiku لتوفّر حصتك، والـ hooks تحرس الأوامر الخطرة قبل تنفيذها، وأوامر سلاش مخصصة لما تكرره كل يوم، ووضع التخطيط قبل التعديلات الكبيرة، وأمر /mcp لتعرف أي خادم يعمل وأيّها تعطّل.
أشرح كل واحد منها من الطرفية (تيرمينال) ومن تبويب Code في برنامج Claude، وفي آخر المقال قائمة مراجعة من خمسة أسئلة تفحص بها إعداداتك.
| الإعداد | أين تضبطه |
|---|---|
| الوكلاء على Haiku | بلوك env في settings.json |
| hooks | بلوك hooks في settings.json |
| أمر سلاش مخصص | ملف في .claude/commands |
| وضع التخطيط | /plan أو Shift+Tab |
| /mcp | داخل Claude Code |

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

لتحويلهم إلى Haiku أضف هذا البلوك إلى الملف ~/.claude/settings.json وأنشئ الملف إن لم يكن موجودًا (على Windows يقع في %USERPROFILE%\.claude). وإن كان فيه إعدادات أخرى فضع المفتاح env بجوارها داخل القوسين نفسيهما. اخترت الملف الشخصي لأن القرار يخص حصتك أنت، ولأن قيم env في ملف المشروع تنتظر أن تثق بالمجلد.
{
"env": {
"CLAUDE_CODE_SUBAGENT_MODEL": "haiku",
"CLAUDE_CODE_SUBAGENT_MODEL_FORCE": "1"
}
}
المتغيّر الأول يحدد الموديل، والثاني يفرضه على جميع الوكلاء ومنها Explore و Plan المدمجان. وبدون الثاني يصير الأول قيمة افتراضية فقط: يتقدم عليها ما كُتب في ملف أي وكيل وما يمرره Claude نفسه، ويبقى Explore، وهو الذي يبحث في ملفات مشروعك، على موديل جلستك (أو على Opus إن كانت جلستك على Fable). وإن رأيت في الفيديو السطر الأول وحده بصيغة export للطرفية (تيرمينال) فقد كان قبل الإصدار 2.1.251 يتقدم على كل ما سواه. أما الآن فلا بد من الثاني، ويلزمه الإصدار 2.1.257 أو أحدث. وإن كان إصدارك أقدم فحدّث Claude Code بالأمر claude update.

وبلوك env أنسب من سطر export، لأن السطر لا يعيش إلا في نافذة الطرفية (تيرمينال) التي كتبته فيها، وبرنامج Claude لا يرث دائمًا ما تكتبه في طرفيتك، أما الملف فيقرؤه الاثنان. وفي تبويب Code طريقة ثانية: القائمة المنسدلة للبيئة في مربع الكتابة، ثم Local، ثم أيقونة الترس لتفتح محرر البيئة المحلية وتضيف المتغيّرين فيه. وتبويب Code يحمل نسخة Claude Code خاصة به برقم مستقل عن أمر claude في طرفيتك: اكتب /status في جلسة محلية لترى رقمه، وحدّثه من Check for Updates ثم ابدأ جلسة جديدة.
للتحقق اكتب /tasks أثناء عمل وكيل فيظهر موديله في سطره (من الإصدار 2.1.242)، واكتب /usage لترى نصيب الوكلاء الفرعيين من استهلاكك (في خطط Pro و Max و Team و Enterprise).
غير أن الفرض يجعل Claude Code يتجاهل حقل model في ملفات الوكلاء، فالوكيل الذي حددت له Opus لمراجعة صعبة سيعمل هو أيضًا على Haiku (عدا وكيل fork). رأيي: افرضه إن كان وكلاؤك كلهم للبحث والقراءة. وإن كان بعضهم يكتب كودًا فاحذف المتغيّرين، لأن الأول وحده يجعل Haiku موديل أي وكيل بلا سطر model، ومنهم general-purpose الذي قد يعدّل ملفاتك. ثم اكتب سطر model في ملف كل وكيل، داخل مجلد .claude/agents أو ~/.claude/agents:
---
name: doc-reader
description: Reads files and docs and returns a short summary
model: haiku
tools: Read, Grep, Glob
---
Read what you are asked to read and report the key points. Do not edit any file.
وإن أردت نقل Explore وحده إلى Haiku فاكتب Explore في سطر name وأبقِ سطر tools للقراءة، فيحل ملفك محل الوكيل المدمج.
كيف أستعمل hooks لأمنع أمرًا خطيرًا وأسجّل ما يفعله Claude؟
الـ hook أمر تكتبه أنت ويشغّله Claude Code تلقائيًا في لحظة محددة، فيحدث دائمًا ولا ينتظر أن يتذكره النموذج. تهمنا لحظتان: PreToolUse قبل أن ينفّذ Claude أي أداة، ويستطيع أن يمنعها، و PostToolUse بعد أن تنجح الأداة، ويتفاعل مع ما حدث لكنه لا يتراجع عنه لأن الأداة انتهت. فضع الحماية في الأولى، واترك للثانية التسجيل والتنسيق.

تكتب الـ hooks في بلوك hooks داخل ملف الإعدادات: ~/.claude/settings.json لكل مشاريعك، أو .claude/settings.json لهذا المشروع وتشاركه مع فريقك، أو .claude/settings.local.json له على جهازك وحده. وهذا مثال يمنع أي أمر فيه rm -rf ويسجّل كل أمر أو تعديل ينجح:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash|PowerShell",
"hooks": [
{
"type": "command",
"command": "grep -qE 'rm -rf|Remove-Item.*-Recurse' && { echo 'Blocked: recursive delete is not allowed' >&2; exit 2; }; exit 0"
}
]
}
],
"PostToolUse": [
{
"matcher": "Bash|PowerShell|Edit|Write",
"hooks": [
{
"type": "command",
"command": "cat >> ~/.claude/tool-log.jsonl"
}
]
}
]
}
}
يصل إلى الـ hook نص JSON فيه اسم الأداة وأمر الشل المطلوب، فيبحث فيه grep عن أمر الحذف المتكرر في Bash أو في PowerShell. إن وجده كتب الـ hook رسالة على stderr وخرج بالرمز 2، ومعناه امنع، فتصل الرسالة إلى Claude ويخبرك بأن الأمر محجوب ثم يغيّر خطته. وإن لم يجد شيئًا خرج بالرمز 0، فلا يقرر شيئًا ويتابع الأمر مساره المعتاد. ويضم matcher الأداتين Bash و PowerShell لأن Claude على Windows قد يستعمل الثانية بدل الأولى. وعند التجربة على الإصدار 2.1.283 مع أداة Bash بقي المجلد في مكانه وأعاد Claude الرسالة كما كتبتها، ولم يُحذف إلا بعد تعطيل الـ hook.

والـ hook الثاني يلحق سطر JSON واحدًا بالملف مع كل أمر أو تعديل ينجح، فتعرف ماذا فعل Claude وبأي ترتيب، وللأدوات التي تفشل حدث اسمه PostToolUseFailure. لكن السجل يحفظ مخرجات الأوامر ومحتوى الملفات التي كتبها، فلا تضعه في مجلد تشاركه.
وللتنسيق التلقائي بعد كل تعديل يضع دليل Claude Code مثالًا يشغّل Prettier ويقرأ مسار الملف بأداة jq. وإن ظهرت لك رسالة jq: command not found على Windows فثبّتها بالأمر winget install jqlang.jq. أو صِف المطلوب لـ Claude فيكتب لك الـ hook: «أضف hook في ملف إعداداتي يشغّل prettier على كل ملف تعدّله».
ولا تعتمد على الـ hook وحده، ولا على قاعدة deny وحدها. القاعدة تحجب الصيغة المعتادة للأمر، وهذا شكلها في ملف الإعدادات (ضعها داخل permissions الموجود عندك إن كان فيه):
{
"permissions": {
"deny": ["Bash(rm -rf *)"]
}
}
لكنها لا تلتقط الصيغ الملتفة مثل /bin/rm أو bash -c، والـ hook الذي يقرأ نص الأمر كله يلتقطها. وانتبه إلى ثلاثة أشياء. اسم الأداة في matcher حساس لحالة الأحرف، فاكتب Bash لا bash. والفاصلة الزائدة في ملف JSON تمنع تحميل الـ hooks. ومن عنده بلوك hooks قائم يضيف الحدث الجديد بجوار أحداثه ولا يكرر البلوك.
وتعمل أوامر الـ hooks على Windows عبر Git Bash، فثبّت Git for Windows قبل أن تجرّب، وإلا فشل أمر grep وقد يُحجب استدعاء الأداة بدل أن يمضي. وفي تبويب Code تعمل الـ hooks المكتوبة في هذه الملفات كما هي، لكن لا تعتمد هناك على الأمر /hooks الذي يعرضها، فاختبر الـ hook بتجربته. وفي الطرفية (تيرمينال) اكتب /hooks لترى كل ما ضبطته، واضغط Ctrl+O لترى رسالة الحجب أو الخطأ، أما النجاح الصامت فتعرفه من أثره.
أمر سلاش مخصص لبرومبتك الذي تكرره كل يوم
أي برومبت تكتبه كل يوم يصلح أن يصير أمرًا. أنشئ ملف Markdown في مجلد .claude/commands داخل مشروعك، فيصير اسم الملف بلا الامتداد اسم الأمر: الملف deploy.md يعطيك /deploy. واكتب فيه البرومبت نفسه بأي لغة تريد، وضع $ARGUMENTS حيث يجب أن يحل ما تكتبه بعد اسم الأمر:
---
description: Deploy the app to production
disable-model-invocation: true
---
Deploy $ARGUMENTS to production:
1. Run the test suite
2. Build the application
3. Push to the deployment target
4. Verify the deployment succeeded
فإذا كتبت /deploy staging حلّت staging مكان $ARGUMENTS. وسطر disable-model-invocation: true يمنع Claude من تشغيل الأمر من تلقاء نفسه، وهو مناسب لأي أمر له أثر خارجي كالنشر، فأنا لا أريد أن يقرر Claude وحده متى يصير المشروع جاهزًا للنشر.

وملفات commands القديمة تعمل كما هي، لكن الأوامر المخصصة اندمجت في المهارات وتفضّل الوثائق المهارة للأعمال الجديدة: الملف .claude/skills/deploy/SKILL.md يعطي الأمر نفسه ويتيح ملفات مرجعية وتحكمًا فيمن يستدعيه. ولتجد الأمر في كل مشاريعك ضع مجلد المهارة في ~/.claude/skills. وإن أردت أن تبني مهارة بنفسك فمهارة Skill Creator تبنيها معك وتختبرها، وشرحتُ الفكرة من أصلها في ما هي مهارات Claude.
وفي جلسة محلية بتبويب Code اكتب / في مربع الكتابة أو اضغط + ثم Slash commands لتتصفح الأوامر والمهارات، وابحث فيها عن اسم أمرك.
متى أبدأ بوضع التخطيط قبل أن يلمس Claude ملفاتي؟
في وضع التخطيط يقرأ Claude ملفاتك ويشغّل أوامر للاستكشاف ويكتب خطة، لكنه لا يعدّل شيئًا في الكود حتى توافق عليها. ابدأ به كلما مسّ التغيير ملفات كثيرة أو كودًا لا تعرفه، وتجاوزه حين تصحح سطرًا واحدًا.
تدخله بثلاث طرق: اكتب /plan ومعه المهمة في الرسالة نفسها، أو اضغط Shift+Tab حتى يظهر في الشريط السفلي plan mode on، أو شغّل Claude Code من الطرفية (تيرمينال) بهذا الأمر:
claude --permission-mode plan

حين تجهز الخطة يسألك Claude كيف يتابع، وأمامك ثلاثة خيارات:
-
Yes, and use auto mode للموافقة مع تشغيل وضع auto. -
Yes, manually approve edits للموافقة مع مراجعة كل تعديل بنفسك. -
No, keep planning لرفضها والاستمرار في التخطيط وإخباره بما يتغير.
وإن لم يكن وضع auto متاحًا عندك صار الخيار الأول Yes, auto-accept edits. واضغط Ctrl+G لتفتح الخطة في محرر النصوص وتعدّلها بيدك قبل أن توافق.
والوضع يحمي ملفاتك ولا يمنع كل أمر، إذ يشغّل Claude أثناء التخطيط أوامر للاستكشاف. ويبحث الوكيل الفرعي Plan للخطة، فيتبع إعداد Haiku إن فرضته.
وفي برنامج Claude اختر Plan من محدد الوضع بجوار زر الإرسال، وفيه أيضًا Manual و Accept edits و Auto (يظهر Auto حين يكون متاحًا). ويسري Plan على الجلسة الحالية فقط، فاخترْه من جديد في كل جلسة.
أمر /mcp يكشف أي خادم يعمل وأيّها تعطّل
خوادم MCP تعطي Claude أدوات خارجية كالبحث في الإنترنت وتشغيل المتصفح، وأكثر ما يضيّع وقتك أن يتعطل أحدها فلا تنتبه فيعمل Claude بدونه. اكتب /mcp داخل Claude Code فتظهر قائمة بكل خوادمك وحالة كل واحد، ومنها المتصل والذي يحتاج تسجيل دخول والذي فشل اتصاله، وبجانب المتصل عدد أدواته. واختر أي خادم لتظهر قائمته: أعد الاتصال به Reconnect، أو عطّله Disable، أو امسح تسجيل دخوله Clear authentication.

وحين يفشل خادم تجد في صفحة تفاصيله سطر Issue فيه ما أعاده الخادم من خطأ (من الإصدار 2.1.219). وأمر /mcp reconnect all يعيد المحاولة مع كل خادم فشل أو طلب دخولًا، ويحتاج الإصدار 2.1.284 أو أحدث. ويعرض /mcp أيضًا تحذيرات الإعداد، ومنها مسافة خفية في نهاية مفتاح لصقته.
ويفيدك في التوفير أيضًا: كل خادم يضيف أسماء أدواته إلى سياق Claude، وتنصح الوثائق بتعطيل ما لا تستعمله، وتعطيله من القائمة يوقف الاتصال به دون أن تخسر إعداده.
وللفحص من الطرفية (تيرمينال) اكتب:
claude mcp list
فيكتب بجانب كل خادم حالته، ومن حالاته:
| ما تقرؤه | معناه |
|---|---|
| Connected | متصل ويعمل |
| Needs authentication | يحتاج تسجيل دخول |
| Failed to connect | فشل الاتصال به |
وفي جلسة محلية بتبويب Code لا تعتمد على القائمة التفاعلية، فاستعمل الموصّلات: اضغط + ثم Connectors، وللتأكد من الاتصال اسأل Claude: «ما الموصّلات والأدوات المتاحة في هذه الجلسة؟». وطرق إضافة خمسة خوادم شائعة من الطرفية (تيرمينال) ومن البرنامج في خمسة MCP servers لـ Claude Code.
قائمة مراجعة إعداداتك في خمسة أسئلة
أجب عن هذه الأسئلة ومشروعك مفتوح أمامك:
- هل تعرف على أي موديل يعمل وكلاؤك الفرعيون؟ اكتب /tasks أثناء عمل وكيل وانظر موديله في سطره.
- هل في إعداداتك hook واحد على الأقل يحرس أمرًا لا تريد أن يمرّ؟ اكتب /hooks أو افتح ملف الإعدادات.
- هل هناك برومبت كتبته بحروفه أكثر من مرة؟ اجعله أمرًا: ملفًا في
.claude/commands أو مهارة. - هل تبدأ المهام التي تمسّ ملفات كثيرة بوضع التخطيط؟ اضغط Shift+Tab في أول مهمة كبيرة.
- هل كل خادم في /mcp متصل وتحتاجه فعلًا؟ عطّل ما لا تستعمله.

وإن أردت أن يراجع مشروعك غيرك فإضافة Claude Code Setup المجانية تقرأ ملفاته الأساسية وتقترح عليك خوادم MCP والمهارات والـ hooks والوكلاء الفرعيين والإضافات المناسبة، مع سبب كل اقتراح، وهي تقترح ولا تعدّل شيئًا.
ما لا يغطّيه هذا الدليل
- لا أشرح بقية أحداث الـ hooks مثل Stop و Notification و SessionStart، ولا أنواعها الأخرى http و mcp_tool و prompt و agent.
- الأوامر وأسماء المتغيّرات من وثائق Claude Code الرسمية كما قرأتها في ١٧ أكتوبر ٢٠٢٦، وبعضها يشترط إصدارًا بعينه. واختُبر أمر المنع والمتغيّران على الإصدار 2.1.283 مع أداة Bash فقط.
- لا أذكر رقمًا لتوفير Haiku، فالوثائق لا تذكره وهو يتوقف على عدد وكلائك وما يفعلونه. قِس نصيبهم بنفسك في /usage.
- لا أغطي الإعدادات التي يفرضها مسؤول المؤسسة، فقد تمنع موديلات بعينها أو تُسكت hooks المستخدم.
أسئلة يطرحها الناس
ما أفضل إعدادات Claude Code للمبتدئين؟
ابدأ بما لا يحتاج كتابة ملف: اكتب /plan في مهمتك التالية، ثم افتح /mcp لتراجع خوادمك. وبعدهما الأمر المخصص، ثم الـ hooks والوكلاء الفرعيون حين تحتاج الحماية أو التوفير.
هل أكتب المتغيّرين في الطرفية (تيرمينال) أم في ملف settings.json؟
في الملف ~/.claude/settings.json، لأن بلوك env يقرؤه كل من الطرفية (تيرمينال) وبرنامج Claude، أما سطر export فيعيش في نافذة طرفية (تيرمينال) واحدة.
هل يكفي Haiku لكل وكلائي الفرعيين؟
للبحث وقراءة الملفات يكفي غالبًا. أما الوكيل الذي يكتب كودًا أو يراجعه فاكتب في ملفه سطر model بالموديل الذي يناسبه، أو inherit ليتبع موديل جلستك، بدل فرض Haiku على الجميع.
هل ما زالت ملفات commands تعمل بعد دمج الأوامر في المهارات؟
نعم، تعمل بلا تغيير. وللأعمال الجديدة ابنِ مهارة بدلها، لأنها تتيح ملفات مرجعية وتحكمًا فيمن يستدعيها.
هل أستطيع ضبط هذه الإعدادات من برنامج Claude على الكمبيوتر؟
في أغلبها نعم: بلوك env وبلوك hooks يُكتبان في الملفات نفسها، والأوامر والمهارات تظهر في قائمة / عند الكتابة، ووضع التخطيط من محدد الوضع بجوار زر الإرسال، وخوادم MCP من الموصّلات.



