SSD Nodes Learn 🎉 VPS من $5.50/شهر
الأدلة Matt Connorبقلم Matt Connor · آخر تحديث في 2026-08-10

ما هو الوضع التلقائي في Claude Code؟

يصبح الوضع التلقائي الإعداد الافتراضي في Claude Code يوم 14 أغسطس 2026 لخطط Pro وMax وTeam. تعرّف إلى أوضاع الأذونات واختيار الخوادم غير المراقبة.

ما الذي يغيّره الوضع التلقائي في 14 أغسطس 2026

يشغّل الوضع التلقائي في Claude Code استدعاءات الأدوات من دون التوقف لطلب موافقتك، ويرسل كل إجراء إلى نموذج مصنّف منفصل لمراجعته أولاً. ابتداءً من 14 أغسطس 2026، سيكون هذا الوضع هو الوضع الذي تبدأ به الجلسات الجديدة في خطط Pro وMax وTeam. يمكنك تبديل الأوضاع في أي وقت، ولا يُستبدل الإعداد الافتراضي الذي عيّنته لنفسك مسبقاً.

توضح الوثائق هذا التغيير كما يلي:

ابتداءً من 14 أغسطس 2026، يصبح الوضع التلقائي هو وضع الأذونات الافتراضي للجلسات الجديدة في خطط Pro وMax وTeam. يمكنك تبديل الأوضاع في أي وقت. يظل الإعداد الافتراضي الذي عيّنته بنفسك سارياً ما لم توافق على مطالبة التبديل التي تظهر مرة واحدة، ولا يتغير الإعداد الافتراضي الذي تديره مؤسستك.

هناك بندان أهم من التاريخ. يظل defaultMode الذي عيّنته في ملف إعداداتك الشخصي سارياً بعد التغيير. كما يظل الإعداد الافتراضي الذي تنشره مؤسستك عبر الإعدادات المُدارة سارياً. ويضيف منشور الإعلان أن الوضع التلقائي سيظل اختيارياً لخطط Enterprise وللحسابات التي تستخدم API خلال المرحلة الأولى من الطرح.

إذا كنت تشغّل Claude Code على VPS (خادم خاص افتراضي)، فمن المفيد قراءة هذا التغيير قبل دخوله حيز التنفيذ. مطالبة الأذونات هي نقطة تحقق تحتاج إلى شخص أمام لوحة المفاتيح. وفي الخادم البعيد، غالباً لا تكون موجوداً أمامه، لذلك يظل الوضع الذي تبدأ به الجلسة مفعّلاً لساعات.

أوضاع أذونات Claude Code، من أعلى مستوى من الإشراف إلى أدناه

توجد ستة أوضاع. الاسم في بداية كل سطر هو القيمة التي تكتبها في الإعدادات أو تمررها إلى --permission-mode.

  • default: يطلب Claude الإذن قبل كل استخدام جديد لأداة. وتُنفَّذ عمليات القراءة داخل دليل العمل من دون مطالبة. وتسمّي واجهة CLI (واجهة سطر الأوامر) هذا الوضع يدوي، وتقبل manual اسماً مستعاراً بدءاً من Claude Code v2.1.200.
  • plan: يقرأ Claude الملفات وينفّذ الأوامر للاستكشاف، ولا يعدّل المصدر. وتظل التعديلات محظورة إلى أن توافق على الخطة.
  • acceptEdits: تُنفَّذ تعديلات الملفات من دون مطالبة، إلى جانب أوامر نظام الملفات mkdir وtouch وrm وrmdir وmv وcp وsed. وينطبق ذلك فقط على المسارات داخل دليل العمل أو additionalDirectories. أما كل أمر shell آخر، فيستمر في طلب الإذن.
  • auto: تُنفَّذ كل العمليات، مع فحص المصنّف لكل إجراء أولاً. وتظل قواعد ask الصريحة تفرض طلب الإذن.
  • dontAsk: يرفض Claude Code تلقائياً أي عملية كانت ستتطلب مطالبتك. ولن تُنفَّذ إلا قواعد allow، وأوامر Bash المضمّنة للقراءة فقط، واستدعاءات hook وافق عليها PreToolUse. ولا تنتظر الجلسة إدخالاً مطلقاً.
  • bypassPermissions: تُتخطّى المطالبات وفحوصات الأمان، بما في ذلك عمليات الكتابة إلى المسارات المحمية مثل .git و.claude.

اضغط Shift+Tab أثناء الجلسة للتنقل من default إلى acceptEdits ثم إلى plan. ويعرض شريط الحالة الوضع الذي وصلت إليه، مثل ⏵⏵ auto mode on أو ⏸ manual mode on باللون الرمادي. ولا تظهر الأوضاع الأخرى في هذا التنقل افتراضياً. وينضم auto إليه عندما يستوفي حسابك متطلباته. ولا ينضم bypassPermissions إليه إلا إذا بدأت الجلسة باستخدام --permission-mode bypassPermissions أو --dangerously-skip-permissions. ولا يظهر dontAsk فيه مطلقاً، لذا اضبطه باستخدام claude --permission-mode dontAsk.

يتطلب الوضع التلقائي أيضاً نموذجاً حديثاً، وهذا هو السبب المعتاد لعدم ظهوره إطلاقاً. اعتباراً من August 2026، تسرد الوثائق Claude Opus 4.6 أو أحدث، وSonnet 4.6 أو أحدث، وFable 5 على Anthropic API، وتذكر أن النماذج الأقدم مثل Sonnet 4.5 غير مدعومة على أي موفر. إذا أبلغ Claude Code بأن الوضع التلقائي غير متاح، فهذا يعني أن أحد هذه المتطلبات غير مستوفى. ولا يكون السبب انقطاعاً مؤقتاً، لذلك لن يحل الانتظار المشكلة.

تسري ضابطان في كل وضع، بما في ذلك bypassPermissions: قواعد deny وقواعد ask الصريحة. وهذان هما الضابطان اللذان تحتفظ بهما أياً كان الوضع الذي تبدأ به الجلسة.

ما الذي يحظره مصنّف الوضع التلقائي

المصنّف نموذج ثانٍ يقرأ الإجراء المعلّق ويقرر ما إذا كان يطابق ما طلبته. وتصف الوثائق مهمته في جملة واحدة:

يراجع نموذج مصنّف منفصل الإجراءات قبل تنفيذها، ويحظر أي إجراء يتجاوز طلبك، أو يستهدف بنية تحتية غير معروفة، أو يبدو مدفوعاً بمحتوى عدائي قرأه Claude.

يُحظر افتراضياً ما يلي، وهي الفئات التي يواجهها مشغّل الخادم غالباً:

  • تنزيل التعليمات البرمجية وتنفيذها، مثل curl | bash
  • عمليات النشر والترحيل في بيئة الإنتاج
  • Force push
  • تعديل البنية التحتية المشتركة
  • فتح نفق أو reverse shell يجعل خدمة محلية قابلة للوصول من الإنترنت العام
  • طباعة بيانات اعتماد أو token صالح للاستخدام إلى نص الجلسة أو إلى ملف

يُسمح افتراضياً بما يلي:

  • عمليات الملفات المحلية في دليل العمل
  • تثبيت التبعيات المعلنة في ملفات القفل أو ملفات manifest
  • طلبات HTTP للقراءة فقط
  • الدفع إلى أي فرع من مستودع تعمل فيه

لا تعتمد على ملخص مثل الملخص أعلاه. شغّل claude auto-mode defaults لطباعة قوائم القواعد الكاملة بتنسيق JSON، واقرأ مجموعة القواعد التي جاءت مع الإصدار المثبّت لديك.

توجد حدود موثقة يجب أخذها في الاعتبار قبل الاعتماد على هذا السلوك. أولاً، يرى المصنّف رسائلك، واستدعاءات الأدوات، ومحتوى CLAUDE.md، بينما تُحذف نتائج الأدوات؛ لذلك لا يمكن لنص داخل ملف أو صفحة ويب قرأها Claude أن يخاطب المصنّف مباشرة. ثانياً، عندما يحظر المصنّف إجراءً 3 مرات متتالية أو 20 مرة في جلسة واحدة، يتوقف الوضع التلقائي مؤقتاً ويعود Claude Code إلى طلب موافقتك. لا يمكن ضبط هذه الحدود. في الوضع غير التفاعلي مع الخيار -p، لا يوجد شخص يمكن مطالبته بالموافقة، لذلك تؤدي عمليات الحظر المتكررة إلى إنهاء الجلسة بدلاً من ذلك.

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

مكان وجود الأنماط في settings.json

كل ما سبق هو كائن واحد في ملف الإعدادات.

{
  "permissions": {
    "defaultMode": "auto",
    "allow": [
      "Bash(npm run test *)",
      "Bash(git status)"
    ],
    "ask": [
      "Bash(git push *)",
      "Bash(docker compose up *)"
    ],
    "deny": [
      "Read(./.env)",
      "Read(./secrets/**)",
      "Bash(curl *)"
    ]
  }
}

تُقيَّم القواعد بالترتيب: المنع، ثم السؤال، ثم السماح. تحدد أول مطابقة بهذا الترتيب النتيجة، ولا تتغلب قاعدة أضيق على قاعدة أوسع تسبقها. تحظر قاعدة منع لـ Bash(aws *) الأمر aws s3 ls حتى إذا سمحت أيضاً بهذا الأمر المحدد، لذلك لا يمكن لقاعدة المنع أن تتضمن استثناءات.

تُعد ask نوع القاعدة الذي يحقق الفائدة في الوضع التلقائي. يزيل الوضع التلقائي المطالبة الروتينية، وتعيد قاعدة ask هذه المطالبة للأمر المحدد الذي تريد أن يتطلب موافقة شخص. ينتمي أمر النشر إلى هذه القاعدة. وينطبق الأمر نفسه على Bash(git push *) إذا أردت نقطة تحقق قبل خروج الشيفرة من الخادم. ويُعد الاحتفاظ بملفات بيانات الاعتماد في deny النصف الآخر من ذلك، ويرتبط بـإبعاد بيانات الاعتماد عن متناول الوكيل من البداية.

ملفات الإعداد نفسها، مرتبة من الأقل أولوية إلى الأعلى:

  • ~/.claude/settings.json: إعدادات المستخدم، وتُطبَّق في كل مشروع.
  • .claude/settings.json: إعدادات المشروع، وتُحفظ في المستودع.
  • .claude/settings.local.json: إعداداتك الخاصة بمستودع واحد، ويتجاهلها git.
  • الإعدادات المُدارة التي ينشرها المسؤول. في Linux يوجد هذا الملف في /etc/claude-code/managed-settings.json. لا يمكن لأي شيء تجاوز قاعدة صلاحيات مُدارة، بما في ذلك خيار سطر الأوامر.

توجد هنا حالة شائعة لها سبب موثق. يتم تجاهل defaultMode: "auto" عندما يأتي من .claude/settings.json أو .claude/settings.local.json، بدءاً من Claude Code v2.1.142، حتى لا يتمكن مستودع من تفعيل الوضع التلقائي لنفسه عبر توفير ملف إعدادات. إذا ضبطته هناك، تبدأ الجلسة في وضع default من دون طباعة أي خطأ في أي مكان. انقل السطر إلى ~/.claude/settings.json. شغّل /permissions لسرد كل قاعدة نشطة بجوار الملف الذي جاءت منه.

المفتاحان اللذان يعطّلان الوضع

لدى المسؤولين مفتاحا إيقاف، وكلاهما يتطلب السلسلة "disable" بدلاً من قيمة منطقية.

{
  "permissions": {
    "disableAutoMode": "disable",
    "disableBypassPermissionsMode": "disable"
  }
}

توضح الوثائق بدقة موضع وضعهما:

لمنع استخدام الوضع bypassPermissions أو auto، اضبط permissions.disableBypassPermissionsMode أو permissions.disableAutoMode على "disable" في أي ملف إعدادات. يكون هذان الخياران مفيدين خصوصاً في الإعدادات المُدارة التي لا يمكن تجاوزها.

يزيل disableAutoModeauto من دورة Shift+Tab، ويرفض --permission-mode auto عند بدء التشغيل. ويؤدي disableBypassPermissionsMode الوظيفة نفسها لوضع التجاوز، كما يعمل من أي نطاق. لذلك يمكنك ضبطه في ~/.claude/settings.json الخاص بك لمنع نفسك من الوصول إلى وضع تفضّل عدم استخدامه عند الساعة 2 صباحاً على خادم قيد التشغيل. أما على خادم يستخدمه أشخاص آخرون، فضَع الخيارين في /etc/claude-code/managed-settings.json بدلاً من ذلك، لأن ملف إعدادات المستخدم يخص المستخدم، بينما الملف المُدار لا يخصه.

لماذا يحتاج الوضع التلقائي على VPS إلى حدّ للعزل

يراجع المصنّف إجراءً واحداً في كل مرة. لكنه لا يقيّد ما ينفّذه الإجراء المعتمد بعد ذلك. توضّح الوثائق هذا الحدّ صراحةً:

المصنّف أداة تحكم لكل إجراء، وليس حدّاً للعزل، لذلك يضيف حدّ العزل طبقة دفاع إضافية عند التشغيل غير المراقب، ولا يُعدّ مطلوباً بالطريقة نفسها المطلوبة لـ --dangerously-skip-permissions.

لذلك، يكون الجمع المناسب لصندوق بعيد هو الوضع التلقائي مع بيئة تقبل فقدانها، وليس bypassPermissions مع الأمل. يوثّق استخدام وضع التجاوز للبيئات المعزولة فقط: الحاويات، أو الأجهزة الافتراضية، أو حاويات التطوير التي لا تصل إلى الإنترنت، حيث لا يستطيع Claude Code إتلاف نظام المضيف. أما VPS الذي يشغّل قاعدة بياناتك وReverse Proxy لديك، فلا يندرج تحت أي من هذه الحالات.

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

يفرض Claude Code قاعدة root بنفسه. في Linux وmacOS، يرفض بدء التشغيل في وضع التجاوز عند استخدام sudo أو عند التشغيل بصفة root:

--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons

يُتجاوز هذا الفحص داخل sandbox معرّف، ولذلك تكون الإجابة الموثقة للعمل المستقل داخل الحاويات هي استخدام حاوية تطوير تشغّل Claude Code كمستخدم غير root. إذا كنت تتحكم في الوكيل من هاتف أو حاسوب محمول عبر SSH، ينطبق المنطق نفسه على جلسة Claude Code طويلة التشغيل تبقيها مفتوحة داخل tmux: لا أحد يراقب المطالبة أثناء تشغيل الجلسة.

إعداد بيئة Bash المعزولة على Ubuntu VPS

تقيّد البيئة المعزولة المضمّنة وصول نظام الملفات والشبكة لكل أمر Bash يشغّله Claude، ويفرض نظام التشغيل هذه القيود على العمليات الفرعية أيضاً. تحتاج هذه البيئة على Linux إلى حزمتين.

sudo apt-get install bubblewrap socat

شغّل Claude Code ونفّذ /sandbox. تفتح اللوحة وبها علامتا تبويب Mode وOverrides، بالإضافة إلى علامة تبويب Dependencies التي تسرد العناصر الناقصة. يُجرى فحص التبعيات عند بدء التشغيل، لذلك أعد تشغيل Claude Code بعد تثبيت الحزم، وإلا فستظل اللوحة تعرضها على أنها غير موجودة.

في Ubuntu 24.04 والإصدارات الأحدث، تمنع سياسة AppArmor الافتراضية bubblewrap من إنشاء مساحات أسماء المستخدمين التي تحتاج إليها، ولذلك يفشل بدء البيئة المعزولة. تحقّق مما إذا كان ذلك ينطبق على خادمك:

sysctl kernel.apparmor_restrict_unprivileged_userns

تعني نتيجة 0، أو ظهور خطأ يفيد بأن المفتاح غير موجود، أنه لا يلزم إجراء أي شيء. أما نتيجة 1 فتعني أن bwrap يحتاج إلى ملف تعريف خاص به:

sudo tee /etc/apparmor.d/bwrap > /dev/null <<'EOF'
abi <abi/4.0>,
include <tunables/global>

profile bwrap /usr/bin/bwrap flags=(unconfined) {
  userns,
  include if exists <local/bwrap>
}
EOF
sudo systemctl reload apparmor

ينطبق ملف التعريف على bwrap نفسه، وليس على الأوامر التي يشغّلها داخل البيئة المعزولة. بعد ذلك، ضيّق نطاق العزل في الإعدادات:

{
  "sandbox": {
    "enabled": true,
    "filesystem": {
      "denyRead": ["~/"],
      "allowRead": ["."]
    },
    "network": {
      "allowedDomains": ["github.com", "*.npmjs.org"]
    }
  }
}

يجب وضع هذه الكتلة في .claude/settings.json الخاص بالمشروع، لأن . يُحل إلى جذر المشروع من إعدادات المشروع فقط. إذا وضعت الأسطر نفسها في ~/.claude/settings.json، فسيُحل . إلى ~/.claude بدلاً من ذلك، ولذلك تُبقي قاعدة denyRead ملفات مشروعك محجوبة، ويفشل كل أمر في قراءة الشيفرة التي يفترض أن يعدّلها.

اعرف ما لا تغطيه هذه الآلية. تقيّد البيئة المعزولة Bash وعملياته الفرعية. أما أدوات الملفات المضمّنة فتعمل داخل عملية Claude Code، كما أن خوادم MCP (بروتوكول سياق النموذج) والخطافات هي عمليات منفصلة تعمل من دون قيود على المضيف. لوضع جميع هذه المكونات خلف حد عزل واحد، شغّل عملية Claude Code بأكملها داخل حاوية أو آلة افتراضية أو حزمة @anthropic-ai/sandbox-runtime، وهي معاينة بحثية تجريبية في وقت كتابة هذا النص.

ما النمط المناسب لكل إعداد؟

مستودع منفرد على حاسوبك المحمول

استخدم auto، مع قواعد ask للإجراءات التي تريد مراقبتها قبل تنفيذها. أنت أمام لوحة المفاتيح، ويمكن لمصنّف الاحتياط الوصول إليك فعلياً، والأضرار محصورة في جهاز واحد تسيطر عليه. هذه هي الحالة التي كُتب لها الإعداد الافتراضي في 14 August.

VPS مشترك

استخدم auto لكل مستخدم، واضبطه في ملف ~/.claude/settings.json الخاص بكل مستخدم، على جهاز لا يكون فيه الحساب الذي يشغّل Claude Code هو root ولا يستطيع قراءة عمل المستخدمين الآخرين. انشر disableBypassPermissionsMode بصيغة "disable" في /etc/claude-code/managed-settings.json، مع قواعد المنع التي تحمي المسارات المشتركة. الخادم المشترك هو أوضح حالة يكون فيها bypassPermissions غير مناسب، لأن حد العزل الذي يفترضه هذا النمط غير موجود: المستأجرون الآخرون موجودون داخله.

CI والجلسات غير التفاعلية

استخدم dontAsk مع قائمة allow صريحة بالأوامر التي تحتاج إليها المهمة. يكون الرفض التلقائي هو نمط الفشل الصحيح عندما لا يرى أي شخص مطالبة أبداً. يعمل النمط التلقائي بشكل غير تفاعلي أيضاً، لكن عمليات الحظر المتكررة من المصنّف تُنهي جلسة -p، لذلك تفشل المهمة في منتصف التنفيذ بعد إنجاز جزء من العمل. احتفظ بـbypassPermissions لحاوية أو آلة افتراضية تعيد إنشاءها من صورة، ولا تستخدمه على أي مضيف يشغّل أيضاً شيئاً مهماً بالنسبة إليك.

FAQ

متى يصبح الوضع التلقائي هو الوضع الافتراضي في Claude Code؟

اعتباراً من 14 August 2026، للجلسات الجديدة على خطط Pro وMax وTeam. توضح الوثائق أيضاً أنه يمكنك تبديل الأوضاع في أي وقت، وأن الإعداد الافتراضي الذي تحدده بنفسك يبقى معمولاً به ما لم تقبل مطالبة التبديل لمرة واحدة، وأن الإعداد الافتراضي الذي تديره مؤسستك لا يتغير. يذكر الإعلان أن الوضع التلقائي يبقى اختيارياً لخطط Enterprise وللحسابات التي تستخدم API خلال المرحلة الأولى من الإطلاق. تحقق من الوضع الفعلي للجلسة من شريط الحالة، الذي يعرض ⏵⏵ auto mode on في الوضع التلقائي.

هل ينبغي أن أستخدم الوضع التلقائي أم bypassPermissions على VPS؟

استخدم الوضع التلقائي مع حد عزل. يراجع المصنّف كل إجراء قبل تشغيله، لكن الوثائق توضّح صراحةً أنه عنصر تحكم لكل إجراء وليس حد عزل. لذلك، يظل التشغيل غير المراقب بحاجة إلى حاوية أو آلة افتراضية أو خادم يمكنك إعادة بنائه. يتجاوز bypassPermissions عمليات التحقق بالكامل، وتوثّقه الوثائق للبيئات المعزولة فقط. يرفض Claude Code البدء بهذا الوضع عند تشغيله باسم root على Linux، ويطبع --dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons.

كيف أمنع أي شخص على خادمي من استخدام الوضع التلقائي أو وضع التجاوز؟

اضبط permissions.disableAutoMode وpermissions.disableBypassPermissionsMode على السلسلة "disable" في /etc/claude-code/managed-settings.json. تتقدم الإعدادات المُدارة على جميع النطاقات الأخرى، لذلك لا يمكن لأي ملف إعدادات خاص بالمستخدم أو أي وسيطة لسطر الأوامر تجاوزها. يزيل disableAutoMode قيمة auto من دورة Shift+Tab، ويرفض --permission-mode auto عند بدء التشغيل. يعمل disableBypassPermissionsMode أيضاً من أي نطاق، لذلك يمكن لمستخدم واحد ضبطه في ~/.claude/settings.json الخاص به.

لماذا يتم تجاهل إعداد defaultMode: "auto"؟

لأنه موجود في الملف الخطأ. ابتداءً من Claude Code v2.1.142، يتم تجاهل defaultMode: "auto" عندما يأتي من .claude/settings.json أو .claude/settings.local.json، حتى لا يتمكن مستودع من تفعيل الوضع التلقائي لنفسه عبر شحن ملف إعدادات. تبدأ الجلسة في الوضع default ولا تطبع أي خطأ. انقل الإعداد إلى ~/.claude/settings.json، ثم شغّل /permissions للتأكد من الملف الذي صدر منه كل rule مفعّل. إذا ظل الوضع التلقائي غير متاح، فتحقق من متطلبات النموذج: النماذج الأقدم مثل Sonnet 4.5 غير مدعومة لدى أي provider.