# Claude Code CLI — Configuration with OmniRoute (العربية) 🌐 **Languages:** 🇺🇸 [English](../../../../guides/CLAUDE-CODE-CONFIGURATION.md) · 🇪🇹 [am](../../../am/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇦🇿 [az](../../../az/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇧🇬 [bg](../../../bg/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇧🇩 [bn](../../../bn/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇧🇦 [bs](../../../bs/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇨🇿 [cs](../../../cs/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇩🇰 [da](../../../da/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇩🇪 [de](../../../de/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇬🇷 [el](../../../el/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇪🇸 [es](../../../es/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇪🇪 [et](../../../et/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇷 [fa](../../../fa/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇫🇮 [fi](../../../fi/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇫🇷 [fr](../../../fr/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇪 [ga](../../../ga/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇳 [gu](../../../gu/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇳🇬 [ha](../../../ha/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇱 [he](../../../he/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇳 [hi](../../../hi/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇭🇷 [hr](../../../hr/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇭🇺 [hu](../../../hu/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇦🇲 [hy](../../../hy/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇩 [id](../../../id/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇳🇬 [ig](../../../ig/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇹 [it](../../../it/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇯🇵 [ja](../../../ja/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇬🇪 [ka](../../../ka/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇰🇭 [km](../../../km/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇳 [kn](../../../kn/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇰🇷 [ko](../../../ko/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇱🇹 [lt](../../../lt/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇱🇻 [lv](../../../lv/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇳 [ml](../../../ml/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇳 [mr](../../../mr/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇲🇾 [ms](../../../ms/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇲🇹 [mt](../../../mt/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇲🇲 [my](../../../my/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇳🇵 [ne](../../../ne/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇳🇱 [nl](../../../nl/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇳🇴 [no](../../../no/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇳 [or](../../../or/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇳 [pa](../../../pa/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇵🇭 [phi](../../../phi/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇵🇱 [pl](../../../pl/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇵🇹 [pt](../../../pt/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇧🇷 [pt-BR](../../../pt-BR/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇷🇴 [ro](../../../ro/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇷🇺 [ru](../../../ru/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇱🇰 [si](../../../si/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇸🇰 [sk](../../../sk/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇸🇮 [sl](../../../sl/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇷🇸 [sr](../../../sr/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇸🇪 [sv](../../../sv/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇰🇪 [sw](../../../sw/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇳 [ta](../../../ta/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇮🇳 [te](../../../te/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇹🇭 [th](../../../th/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇹🇷 [tr](../../../tr/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇺🇦 [uk-UA](../../../uk-UA/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇵🇰 [ur](../../../ur/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇺🇿 [uz](../../../uz/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇻🇳 [vi](../../../vi/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇳🇬 [yo](../../../yo/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇨🇳 [zh-CN](../../../zh-CN/docs/guides/CLAUDE-CODE-CONFIGURATION.md) · 🇹🇼 [zh-TW](../../../zh-TW/docs/guides/CLAUDE-CODE-CONFIGURATION.md) --- وجّه واجهة سطر الأوامر **Claude Code** ‏(`claude`) إلى OmniRoute — محليًا أو على خادم VPS بعيد — باستخدام ملفات تعريف مخصّصة لكل نموذج، على غرار إعداد Codex. --- ## البدء السريع ```bash # تشغيل Claude Code مع OmniRoute محلي (يكتشف السياق النشط تلقائيًا) omniroute launch # مع OmniRoute بعيد (يصبح هذا تلقائيًا بعد `omniroute connect `) omniroute launch --remote http://192.168.0.15:20128 --api-key oma_live_xxx # إنشاء ملفات تعريف لكل نموذج، ثم تشغيل أحدها omniroute setup-claude # يكتب ~/.claude/profiles//settings.json omniroute launch --profile glm52 # استخدام Claude Code للنموذج glm/glm-5.2 عبر OmniRoute ``` --- ## كيف يتصل رمز Claude بالبوابة يتحدث رمز Claude** رسائل Anthropic API** ويتم الإشارة إليه عند نقطة نهاية مخصصة بمتغيرات البيئة (لا تحتوي على علامة `--base-url` ): | عامل | غاية | | -------------------------------------------- | ----------------------------------------------------------------------------------- | | `ANTHROPIC_BASE_URL` | جذر البوابة URL (يلحق كود Claude `/v1/messages`).** لا توجد لاحقة `/v1`.** | | `ANTHROPIC_AUTH_TOKEN` | تم الإرسال كـ `Authorization: Bearer …` — استخدم رمز وصول OmniRoute / مفتاح API | | `ANTHROPIC_API_KEY` | البديل: يتم إرساله كـ `x-api-key`. إذا تم تعيين كلاهما، يفوز `ANTHROPIC_AUTH_TOKEN` | | `ANTHROPIC_MODEL` | فرض نموذج محدد (يتجاوز الإعداد الافتراضي لمنتقي `/model` ) | | `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | `1` → يسرد منتقي `/model` الأصلي نماذج `claude*`/`anthropic*` من `/v1/models` | | `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | الحد الأقصى لرموز الإخراج لكل استجابة (على سبيل المثال `65536`) | | `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | عتبة الرمز المميز للضغط التلقائي | > تتم قراءة Env vars** مرة واحدة عند بدء التشغيل** — قم بإعادة تشغيل رمز Claude بعد تغييرها. بالنسبة لبيانات الاعتماد التي يتم تدويرها بدلاً من سلسلة ثابتة، قم بتعيين `apiKeyHelper` في `~/.claude/settings.json` إلى أمر يطبع بيانات الاعتماد الحالية إلى stdout. يقوم Claude Code بتخزين مخرجاته مؤقتًا لمدة خمس دقائق بشكل افتراضي (يتجاوز `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` ذلك) ويرسل القيمة في كل من `Authorization: Bearer` و `x-api-key`. يجب أن يقوم البرنامج النصي بطباعة بيانات الاعتماد ولا يوجد أي شيء آخر بجانبه — المساعد على v2.1.227 +. هذه هي الطريقة التي يعمل بها Entra ID SSO : يقوم `scripts/cli/omniroute-sso.mjs token` بطباعة رمز وصول Entra قصير العمر والذي يتحقق منه OmniRoute بدلاً من مفتاح API. انظر [`docs/security/ENTRA_SSO.md`](../security/ENTRA_SSO.md). يقوم `omniroute launch` بتعيين كل هذه الأشياء لك: فهو يحل رمز URL + الأساسي من السياق النشط (لذلك يعمل `omniroute connect ` ثم `omniroute launch` فقط)، ويفحص سلامة الخادم، و execs `claude`. --- ## أسماء الاكتشاف المستعارة — إظهار النماذج غير التابعة لـ Claude في منتقي `/model` لا يسرد اكتشاف النماذج عبر البوابة في Claude Code سوى المعرّفات التي تبدأ بـ `claude` أو `anthropic`، لذا عند تفعيل `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` يعرض منتقي `/model` الأصلي عادةً **فقط** نماذج Claude/Anthropic الخاصة بـ OmniRoute — فلن يظهر أبدًا `kimi/kimi-k2.6` أو `glm/glm-5.2`، رغم أن التوجيه إليها يعمل بشكل سليم. يمكن لـ OmniRoute عكس أي نموذج مفعّل (وأي مجموعة) تحت معرّف `claude/…` بحيث يجتاز ذلك المرشّح ويظهر في المنتقي: ``` kimi/kimi-k2.6 → claude/kimi/kimi-k2.6 "Kimi K2.6 (OmniRoute)" glm/glm-5.2 → claude/glm/glm-5.2 "GLM 5.2 (OmniRoute)" → claude/combo/custo-otimizado ``` عندما تختار أحد هذه المعرّفات في Claude Code، يزيل OmniRoute الغلاف `claude/` ليعيده إلى المعرّف الحقيقي قبل التوجيه — أما المعرّف الأصلي `claude/` (مزوّد Claude OAuth الفعلي) فيُترك دون تغيير دائمًا. افتراضيًا، تُعكس المعرّفات الأساسية فقط. وعند تفعيل علم الميزات الاختياري `CATALOG_MIRROR_REFINEMENTS_ENABLED`، تُعكس متغيّرات جهد الاستدلال التي يسردها الفهرس أصلًا (مثل `codex/gpt-6-sol-high`) كأي معرّف آخر، بحيث يستطيع Claude Code اختيار مستوى جهد صريح، بينما لا تُعكس معرّفات `auto/*` المدمجة التي لا يمكن لمسار الطلب تحقيقها فعليًا. ويبقى ما إذا كانت متغيّرات الجهد مدرجة أصلًا خاضعًا لـ `OMNIROUTE_DISABLE_THINKING_LEVEL_VARIANTS` — فالمرآة لا تضيف أبدًا متغيّرًا غير موجود في الفهرس الأساسي. **هذه الميزة معطّلة افتراضيًا** وتُدار عبر بوابة من ثلاثة مستويات (الأكثر تحديدًا يكسب)، بحيث لا يضاعف OmniRoute العادي فهرسه أبدًا للعملاء الذين لا يستخدمون Claude Code: | المستوى | المكان | | ------- | --------------------------------------------------------------------------- | | النموذج | صفحة تفاصيل المزوّد → مفتاح "Expose in Claude Code" لكل نموذج | | المزوّد | صفحة تفاصيل المزوّد → مفتاح على مستوى المزوّد (يغطي جميع نماذجه) | | العام | الإعدادات → Feature Flags → `EXPOSE_CC_DISCOVERY_ALIASES` (معطّل افتراضيًا) | يفرض متغيّر البيئة `EXPOSE_CC_DISCOVERY_ALIASES` تفعيل المستوى العام ويتقدّم على التجاوز في لوحة التحكم (تعرض شاشة Feature Flags ملاحظة "active via environment variable" عند حدوث ذلك). وتُعدِّل مفاتيح المزوّد والنموذج الإعداد انطلاقًا من هناك — فمثلًا، عام معطّل + مزوّد Kimi مفعّل يكشف نماذج Kimi فقط. > ⚠️ **عدم تطابق النافذة مع النماذج غير التابعة لـ Claude.** يفترض Claude Code > نافذة سياق بحجم 200K لأي معرّف لا يتعرّف عليه (لأنه لا يستطيع قراءة نافذة > حقيقية من `/v1/models`). ولنموذج بنافذة أكبر (مثل نافذة Kimi K2 البالغة 256K)، > عيّن `CLAUDE_CODE_AUTO_COMPACT_WINDOW` إلى قيمة أدنى من النافذة الحقيقية > للنموذج حتى لا ينطلق الضغط التلقائي قبل أوانه. الملفات الشخصية المولّدة أعلاه > تفعل ذلك أصلًا لكل نموذج. --- ## قسم الإعداد الأولي في لوحة المعلومات تعرض بطاقة أداة Claude (**لوحة المعلومات → CLI Code**) جزء `settings.json` الدقيق لهذه النسخة، بجوار زر معلومات الاسم المستعار للاكتشاف، مع زر للنسخ: ```jsonc { "env": { "ANTHROPIC_BASE_URL": "http://:20128", "ANTHROPIC_AUTH_TOKEN": "", "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1", }, } ``` عنوان URL الأساسي هو العنوان الذي تحلّه البطاقة (بما في ذلك أي تجاوز مخصّص أدخلته)، وقد جرت تسويته بالفعل — من دون اللاحقة `/v1` ومن دون شرطة مائلة أخيرة. **لا يُعرض المفتاح مطلقًا**: إذ تتضمن الكتلة عنصرًا نائبًا، لذلك لا يمكن أن تؤدي لقطة شاشة أو مقتطف ملصق إلى تسريبه. الصق مفتاحك مكانه. أضف `CLAUDE_CODE_AUTO_COMPACT_WINDOW` ضمن كتلة `env` نفسها لأي نموذج لا تساوي نافذة السياق الفعلية الخاصة به 200K — يفترض Claude Code قيمة 200K لكل معرّف لا يتعرّف عليه، ولذلك يُشغَّل الضغط التلقائي عند نقطة خاطئة في الحالات الأخرى (راجع التحذير في القسم السابق). تقبل أداة إنشاء المقتطفات هذه القيمة أيضًا، لذا يمكن للمستدعي الذي يعرف حجم نافذة النموذج المستهدف إصدارها مباشرةً. المصدر: `src/shared/services/claudeCliConfig.ts::buildClaudeDiscoverySettingsSnippet` (أداة إنشاء خالصة وخاضعة لاختبارات الوحدة)، ويعرضها `ClaudeGatewayOnboardingBlock`. ### تثبيت حساب واحد (اختياري) لإرسال كل طلبات Claude Code عبر حساب معيّن لدى موفّر، أضف ترويسة `x-omniroute-connection` من خلال `ANTHROPIC_CUSTOM_HEADERS` ضمن كتلة `env` نفسها: ```jsonc "ANTHROPIC_CUSTOM_HEADERS": "x-omniroute-connection: " ``` انسخ المعرّف من شريحة `xxxxxxxx…` في صف الاتصال بصفحة الموفّر. لا ينطبق التثبيت إلا على معرّفات النماذج المفردة (`provider/model`)، وليس على التركيبات. راجع [تثبيت الحساب لكل طلب](../reference/API_REFERENCE.md#account-pinning-per-request) لمعرفة سلوك الرجوع الاحتياطي الدقيق. --- ## الملفات الشخصية (`CLAUDE_CONFIG_DIR`) لا يحتوي Claude Code على **ملفات ملفات شخصية أصلية** (بخلاف ملفات Codex من النمط `~/.codex/.config.toml`). الآلية المتعارف عليها هي `CLAUDE_CONFIG_DIR` — دليل إعدادات منفصل لكل ملف شخصي، ولكل منها ملف `settings.json` وبيانات اعتماد وسجل وذاكرة تخزين مؤقت خاصة به. يجلب `omniroute setup-claude` كتالوج `/v1/models` المباشر وينشئ ملفًا شخصيًا لكل نموذج في `~/.claude/profiles//settings.json`، مع إعادة استخدام **الأسماء نفسها المستخدمة في `setup-codex`** (`glm52`، و`kimi-k27`، و`deepseek-pro`، و…): ```jsonc // ~/.claude/profiles/glm52/settings.json { "$schema": "https://json.schemastore.org/claude-code-settings.json", "model": "glm/glm-5.2", "effortLevel": "xhigh", "env": { "ANTHROPIC_BASE_URL": "http://192.168.0.15:20128", "ANTHROPIC_MODEL": "glm/glm-5.2", "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1", "CLAUDE_CODE_AUTO_COMPACT_WINDOW": "190000", }, } ``` > **لا تُكتب أبدًا وحدة مصادقة الوصول في الملف الشخصي.** شغّل باستخدام > `omniroute launch --profile ` (وهو يحقن `ANTHROPIC_AUTH_TOKEN` من > السياق النشط)، أو صدّر `ANTHROPIC_AUTH_TOKEN` بنفسك وشغّل > `CLAUDE_CONFIG_DIR=~/.claude/profiles/ claude`. **المزامنة التلقائية بعد اكتشاف النماذج (اختيارية).** يمكن لـ OmniRoute إعادة إنشاء ملفات `~/.claude/profiles//settings.json` نفسها تلقائيًا كلما غيّرت مزامنة نماذج أحد المزوّدين الكتالوج المباشر — بحيث تحصل النماذج الجديدة أو المُعاد تسميتها على ملفات شخصية دون إعادة تشغيل الأمر. تكون هذه الميزة **معطّلة افتراضيًا**: يمكنك تبديلها من **لوحة معلومات CLI Code** ("المزامنة التلقائية لملفات CLI الشخصية" ← Claude Code)، أو تعيين `OMNIROUTE_AUTO_SYNC_CLAUDE_PROFILES=true` (كما أنها تراعي `CLI_ALLOW_CONFIG_WRITES`، المفعّل افتراضيًا). عند تمكينها، لا تكتب سوى ملفات الملفات الشخصية؛ ولا تغيّر أبدًا إعدادات Claude النشطة/الافتراضية أو المصادقة أو الملف `~/.claude/settings.json`. ### إنشاء الملفات الشخصية واستخدامها ```bash # OmniRoute المحلي omniroute setup-claude # خادم VPS بعيد (يضمّن عنوان URL الخاص بخادم VPS في كل ملف شخصي) omniroute setup-claude --remote http://192.168.0.15:20128 --api-key oma_live_xxx # بعض المزوّدين فقط omniroute setup-claude --only glm,kimi # اكتب أيضًا ملفات شخصية لمزوّدي CLI المحليين (zcode، وauggie، وdevin-cli-agentic، # وcodex-app-server) الذين لم يُكتشفوا على هذا المضيف (يتم تخطيهم افتراضيًا لهدف محلي) omniroute setup-claude --include-local # عاين دون كتابة omniroute setup-claude --dry-run # شغّل ملفًا شخصيًا omniroute launch --profile kimi-k27 ``` --- ## مستويات النماذج (اختياري) يوجّه Claude Code الطلبات إلى مستويات قدرات مختلفة. اربط كل مستوى بنموذج OmniRoute عبر متغيرات البيئة / الإعدادات إذا كنت تريد استخدام مزوّدين مختلفين لكل مستوى: ```bash export ANTHROPIC_DEFAULT_OPUS_MODEL="glm/glm-5.2" export ANTHROPIC_DEFAULT_SONNET_MODEL="kmc/kimi-k2.6" export ANTHROPIC_DEFAULT_HAIKU_MODEL="glm/glm-4.7-flash" ``` وإلا فسيُستخدم متغير `ANTHROPIC_MODEL` واحد (وهو ما تضبطه ملفات التعريف) لكل شيء. --- ## الوضع البعيد بمجرد تشغيل `omniroute connect ` (راجع [الوضع البعيد](./REMOTE-MODE.md))، يستهدف الأمران `omniroute launch` و`omniroute setup-claude` ذلك الخادم البعيد تلقائيًا ويستخدمان رمز الوصول محدد النطاق الخاص به — من دون الحاجة إلى خيارات إضافية. يمكنك تجاوز ذلك لكل استدعاء باستخدام `--remote` / `--api-key`. --- ## استكشاف الأخطاء وإصلاحها **يتجاهل Claude Code البوابة** — تأكد من أن `ANTHROPIC_BASE_URL` **لا يحتوي على `/v1`**، ثم أعد تشغيل `claude` (تُقرأ متغيرات البيئة مرة واحدة عند بدء التشغيل). يتولى `omniroute launch` ذلك نيابةً عنك. **قائمة اختيار `/model` فارغة / نماذج البوابة مفقودة** — يتطلب ذلك Claude Code v2.1.219+ وضبط `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1`. لا تظهر في قائمة الاختيار سوى معرّفات النماذج التي تبدأ بـ `claude*` / `anthropic*`؛ لفرض استخدام أي نموذج آخر، استخدم `ANTHROPIC_MODEL=` (وهذا ما تفعله ملفات التعريف). **`400 Ambiguous model 'claude-…'`** — يرسل Claude Code دائمًا معرّفات نماذج **من دون بادئة** (مثل `claude-opus-4-8`)، ولذلك عندما يكون كل من مزوّد Claude Code (`cc/…`) ومزوّد Claude (`claude/…`) متصلين، يطابق المعرّف غير المسبوق ببادئة مسارين، ويرفض OmniRoute التخمين. أصلح ذلك بإحدى الطريقتين: ثبّت معرّفًا مسبوقًا ببادئة باستخدام `ANTHROPIC_MODEL=cc/claude-opus-4-8`، أو فعّل **تفضيل Claude Code لنماذج Claude غير المسبوقة ببادئة** — من مفتاح التبديل في صفحة مزوّد Claude، أو باستخدام `OMNIROUTE_PREFER_CLAUDE_CODE_FOR_UNPREFIXED_CLAUDE_MODELS=true` (معطّل افتراضيًا؛ راجع [البيئة](../reference/ENVIRONMENT.md)) — ما يوجّه معرّفات `claude-*` غير المسبوقة ببادئة إلى Claude Code بدلًا من ذلك. تكون الأولوية دائمًا لبادئات المزوّد الصريحة. **أخطاء المصادقة** — لا يحتوي ملف التعريف على أي رمز. استخدم `omniroute launch --profile` (لحقنه) أو صدّر `ANTHROPIC_AUTH_TOKEN`. **ملفات التعريف غير معزولة** — لكل ملف تعريف `CLAUDE_CONFIG_DIR` مستقل؛ تحقق من أن `echo $CLAUDE_CONFIG_DIR` داخل الجلسة يشير إلى `~/.claude/profiles/`.