Claude Code فيه مجموعة ميزات متقدمة المستخدمين المحترفين بيحتاجوها في الشغل المعقّد أو اللي فيه مخاطرة. وضع التخطيط، التفكير الموسّع، الوضع التلقائي، الـ sandboxing، والتشغيل البرمجي — كل واحد من دول بيغيّر طريقة شغل Claude بشكل جوهري. الموديول ده بيشرح كل واحد بالتفصيل.
وضع التخطيط والتفكير الموسّع
وضع التخطيط بيفصل التفكير عن التنفيذ. لما تفعّله، Claude بيعمل بحث في الكود الأول ويعمل خطة تنفيذ مفصّلة. أنت بتراجع الخطة وممكن تعدّل عليها، وبعدين Claude ينفّذها. ده بيمنع المشكلة الشائعة إن Claude يبدأ يكتب كود قبل ما يفهم المشكلة كويس.
فعّله بأمر /plan <description>، أو flag الـ --permission-mode plan في الـ CLI، أو Shift+Tab عشان تتنقل بين الأوضاع. استخدم Ctrl+G عشان تفتح الخطة الحالية في الـ editor الخارجي بتاعك وتعدّل عليها بالتفصيل قبل ما توافق. الـ alias opusplan بيوجّه التخطيط لـ Opus والتنفيذ لـ Sonnet:
claude --model opusplan "redesign the database schema for multi-tenancy"
التفكير الموسّع بيدي Claude وقت أكتر يفكّر قبل ما يرد. فعّله وقفّله بـ Option+T (على macOS) أو Alt+T. أمر /effort بيحدد عمق التفكير: low، medium، high، xhigh، أو max (للجلسة الحالية بس). ضبطه للجلسة كلها بـ export CLAUDE_CODE_EFFORT_LEVEL=high. لو عايز أعلى مستوى تفكير، اكتب كلمة “ultrathink” في الـ prompt — دي بتفعّل وضع التفكير العميق بغض النظر عن إعداد الـ effort الحالي.
تخيّل إنك بتاخد قرار معماري كبير — الجمع بين وضع التخطيط ومستوى effort عالي بيديك أحسن نتيجة:
claude --permission-mode plan --effort high --model opusplan "migrate from REST to GraphQL"
Ultraplan: التخطيط في الـ Cloud
Ultraplan بيوسّع وضع التخطيط عن طريق إنه يبعت الخطة لجلسة Claude Code على الويب. Claude بيعمل draft للخطة في الـ cloud وأنت الـ terminal بتاعك فاضي. بعدين تفتحها في المتصفح وتعلّق على أجزاء معينة، تطلب تعديلات، وتختار فين تنفّذها.
تلات طرق تشغّلها: أمر /ultraplan <prompt>، أو اكتب كلمة “ultraplan” في أي prompt عادي، أو اختار “Refine with Ultraplan on the web” من حوار خطة محلية خلصت.
بعد ما تشغّلها، بيظهر مؤشر حالة عند الـ prompt: ◇ ultraplan وهو بيحضّر، ◇ ultraplan needs your input لما Claude عنده أسئلة، و◆ ultraplan ready لما الخطة جاهزة. افتح لينك الجلسة على claude.ai عشان تراجع — تقدر تعلّق inline على أقسام معينة وتطلب تعديلات قبل ما توافق.
لما توافق، عندك مسارين:
- نفّذ على الويب — Claude بينفّذ الخطة في الـ cloud، وأنت تراجع الـ diff وتفتح PR من المتصفح
- ارجع للـ terminal — الخطة بتترحّل للـ CLI بتاعك عشان تنفّذها محلي
/ultraplan migrate the auth service from sessions to JWTs
Ultraplan محتاج اشتراك claude.ai و GitHub repository متوصّل. مش متاح على Bedrock أو Vertex AI أو Foundry.
الوضع التلقائي والتحكم في الصلاحيات
الوضع التلقائي (Auto Mode) هو وضع صلاحيات تجريبي بيستخدم classifier أمان في الخلفية عشان يقرر إذا كانت الأدوات آمنة تشتغل من غير ما يسألك. مصمّم للشغل اللي محتاج autonomy أعلى مع الحفاظ على حواجز الأمان.
بتستخدمه زي أي وضع صلاحيات تاني: اختار auto في إعدادات الصلاحيات أو اتنقل ليه بـ Shift+Tab. المؤسسات تقدر تضبط إيه اللي Auto Mode بيعتبره بنية تحتية موثوقة من خلال block الـ autoMode في الإعدادات.
Auto Mode بشكل افتراضي بيكون حذر مع الحاجات اللي شكلها exfiltration بيانات، تنفيذ shell خطر، أو تغييرات تأثر على الـ production. لما الـ permission check يعلق، الـ spinner بيتحول للأحمر — ده بيخلّي واضح إن فيه check في_progress مش أداة شغّالة. لو فريقك عنده repos موثوقة، domains داخلية، أو خدمات معينة عايز Auto Mode يتعامل معاها عادي، عرّفها في autoMode.environment.
لما تخصّص autoMode.allow أو autoMode.soft_deny أو autoMode.environment، ضيف التوكن الخاص "$defaults" عشان تحافظ على القواعد المدمجة وتضيف قواعدك جنبها. من غير "$defaults"، المصفوفة بتاعتك بتحل محل الافتراضيات بالكامل:
{
"autoMode": {
"allow": ["$defaults", "Bash(terraform *)"],
"environment": ["$defaults", "Internal API: api.corp.example.com"]
}
}
أوضاع الصلاحيات بتتراوح من الأقل للأكتر حرية. default بيقرأ بحرية بس بيسألك قبل أي action تاني. acceptEdits بيوافق تلقائيًا على تعديلات الملفات في الجلسة، ما عدا الكتابة في المجلدات المحمية. plan بيدخل وضع التخطيط الأول. auto بيستخدم الـ classifier. dontAsk بيشغّل بس الأدوات المعتمدة مسبقًا. bypassPermissions بيتخطى معظم الصلاحيات، بس الكتابة في مجلدات محمية (.git، .claude، .vscode، .idea، .husky) لسه بتطلب تأكيد. الـ flag --dangerously-skip-permissions هو اختصار لـ --permission-mode bypassPermissions — الاسم المخيف عمدًا عشان يوضّح المخاطرة الأمنية، فاستخدمه بس في pipelines الـ CI/CD الموثوقة. حدد الافتراضي في الإعدادات:
{
"permissions": {
"defaultMode": "acceptEdits"
}
}
عشان تخصّص Auto Mode لبيئتك:
{
"autoMode": {
"environment": [
"Source control: github.example.com/acme-corp and all repos under it",
"Trusted internal domains: *.corp.example.com, api.internal.example.com"
]
}
}
التشغيل البرمجي والـ Sandboxing
لما تشغّل Claude برمجيًا بـ claude -p "your prompt" ده بيشغّله بدون تفاعل. الـ output بيروح لـ stdout، وده بيخلّيه قابل للتركيب مع pipelines الـ shell وأنظمة الأتمتة. ادمجه مع --output-format json عشان output منظّم. استخدم --permission-mode bypassPermissions للتشغيل الآلي الكامل في CI/CD:
# Automated code review in CI
git diff HEAD~1 | claude -p "review these changes for security issues" \
--output-format json \
--permission-mode bypassPermissions
# Generate docs for changed files
claude -p "generate JSDoc for all functions in $CHANGED_FILE" \
--print --no-session-persistence
الـ sandboxing بيوفّر عزل على مستوى نظام التشغيل لصلاحيات الملفات والشبكة. فعّله بأمر /sandbox خلال الجلسة. في وضع الـ sandbox، Claude بيقدر يوصل بس للمسارات وقواعد الشبكة اللي أنت حددتها. ده مفيد جدًا لما تشغّل Claude على كود مش موثوق أو في بيئات محتاج فيها حدود صارمة.
ضبط عزل الشبكة بدقة من خلال sandbox.network.allowedDomains وsandbox.network.deniedDomains في ملف settings.json. الأول بيسمح بالـ domains للترافيك الخارج، والتاني بيحظر domains معينة حتى لو wildcard أوسع في allowedDomains كان هيسمح بيها — deniedDomains دايمًا ليه الأولوية. الاتنين بيدعموا wildcards زي *.example.com:
{
"sandbox": {
"enabled": true,
"network": {
"allowedDomains": ["github.com", "*.npmjs.org"],
"deniedDomains": ["uploads.github.com"]
}
}
}
في الإعدادات المُدارة، قائمة deniedDomains بتتدمج من كل مصادر الإعدادات (managed و user و project و local) بغض النظر عن allowManagedDomainsOnly. الـ flag ده بيقيّد بس أنهي scopes allowedDomains بتتقرأ منها — قواعد الحظر من أي scope دايمًا بتتطبّق، فمفيش سياسة مؤسسية تقدر تسقط block اتحط على مستوى user بالصدفة.
للمؤسسات، الإعدادات المُدارة (managed settings) بتتحكم في إعدادات المستخدمين من خلال أدوات إدارة النظام: plist على macOS، الـ Registry على Windows، ملفات config مُدارة، ودروب إنز managed-settings.d/ بتتدمج أبجديًا. ده منفصل عن ملفات الذاكرة المُدارة زي ملف CLAUDE.md على مستوى المؤسسة.
# Test headless with sandboxing
claude -p "analyze the security of this codebase" \
--sandbox \
--permission-mode plan \
--output-format json
أداة Advisor (تجريبية)
أداة Advisor هي ميزة تجريبية بتعتمد على نظام dual-model، بتخلي model منفّذ أسرع وأقل تكلفة (زي Sonnet) يستشير model مستشار أذكى (زي Opus) أثناء الشغل للحصول على توجيهات استراتيجية. المستشار بيقرأ المحادثة كاملة وبيطلع خطة أو تصحيح مسار، وبعدين المنفّذ بيكمّل الشغل. النمط ده مناسب لشغل الـ agents الطويل اللي أغلب الخطوات فيه ميكانيكية بس مهم يكون في خطة ممتازة.
فعّلها بأمر /advisor. لما تكون مفعّلة، الجلسات بتعرض label “experimental” وإشعار بدء. الـ model المنفّذ بيتحدد كـ model الجلسة الرئيسي، والـ model المستشار بيتحدد من خلال dialog الـ /advisor.
Glob وGrep الأصلية على macOS/Linux
على الـ native macOS وLinux builds، أدوات Glob وGrep بتتعوّض بـ binaries مدمجة bfs وugrep متاحة من خلال أداة Bash. النتيجة: بحث أسرع في الملفات من غير round-trip لأداة منفصلة — Claude بيستخدم أمر Bash واحد بدل ما يستدعي أداة مخصصة، وده بيقلل الـ latency على الـ codebases الكبيرة.
Windows والـ npm-installed builds مش متأثرين وبيستمروا في استخدام أدوات Glob وGrep الأصلية. متغيرات البيئة CLAUDE_CODE_GLOB_HIDDEN وCLAUDE_CODE_GLOB_NO_IGNORE وCLAUDE_CODE_GLOB_TIMEOUT_SECONDS لسه بتنطبق على الأدوات الأصلية حيث ما تكون مستخدمة.
تنظيف الجلسات بـ cleanupPeriodDays
إعداد cleanupPeriodDays في settings.json بيتحكم في مدة الاحتفاظ ببيانات الجلسة قبل الحذف التلقائي عند بدء التشغيل. الافتراضي 30 يوم والحد الأدنى 1 — تعيينه لـ 0 بيترفض بخطأ validation. عملية التنظيف بتشمل الجلسات، orphaned subagent worktrees، background tasks (~/.claude/tasks/)، shell snapshots (~/.claude/shell-snapshots/)، وbackups الملفات (~/.claude/backups/):
{
"cleanupPeriodDays": 14
}
عشان تمنع كتابة الـ transcripts خالص في الوضع غير التفاعلي، استخدم --no-session-persistence أو متغير البيئة CLAUDE_CODE_SKIP_PROMPT_HISTORY.
مسح بيانات المشروع (Project Purge)
لما cleanupPeriodDays مش كفاية وعايز تمسح كل بيانات Claude Code لمشروع معين فورًا، استخدم claude project purge. الأمر ده بيمسح الـ transcripts، قوائم المهام، سجلات التشخيص، تاريخ تعديلات الملفات، تاريخ الـ prompts، وسجل المشروع نفسه:
# معاينة اللي هيتمسح من غير ما تمسح فعلًا
claude project purge --dry-run
# مسح بيانات المشروع الحالي
claude project purge
# تخطي سؤال التأكيد
claude project purge --yes
# اختيار تفاعلي للعناصر اللي عايز تمسحها
claude project purge --interactive
# مسح بيانات كل المشاريع مرة واحدة
claude project purge --all
الـ flags تقدر تجمعهم مع بعض: claude project purge --all --dry-run بيعرض إيه اللي هيتمسح لو عملت مسح كامل. الاختصارات -y و-i شغّالة كمان.
Environment Variables للتشخيص والمنصات
في شوية environment variables بتفتح surfaces مش متاحة لسه كأوامر أو settings.
OTEL_LOG_RAW_API_BODIES=1 بيخلي Claude يبعت الـ API request و response bodies الكاملة كـ OpenTelemetry log events — فعّله لما تكون بتتحرى ليه request فشل أو إيه اللي Claude بعته للـ model بالظبط. خلي بالك بعد كده لأن bodies الـ request ممكن يكون فيها secrets.
CLAUDE_CODE_USE_POWERSHELL_TOOL=1 بيفعّل PowerShell tool على Linux و macOS (محتاج pwsh في الـ PATH). على Windows الأداة بتتطرح بشكل تدريجي؛ حط القيمة 0 عشان توقفها صراحة. على Windows مع تفعيل PowerShell tool، الـ PowerShell بيصبح الـ shell الأساسي بدل Bash.
DISABLE_UPDATES=1 بيمنع كل مسارات التحديث، بما فيها claude update اليدوي. ده أشد من DISABLE_AUTOUPDATER (اللي بيمنع التحديثات التلقائية بس) ومخصص للـ enterprise deployments المقفولة اللي الإصدار المثبّت ما لازمش يتغير.
CLAUDE_CODE_HIDE_CWD=1 بيخفي مسار الـ working directory من شعار البداية. مفيد لتسجيلات الشاشة أو العروض التقديمية اللي ما تحبش تكشف فيها معلومات المسار.
# سجّل OTEL telemetry كاملة وأنت بتعيد إنتاج API bug
OTEL_LOG_RAW_API_BODIES=1 claude --print 'reproduce the failure'
# فعّل PowerShell tool على macOS أو Linux
CLAUDE_CODE_USE_POWERSHELL_TOOL=1 claude
# امنع كل التحديثات على جهاز مقفول
DISABLE_UPDATES=1 claude
# اخفِ الـ working directory في شعار البداية
CLAUDE_CODE_HIDE_CWD=1 claude
Claude Code على الويب ونقل الجلسات
Claude Code على الويب بيشغّل المهام على بنية تحتية سحابية مُدارة من Anthropic على claude.ai/code. الجلسات بتفضل شغّالة حتى لو قفلت المتصفح، وتقدر تتابعها من تطبيق Claude للموبايل.
شغّل جلسة سحابية من الـ terminal بـ claude --remote "your task". Claude بيعمل clone للريبو من GitHub (ادفع الـ commits المحلية الأول)، ينفّذ الـ prompt لوحده، ويقدر يفتح PRs لما يخلّص. استخدم عدة --remote عشان تشغّل مهام بالتوازي.
أمر /teleport (اختصار /tp) بيجيب جلسة سحابية للـ terminal المحلي — بيجيب الـ branch، يحمّل كل تاريخ المحادثة، ويخلّيك تكمّل محلي. في الاتجاه العكسي: --remote بيبعت الشغل للـ cloud. مع بعض بيعملوا loop سلس بين التنفيذ المحلي والسحابي.
أمر /autofix-pr بيعمل جلسة سحابية بتراقب الـ PR بتاعك. لما CI يفشل أو reviewers يعلّقوا، Claude بيحقق ويدفع fix. حدد النطاق بـ prompt: /autofix-pr only fix lint and type errors. محتاج Claude GitHub App متثبّت على الريبو.
# خطط محلي، نفّذ في الـ cloud
claude --permission-mode plan
# ... خلّص الخطة، commit، push ...
claude --remote "Execute the migration plan in docs/migration-plan.md"
# ارجع بالجلسة السحابية لما تخلص
/teleport
الجلسات السحابية بتيجي بـ runtimes جاهزة (Node.js, Python, Go, Rust, Java, Ruby, Docker, PostgreSQL)، حتى 16 GB RAM، ومستويات network access قابلة للتعديل. إعدادات الريبو (CLAUDE.md، settings، MCP servers، skills) بتتنقل تلقائي. إعدادات المستخدم (~/.claude/) مبتتنقلش — حط إعدادات المشروع في الريبو.
تخصيص رابط الـ PR
إعداد prUrlTemplate في settings.json بيوجّه شارة الـ PR في الـ footer لرابط code-review مخصص بدل رابط GitHub الافتراضي. ده مفيد للفرق اللي بتستخدم GitLab أو Bitbucket أو أداة مراجعة داخلية:
{
"prUrlTemplate": "https://gitlab.example.com/org/repo/-/merge_requests/{{pr_number}}"
}
ميزات متقدمة إضافية
أدوات Claude Code المتقدمة أكتر من كده. المهام في الخلفية بتخلّي الشغل الطويل يكمّل وأنت بتكمّل محادثتك. المهام المجدولة بتدعم /loop للفحوصات المتكررة داخل الجلسة و/schedule للمهام المجدولة في الـ cloud. أدوات الجلسة زي /resume و/rename و/teleport بتسهّل التنقل بين الـ CLI المحلي، المتصفح، والـ desktop app.
كمان فيه ميزات منصة للاستخدام اليومي: الإملاء الصوتي بـ /voice، تكامل Chrome بـ --chrome، التحكم عن بعد بـ /remote-control، دروس /powerup التفاعلية لاكتشاف الميزات، قوائم المهام، وسير عمل git worktree بـ claude --worktree. كل دول بيشتركوا في نفس نظام الصلاحيات، فالاستخدام المتقدم في الغالب هو إنك تدمج الوضع المناسب مع السطح المناسب.