Deepseek ArtifactsDeepseek Artifacts
دليل أوضاع الأذونات

وضع auto في Claude Code: المصنِّف والمستويات وكل المفاتيح

كيف يقرر وضع الأذونات auto في Claude Code: مفتاح shift+tab، والمصنِّف من جهة العميل والخادم بافتراضه Sonnet 5، وCLAUDE_CODE_AUTO_MODE_MODEL منذ 2.1.302، وترتيب المستويات، وقواعد permissions، وقوائم autoMode.environment المُدارة، وقاطعَي الأمان عند 3 حجب و20 حجبًا — من إطارات الجولة الرسمية.

وضع auto في لمحة

  • وضع auto هو وضع أذونات: يعمل Claude دون التكرارات الروتينية، وقبل تنفيذ إجراءات مثل أوامر shell وطلبات الشبكة يتحقق مصنِّف خلفي من توافقها مع طلبك.
  • بدّل بـ shift+tab (يأتي auto آخر الدورة default → acceptEdits → plan)، أو شغّل claude --permission-mode auto، أو أجب بـ "Yes, and switch to auto mode" على برومبت Bash (2.1.247 فما فوق). ومنذ 2.1.283 تبدأ الجلسات التفاعلية الجديدة في auto على جميع الخطط.
  • تُتخذ القرارات بالترتيب: قواعدك allow/ask/deny أولًا، ثم تُوافق تلقائيًا إجراءات القراءة فقط والتعديلات داخل مجلد العمل، ثم يذهب كل ما عدا ذلك إلى المصنِّف — نموذج ثانٍ افتراضه Claude Sonnet 5.
  • ثبّت المصنِّف بـ CLAUDE_CODE_AUTO_MODE_MODEL (2.1.302 فما فوق) أو اختر المراجعة من جهة الخادم أم العميل بـ CLAUDE_CODE_AUTO_MODE_SERVER؛ ونموذج مصنِّف غير متاح يجعل الفحوص تفشل فتُرفض الإجراءات.
  • ضمانات: 3 حجب متتالية أو 20 حجبًا إجمالًا توقف وضع auto مؤقتًا وتعيد التكرارات، وقواعد deny تظل نافذة داخل وضع auto، وpermissions.disableAutoMode يزيل الوضع كليًا.

How auto mode works with Claude Code

القناةClaude5:42

فتح

Permission modes — Claude Code documentation

الوثائقcode.claude.com

فتح

الإطارات مستخرجة من جولة Anthropic نفسها لوضع auto — بطاقات متحركة بملء الشاشة فقط؛ وتُخُطي كل مقطع بوجه أمام الكاميرا. الحقائق متحقق منها مقابل وثائق permission-modes وpermissions وauto-mode-config الرسمية إضافة إلى مدخل سجل تغييرات 2.1.302 الذي قدّم CLAUDE_CODE_AUTO_MODE_MODEL.

تبقى حقوق إطارات الفيديو لأصحابها، وقد أُدرجت هنا كتوثيق خطوة بخطوة مع نسب المصدر وروابط عميقة.

تفعيل وضع auto وضبطه خطوة بخطوة

الخطوة 1 — فعّل وضع auto

  1. 1

    شاهد ما يستبدله وضع auto

    في وضع default يعني العمل الروتيني برومبتًا بعد برومبت: يطلب npm run build موافقة Bash، ويطلب جلب التوثيق موافقة شبكة. يستبدل وضع auto تلك التكرارات الروتينية بمصنِّف خلفي — قبل تنفيذ إجراءات مثل أوامر shell وطلبات الشبكة يتحقق نموذج ثانٍ من توافقها مع طلبك. تبقى قواعد ask وdeny نافذة؛ ما يختفي هو حركة نعم/لا الروتينية.

    Claude Code permission prompt cards for an npm run build Bash command and a fetch approval asking Do you want to proceed with Yes and No options that auto mode replaces with a classifier check
    بطاقات البرومبت التي يستبدلها وضع auto: موافقة Bash على npm run build وموافقة fetch، كل واحدة تنتظر إجابة Yes/No.
  2. 2

    بدّل الأوضاع بـ shift+tab

    يتنقل shift+tab بين أوضاع الأذونات خلال الجلسة: من auto تهبط ضغطة واحدة على default وتمر الدورة default → acceptEdits → plan، مع الأوضاع الاختيارية بعد plan — bypassPermissions أولًا وauto أخيرًا. ويسمّي التذييل الوضع النشط دائمًا. وهناك ثلاثة طرق أخرى: خيار "Yes, and switch to auto mode" على برومبت Bash (2.1.247 فما فوق)، وراية claude --permission-mode auto (تعمل مع -p)، وpermissions.defaultMode — الذي لا يقبل "auto" إلا من ~/.claude/settings.json على مستوى المستخدم أو ملف --settings أو الإعدادات المُدارة، لا من .claude/settings.json للمشروع أبدًا.

    Claude Code input footer showing plan mode on with the shift+tab to cycle hint that moves between default, acceptEdits, plan and auto permission modes
    تذييل الإدخال يسمّي الوضع النشط مع تلميح shift+tab للتنقل — يقع auto في نهاية الدورة.
  3. 3

    اعرف الافتراضي: تبدأ الجلسات في auto

    منذ Claude Code v2.1.283 تبدأ الجلسات التفاعلية الجديدة في وضع auto على جميع الخطط (كانت الإصدارات الأقدم تمنحه لخطط Pro/Max/Team فقط؛ وتعود إعدادات HIPAA إلى Manual منذ 2.1.285). وتعرض الجلسة تحت auto الوضع في تذييلها وتنجز عملها — هنا مهمة "Tidy up local branches" على Fable 5 — بينما يراجع المصنِّف كل إجراء في الخلفية. ويسرد /status مدخل Auto mode server عندما تكون الفحصة من جهة الخادم نشطة.

    Claude Code v2.1 session running Tidy up local branches on Fable 5 with high effort under auto mode on shown in the footer with Pollinating spinner status
    جلسة Claude Code v2.1 تعمل تحت وضع auto: مهمة "Tidy up local branches" على Fable 5 مع تذييل auto mode on.

الخطوة 2 — كيف يقرر المصنِّف

  1. 4

    تعلّم ترتيب القرار: القواعد فالمستويات فالمصنِّف

    يمر كل إجراء بالمسار نفسه. تجيب قواعدك أولًا: deny يحجب، وask يسأل، وallow يمرر. وتُوافق تلقائيًا إجراءات القراءة فقط والتعديلات داخل مجلد العمل دون المصنِّف. ويسقط كل ما عدا ذلك في تقسيم المستويات — قراءة فقط، وكتابات داخل المشروع، وكل ما عدا ذلك — حيث تتجاوز الإجراءات الروتينية المصنِّف ويصل الباقي إلى معيّن المصنِّف الذي ينتهي إلى Approve أو Deny.

    Auto mode decision diagram where your deny ask allow rules route Agent actions into Tier 1 read-only, Tier 2 in-project writes and Tier 3 everything else before the Skip Classifier path or the Classifier diamond ending in Approve or Deny
    مخطط القرار: توجه قواعدك deny/ask/allow إجراءات الوكيل إلى Tier 1 للقراءة فقط، وTier 2 للكتابات داخل المشروع، وTier 3 إلى Skip Classifier أو معيّن Classifier.
  2. 5

    شاهد ما يقرؤه المصنِّف فعلًا

    لا يستلم المصنِّف نص محادثتك. تُقتطع من الطلبات نتائج الأدوات، فلا يستطيع محتوى عدائي من ملف أو صفحة التلاعب به مباشرة — ما يصل هو طلبك زائد الإجراء المعروض على الحكم. في المثال المسجل، تنكمش سؤال حدود المعدل إلى سطرين: WebSearch("acme API rate limits") وWebFetch(docs.acme.com). هذه هي كل السطح الذي يقيّمه المصنِّف.

    Auto mode classifier visibility strip showing the full conversation with WebSearch acme API rate limits and WebFetch docs.acme.com tool calls reduced to the two actions the classifier actually evaluates
    شريط رؤية المصنِّف: المحادثة كاملة منكمشة إلى استدعاءَي WebSearch وWebFetch الذي يقيّمهما المصنِّف.
  3. 6

    لماذا تأخذ الأوامر المتشابهة أحكامًا مختلفة

    يحكم المصنِّف على الإجراء لا على هيئته. في الشريط الثاني، يحذف git branch -d old-login فرعًا محليًا — روتين. وتوأمه git push origin --delete old-login يحذف فرعًا في المستودع البعيد — بالضبط نوع الإجراء الذي يسلمه تقسيم المستويات إلى المصنِّف بدل تمريره. توقَّع تصنيف كل ما يخرج من الجهاز أو يلمس حالة مشتركة، حتى لو قرأ وكأنه التنظيف نفسه.

    Auto mode classifier strip comparing a git branch -d old-login cleanup with a git push origin --delete old-login so the remote-deleting twin gets classified while the local delete stays routine
    توأما git: يبقى حذف الفرع المحلي روتينيًا بينما يُرفع git push origin --delete إلى المصنِّف.

الخطوة 3 — القواعد ونموذج المصنِّف

  1. 7

    اختر المراجعة من جهة الخادم أو العميل

    يعمل المصنِّف في أحد مكانين. من جهة الخادم: يطلب Claude Code من خادم نموذج الجلسة فحص الإجراء ضمن طلبه — يظهر /status مدخل Auto mode server. ومن جهة العميل: يرسل Claude Code طلبات مصنِّف خاصة به، وتُستخدم عندما لا يصدر الخادم حكمًا أو أسقط وسيط نتائج المراجعة. تحكم به عبر CLAUDE_CODE_AUTO_MODE_SERVER=1 (خادم) أو =0 (العميل دائمًا)؛ وإذا لم يصدر الخادم حكمًا فإن Claude Code يرفض الإجراء بدل تشغيله دون مراجعة.

  2. 8

    ثبّت نموذج المصنِّف (2.1.302 فما فوق)

    المصنِّف افتراضه Claude Sonnet 5؛ والجلسة الجارية أصلًا على Sonnet 4.6 تستخدم 4.6، ويُحترم ANTHROPIC_DEFAULT_SONNET_MODEL. ومنذ 2.1.302 يفرض CLAUDE_CODE_AUTO_MODE_MODEL مصنِّفًا محددًا — مثل "env": undefined في ~/.claude/settings.json. وهناك نمطا فشل يجدر معرفتهما: نموذج غير متاح يجعل الفحوص تفشل فتُرفض الإجراءات، والنماذج المستبعدة أو غير المدعومة (Opus 5 وSonnet 5.5 وOpus 5.5) تعود بصمت إلى الافتراضي. صيّح بـ claude --permission-mode auto --debug-file classifier-debug.log وابحث عن classifier_request_started.

  3. 9

    اكتب القواعد التي يلتزم بها المصنِّف

    تجيب القواعد قبل أن يعمل المصنِّف أصلًا، فضع فيها الحدود الصارمة. يُظهر managed-settings.json المسجل الشكل: deny: ["Bash(curl *)", "Read(./.env")], ask: ["Bash(git push *)"], allow: ["Bash(python:*)"] — علّق عليه في الفيديو بوصفه واسعًا أكثر من اللازم. وقاعدة ask مثل Bash(git clean *) تسأل حتى في وضع auto، وأوامر Bash للقراءة فقط قد تنتظر مراجعة المصنِّف بدل السؤال. شدّد قواعد allow؛ فالمصنِّف شبكة أمان لا عذر لـ Bash(*).

    Claude Code managed-settings.json permissions block with deny Bash curl and Read .env rules, ask Bash git push rules and an overly broad allow Bash python rule commented for review
    كتلة permissions: حجب curl وقراءات .env، وسؤال git push، وتمرير python — مع إشارة إلى allow الواسع أكثر من اللازم.

الخطوة 4 — الإعداد المُدار وقواطع الأمان

  1. 10

    اضبط autoMode.environment للفرق

    في الإعدادات المُدارة يخبر autoMode.environment المصنِّف بما يُعدّ سياقًا موثوقًا: تسرد البطاقة المسجلة "Source control: github.com/acme and all repos under it" و"Trusted cloud buckets: s3://acme-builds" و"CI server: ci.acme.internal". ومع $defaults بجوارها تمتد مدخلاتك القائمة المدمجة بدل أن تستبدلها. هذا هو الجواب من جهة المدير لبرومبتات المصنِّف التي تتفعل على بنيتك التحتية أنت — سمِّ المستودعات والـbuckets والخدمات التي يستخدمها فريقك فعلًا.

    Claude Code managed-settings.json autoMode environment block trusting Source control github.com/acme repositories and the s3://acme-builds trusted cloud buckets for the classifier
    بطاقة autoMode.environment: تحكم مصدر موثوق على github.com/acme، وbuckets ‏s3://acme-builds، وخادم CI ‏ci.acme.internal.
  2. 11

    ارصص allow وsoft_deny وhard_deny

    إلى جانب البيئة، تحمل الإعدادات المُدارة ثلاث قوائم قواعد: "allow" ([$defaults, "Deploying to staging is allowed"]) و"soft_deny" ([$defaults, "Running database migrations"]) و"hard_deny" ([$defaults, "Never touch production custo..."]). تُنهي أنماط allow الموافقات إجراءً واحدًا في كل مرة؛ وتوجه soft deny إلى المصنِّف بانحياز ضد؛ وتنهي hard deny السؤال. وافحص القوائم المدمجة كاملةً في أي وقت بـ claude auto-mode defaults الذي يطبعها JSON.

    Claude Code managed-settings.json auto mode lists with allow Deploying to staging, soft_deny Running database migrations and hard_deny Never touch production custom defaults
    القوائم المرسصة: allow لنشر staging، وsoft_deny لترحيل قواعد البيانات، وhard_deny لبيانات الإنتاج.
  3. 12

    اعرف قاطعَي الأمان

    يوقف وضع auto نفسه: 3 حجب متتالية من المصنِّف أو 20 حجبًا إجمالًا تعيد التكرارات العادية، ولا أحد الرقمين قابل للضبط. وتعمل الكلمات إشارات أيضًا — تصبح عبارات مثل "لا ترفع" إشارات حجب، وقد يصفى حجب بموافقة معلنة إذا سمّت الإجراء وتفاصيله. ولإزالة الوضع كليًا، اضبط permissions.disableAutoMode على "disable" في الإعدادات المُدارة؛ فتخرج الجلسة الجارية من وضع auto وتقول ذلك. وتذكر: داخل وضع auto تبقى قواعد deny حاسمة.

نموذج المصنِّف بالتفصيل

المصنِّف هو القطعة التي يخطئ الناس في ضبطها أكثر من غيرها، لأن افتراضاته غير مرئية حتى يُرفض شيء ما. السلوك أدناه موثق عبر صفحتي permission-modes وauto-mode-config وسجل تغييرات 2.1.302:

  • 1النموذج الافتراضي: Claude Sonnet 5. والجلسة الجارية أصلًا على Sonnet 4.6 تستخدم Sonnet 4.6 بدلًا منه، ويُحترم ANTHROPIC_DEFAULT_SONNET_MODEL.
  • 2تثبيت صريح: ‏CLAUDE_CODE_AUTO_MODE_MODEL (2.1.302 فما فوق) يشغّل المصنِّف على معرّف نموذج كامل — ونموذج غير متاح يجعل الفحوص تفشل فتُرفض الإجراءات، فثبّت نموذجًا تخدمه خطتك فعلًا.
  • 3عودة صامتة: النماذج المستبعدة أو غير المدعومة للمصنِّف (Opus 5 وSonnet 5.5 وOpus 5.5) لا تُحدث خطأ — يُستخدم نموذج المصنِّف الافتراضي بدلًا منها.
  • 4بيئتا تشغيل: تركب المراجعة من جهة الخادم طلبات نموذج الجلسة (CLAUDE_CODE_AUTO_MODE_SERVER=1)؛ وطلبات جهة العميل هي الاحتياط (=0)، تُستخدم عندما لا يصدر الخادم حكمًا أو أسقط وسيط نتائج المراجعة.
  • 5لا تشغيل بلا مراجعة: إذا لم يُصدر أيٌّ من المسارين حكمًا فإن Claude Code يرفض الإجراء — وضع auto لا ينفذ إجراءً تطلب مراجعة دونها أبدًا.
  • 6التحقق: يسجل claude --permission-mode auto --debug-file classifier-debug.log مدخلات classifier_request_started، ويعرض /status ما إذا كان Auto mode server نشطًا.

من هنا أيضًا تأتي تقارير "auto mode not available for this model": تعتمد التاحية على الخطة والمنظمة والنموذج والمزود، ونموذج مصنِّف مثبّت لا يخدمه مزودك يحوّل كل فحص إلى رفض. صحّح المتغير أو أزله — لا حاجة لتغيير نموذج الجلسة نفسه.

الأسئلة الشائعة حول وضع auto

تابع الاستكشاف