رفتن به محتوا

پیکربندیِ مدل

برای تنظیمِ model در Claude Code می‌توانی یکی از این‌ها را پیکربندی کنی:

  • یک نام مستعارِ مدل (model alias)
  • یک نام مدل (model name)
    • Anthropic API: یک نام مدلِ کامل
    • Bedrock: یک inference profile ARN
    • Foundry: یک deployment name
    • Vertex: یک version name

نام‌های مستعارِ مدل راهی راحت برای انتخابِ تنظیماتِ مدل بدونِ به‌خاطرسپردنِ شماره‌های نسخه‌ی دقیق فراهم می‌کنند:

نام مستعارِ مدلرفتار
defaultمقدارِ ویژه‌ای که هر override مدل را پاک می‌کند و به مدلِ توصیه‌شده برای نوعِ حسابِ تو برمی‌گردد. خودش یک نام مستعارِ مدل نیست
bestجایی که سازمانت به آن دسترسی دارد از Fable 5 استفاده می‌کند، در غیر این‌صورت آخرین مدلِ Opus
fableاز Claude Fable 5 برای سخت‌ترین و طولانی‌ترین کارهایت استفاده می‌کند
sonnetاز آخرین مدلِ Sonnet برای کارهای روزمره‌ی کدنویسی استفاده می‌کند
opusاز آخرین مدلِ Opus برای کارهای پیچیده‌ی استدلالی استفاده می‌کند
haikuاز مدلِ سریع و کارآمدِ Haiku برای کارهای ساده استفاده می‌کند
sonnet[1m]از Sonnet با پنجره‌ی کانتکستِ یک‌میلیون توکنی برای نشست‌های طولانی استفاده می‌کند
opus[1m]از Opus با پنجره‌ی کانتکستِ یک‌میلیون توکنی برای نشست‌های طولانی استفاده می‌کند
opusplanحالتِ ویژه‌ای که در plan mode از opus استفاده می‌کند و سپس برای اجرا به sonnet سوییچ می‌کند

روی Anthropic API، opus به Opus 4.8 و sonnet به Sonnet 4.6 نگاشت می‌شود. روی Claude Platform on AWS، opus به Opus 4.7 و sonnet به Sonnet 4.6 نگاشت می‌شود. روی Bedrock، Vertex و Foundry، opus به Opus 4.6 و sonnet به Sonnet 4.5 نگاشت می‌شود؛ مدل‌های جدیدتر روی این ارائه‌دهنده‌ها با انتخابِ صریحِ نام مدلِ کامل یا با تنظیمِ ANTHROPIC_DEFAULT_OPUS_MODEL یا ANTHROPIC_DEFAULT_SONNET_MODEL در دسترس‌اند.

نام‌های مستعار به نسخه‌ی توصیه‌شده برای ارائه‌دهنده‌ی تو اشاره می‌کنند و در طولِ زمان به‌روز می‌شوند. برای پین‌کردن به یک نسخه‌ی مشخص، از نام مدلِ کامل (مثلاً claude-opus-4-8) استفاده کن یا متغیرِ محیطیِ متناظر مثلِ ANTHROPIC_DEFAULT_OPUS_MODEL را تنظیم کن.

Claude Fable 5 تواناترین مدل در Claude Code است و مناسبِ کارهایی بزرگ‌تر از یک نشستِ تک است. نشست‌های مستقلِ طولانی را دوام می‌آورد، پیش از عمل بررسی می‌کند و بیشتر از مدل‌های کوچک‌تر کارش را راستی‌آزمایی می‌کند.

Fable 5 مدلِ پیش‌فرض نیست. آن را با /model fable انتخاب کن. درخواست‌هایی که دسته‌بندهای ایمنیِ آن نشان‌دار می‌کنند — که بیشترِ مواقع در حوزه‌های امنیتِ سایبری و زیست‌شناسی است — باعثِ بازگشتِ خودکارِ مدل (automatic model fallback) می‌شوند.

برای بیشترین بهره از Fable 5:

  • نتیجه را توصیف کن، نه گام‌ها را: نتیجه‌ای را که می‌خواهی به آن بسپار و بگذار خودش مسیر را برنامه‌ریزی کند. برای اینکه تا برقراریِ آن نتیجه به کارش ادامه دهد، یک هدف تعیین کن.
  • مسائلِ مبهم را به آن بسپار: ریشه‌یابی‌ها، عیب‌یابیِ قطعی‌ها و تصمیم‌های معماری جاهایی‌اند که بررسی و راستی‌آزماییِ بیشتر جواب می‌دهد.
  • یادآوری‌های راستی‌آزمایی را رها کن: با پرامپتِ کمتری کارِ خودش را راستی‌آزمایی می‌کند، پس یادآوری برای تست یا بررسی معمولاً غیرضروری است.
  • کارهای بزرگ‌تر را بزرگ‌تر بگیر: کاری را به آن بده که معمولاً به تکه‌ها می‌شکنی. نشست‌های طولانی را بدونِ گم‌کردنِ رشته‌ی کار نگه می‌دارد.

می‌توانی مدلت را به چند روش پیکربندی کنی که به ترتیبِ اولویت فهرست شده‌اند:

  1. در حینِ نشست - از /model <alias|name> برای سوییچِ فوری استفاده کن، یا /model را بدونِ آرگومان اجرا کن تا انتخابگر باز شود. وقتی گفتگو خروجیِ پیشین داشته باشد، انتخابگر تأیید می‌خواهد، چون پاسخِ بعدی کلِ تاریخچه را بدونِ کانتکستِ کش‌شده دوباره می‌خواند
  2. هنگامِ راه‌اندازی - با claude --model <alias|name> اجرا کن
  3. متغیرِ محیطی - ANTHROPIC_MODEL=<alias|name> را تنظیم کن
  4. تنظیمات - به‌طورِ دائمی در فایلِ تنظیماتت با فیلدِ model پیکربندی کن.

از نسخه‌ی v2.1.153، /model انتخابِ تو را به‌عنوانِ پیش‌فرضِ نشست‌های جدید ذخیره می‌کند، با نوشتنِ فیلدِ model در تنظیماتِ کاربریت. در انتخابگر:

  • Enter: سوییچِ مدل و ذخیره به‌عنوانِ پیش‌فرضِ تو
  • s: سوییچِ مدل فقط برای همین نشست

تایپ‌کردنِ مستقیمِ /model <name> مثلِ Enter رفتار می‌کند. تنظیماتِ پروژه و managed همچنان اولویت دارند و در راه‌اندازیِ بعدی دوباره اعمال می‌شوند.

در نسخه‌های v2.1.144 تا v2.1.152، /model فقط روی نشستِ جاری اعمال می‌شد و d در انتخابگر یک پیش‌فرض ذخیره می‌کرد.

پرچمِ --model و متغیرِ محیطیِ ANTHROPIC_MODEL فقط روی همان نشستی که با آن‌ها راه‌اندازی می‌کنی اعمال می‌شوند. برای اجرای مدل‌های مختلف در ترمینال‌های مختلف به‌طورِ هم‌زمان، هر کدام را با پرچمِ --model خودش راه‌اندازی کن، به‌جای سوییچ با /model.

نشست‌های ازسرگرفته‌شده که با claude --resume، --continue یا انتخابگرِ /resume شروع شده‌اند، مدلی را که هنگامِ ذخیره‌ی transcript استفاده می‌کردند نگه می‌دارند، صرف‌نظر از تنظیمِ فعلیِ model. اگر آن مدل بازنشسته شده باشد، نشست به ترتیبِ اولویتِ عادی برمی‌گردد. این مانع از آن می‌شود که انتخابِ /model در یک نشستِ دیگر، مدلِ نشست را هنگامِ ازسرگیری تغییر دهد.

وقتی مدلِ فعال هنگامِ راه‌اندازی از تنظیماتِ پروژه یا managed می‌آید نه از انتخابِ خودت، سرتیترِ راه‌اندازی نشان می‌دهد کدام فایلِ تنظیمات آن را تعیین کرده است. برای override کردن /model را اجرا کن؛ تنظیمِ پروژه یا managed در راه‌اندازیِ بعدی دوباره اعمال می‌شود.

نمونه‌ی استفاده:

Terminal window
# Start with Opus
claude --model opus
# Switch to Sonnet during session
/model sonnet

نمونه‌ی فایلِ تنظیمات:

{
"permissions": {
...
},
"model": "opus"
}

محدودکردنِ انتخابِ مدل

Section titled “محدودکردنِ انتخابِ مدل”

مدیرانِ سازمانی می‌توانند از availableModels در تنظیماتِ managed یا policy استفاده کنند تا محدود کنند کاربران کدام مدل‌ها را می‌توانند انتخاب کنند.

وقتی availableModels تنظیم شده باشد، فهرستِ مجاز روی هر سطحی که کاربر می‌تواند یک مدل را نام ببرد اعمال می‌شود:

  • مدلِ نشستِ اصلی: /model، پرچمِ --model، و متغیرِ محیطیِ ANTHROPIC_MODEL
  • مدل‌های ساب‌ایجنت: فیلدِ model در frontmatterِ ساب‌ایجنت، پارامترِ model ابزارِ Agent، انتخابگرِ مدل در /agents، و CLAUDE_CODE_SUBAGENT_MODEL
  • مدلِ advisor: تنظیمِ پیکربندی‌شده‌ی advisorModel
  • زنجیره‌های fallback: عناصرِ یک زنجیره‌ی مدلِ fallback که بیرونِ فهرست‌اند حذف می‌شوند

سوییچ به یک مدلِ مسدودشده با /model با یک خطا رد می‌شود، در حالی که پرچمِ --model یا مقدارِ ANTHROPIC_MODEL مسدودشده هنگامِ راه‌اندازی با یک هشدار که هم مدلِ درخواست‌شده و هم مدلِ جایگزین‌شده را نام می‌برد جایگزین می‌شود، و نشست با مدلِ پیش‌فرض شروع می‌شود. override مسدودشده‌ی ساب‌ایجنت یا advisor به‌جای شکست‌خوردنِ درخواست، به مدلِ ارث‌برده‌شده یا پیش‌فرض برمی‌گردد.

{
"availableModels": ["sonnet", "haiku"]
}

به‌طورِ پیش‌فرض، گزینه‌ی Default در انتخابگرِ مدل تحتِ تأثیرِ availableModels نیست. در دسترس باقی می‌ماند و پیش‌فرضِ زمانِ اجرای سیستم را بر اساسِ سطحِ اشتراکِ کاربر نمایندگی می‌کند.

برای گسترشِ فهرستِ مجاز به گزینه‌ی Default، enforceAvailableModels را در تنظیماتِ managed یا policy به‌همراهِ یک فهرستِ غیرخالیِ availableModels روی true بگذار. وقتی پیش‌فرضِ سطح در فهرستِ مجاز نباشد، Default به‌جای پیش‌فرضِ سطح به اولین ورودیِ مجاز نگاشت می‌شود. این به Claude Code نسخه‌ی v2.1.175 یا بالاتر نیاز دارد.

یک آرایه‌ی خالیِ availableModels هرگز اجبار را فعال نمی‌کند. حتی با availableModels: []، کاربران همچنان می‌توانند از Claude Code با مدلِ Default سطحِ خود استفاده کنند، صرف‌نظر از enforceAvailableModels.

کنترلِ مدلی که کاربران روی آن اجرا می‌کنند

Section titled “کنترلِ مدلی که کاربران روی آن اجرا می‌کنند”

تنظیمِ model یک انتخابِ اولیه است، نه اجبار. تعیین می‌کند کدام مدل هنگامِ شروعِ نشست فعال است، ولی کاربران همچنان می‌توانند /model را باز کنند و Default را انتخاب کنند که به پیش‌فرضِ سیستمِ سطحشان نگاشت می‌شود، صرف‌نظر از اینکه model روی چه چیزی تنظیم شده.

برای کنترلِ کاملِ تجربه‌ی مدل، این تنظیمات را ترکیب کن:

  • availableModels: محدود می‌کند کاربران به کدام مدل‌های نام‌برده‌شده می‌توانند سوییچ کنند
  • enforceAvailableModels: فهرستِ مجازِ availableModels را به گزینه‌ی Default گسترش می‌دهد، تا Default نتواند به مدلی بیرونِ فهرست نگاشت شود
  • model: انتخابِ اولیه‌ی مدل را هنگامِ شروعِ نشست تعیین می‌کند
  • ANTHROPIC_DEFAULT_SONNET_MODEL / ANTHROPIC_DEFAULT_OPUS_MODEL / ANTHROPIC_DEFAULT_HAIKU_MODEL / ANTHROPIC_DEFAULT_FABLE_MODEL: کنترل می‌کنند گزینه‌ی Default و نام‌های مستعارِ sonnet، opus، haiku و fable به چه چیزی نگاشت شوند

این نمونه کاربران را روی Sonnet 4.5 شروع می‌کند، انتخابگر را به Sonnet و Haiku محدود می‌کند، و تضمین می‌کند Default به‌جای پیش‌فرضِ سطح به مدلی در فهرستِ مجاز نگاشت شود:

{
"model": "claude-sonnet-4-5",
"availableModels": ["claude-sonnet-4-5", "haiku"],
"enforceAvailableModels": true,
"env": {
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-5"
}
}

بدونِ enforceAvailableModels یا بلاکِ env، کاربری که Default را در انتخابگر انتخاب می‌کند آخرین نسخه‌ی سطحِ خود را دریافت می‌کند و پینِ نسخه در model و availableModels را دور می‌زند. این دو تنظیم دامنه‌های متفاوتی را پوشش می‌دهند: enforceAvailableModels کاری می‌کند Default از فهرستِ مجاز پیروی کند، در حالی که بلاکِ env پین می‌کند یک نام مستعارِ مجاز مثلِ sonnet به چه نسخه‌ای نگاشت شود. وقتی محدودکردنِ خانواده‌های مدل کافی است فقط enforceAvailableModels را به‌کار ببر؛ وقتی به پین‌کردنِ یک نسخه‌ی مشخص هم نیاز داری بلاکِ env را اضافه کن.

وقتی availableModels فقط در تنظیماتِ user، project و local تنظیم شده باشد، آرایه‌ها در همه‌ی این سطح‌ها ادغام و یکتاسازی می‌شوند.

وقتی availableModels در تنظیماتِ managed یا policy تنظیم شده باشد، مقدارِ managed یا policy کاملاً جایگزینِ نتیجه‌ی ادغام‌شده می‌شود: ورودی‌های افزوده‌شده در تنظیماتِ user یا project نمی‌توانند آن را گسترده‌تر کنند. تنظیماتِ managed و policy به همین شکل مقادیرِ کم‌اولویت‌ترِ enforceAvailableModels را جایگزین می‌کنند. از Claude Code نسخه‌ی v2.1.175، این تنها راهِ اعمالِ یک فهرستِ مجازِ سخت‌گیرانه است؛ نسخه‌های قبلی فهرستِ managed را با ورودی‌های کم‌اولویت‌تر ادغام می‌کنند.

وقتی اندپوینتِ Bedrock Mantle فعال باشد، ورودی‌های availableModels که با anthropic. شروع می‌شوند به‌عنوانِ گزینه‌های سفارشی به انتخابگرِ /model افزوده می‌شوند و به اندپوینتِ Mantle مسیریابی می‌شوند. این تنظیم همچنان انتخابگر را به ورودی‌های فهرست‌شده محدود می‌کند، پس نام‌های مستعارِ استاندارد را در کنارِ هر شناسه‌ی Mantle بگنجان.

رفتارِ default به نوعِ حسابِ تو بستگی دارد:

  • Max، Team Premium، Enterprise pay-as-you-go و Anthropic API: پیش‌فرض روی Opus 4.8
  • Claude Platform on AWS: پیش‌فرض روی Opus 4.7
  • صندلی‌های اشتراکِ Pro، Team Standard و Enterprise: پیش‌فرض روی Sonnet 4.6
  • Bedrock، Vertex و Foundry: پیش‌فرض روی Sonnet 4.5

Enterprise pay-as-you-go یعنی یک سازمانِ Enterprise که بر اساسِ مصرف صورتحساب می‌گیرد نه بر اساسِ صندلیِ اشتراک.

Fable 5 روی هیچ نوعِ حسابی مدلِ پیش‌فرض نیست. نشست‌ها تنها پس از اینکه آن را انتخاب کنی از Fable 5 استفاده می‌کنند، با /model fable، یک تنظیمِ model، یا نام مستعارِ best جایی که Fable 5 در دسترس باشد. انتخابِ آن با /model آن را به‌عنوانِ مدلِ انتخاب‌شده در تنظیماتِ کاربریت ذخیره می‌کند، پس نشست‌های بعدی روی Fable 5 شروع می‌شوند تا وقتی مدل را عوض کنی.

نام مستعارِ مدلِ opusplan یک رویکردِ ترکیبیِ خودکار فراهم می‌کند:

  • در plan mode - از opus برای استدلالِ پیچیده و تصمیم‌های معماری استفاده می‌کند
  • در حالتِ اجرا - به‌طورِ خودکار برای تولیدِ کد و پیاده‌سازی به sonnet سوییچ می‌کند

این بهترینِ هر دو دنیا را به تو می‌دهد: استدلالِ برترِ Opus برای برنامه‌ریزی، و کارآمدیِ Sonnet برای اجرا.

فازِ Opusِ plan mode از همان پنجره‌ی کانتکستِ تنظیمِ مدلِ opus استفاده می‌کند. روی سطح‌های اشتراکی که Opus به‌طورِ خودکار به کانتکستِ 1M ارتقا می‌یابد، opusplan نیز این ارتقا را در plan mode دریافت می‌کند. برای اجبارِ کانتکستِ 1M در هر دو فاز وقتی روی یک سطحِ ارتقای-خودکار نیستی، مدل را روی opusplan[1m] بگذار.

وقتی availableModels شاملِ Opus نباشد، opusplan به‌جای سوییچ، در plan mode روی Sonnet می‌ماند. همین در موردِ ارتقای ضمنیِ Haiku-به-Sonnet در plan mode هم وقتی Sonnet مستثنا شده باشد صدق می‌کند.

برای رویکردی ترکیبی که Claude در میانه‌ی کار تصمیم می‌گیرد کِی با یک مدلِ دوم مشورت کند به‌جای سوییچ در مرزِ plan، به ابزارِ advisor سر بزن.

وقتی مدلِ اصلی بیش‌ازحد بارگذاری شده، در دسترس نباشد، یا خطای سرورِ غیرقابلِ‌تلاشِ‌مجددِ دیگری برگرداند، Claude Code می‌تواند به‌جای شکستِ درخواست به یک مدلِ fallback سوییچ کند. خطاهای احراز هویت، صورتحساب، rate-limit، اندازه‌ی درخواست و انتقال هرگز باعثِ سوییچ نمی‌شوند؛ آن‌ها از تلاشِ مجدد و مدیریتِ خطای عادیِ خود پیروی می‌کنند.

یک یا چند مدلِ fallback پیکربندی کن و Claude Code آن‌ها را به ترتیب امتحان می‌کند و هنگامِ سوییچ یک اطلاعیه نشان می‌دهد. سوییچ فقط برای نوبتِ جاری دوام دارد، پس پیامِ بعدیِ تو دوباره ابتدا مدلِ اصلی را امتحان می‌کند. زنجیره‌ها پس از حذفِ تکراری‌ها به سه مدل سقف می‌خورند و ورودی‌های اضافه نادیده گرفته می‌شوند.

یک زنجیره را برای یک نشست با پرچمِ --fallback-model که فهرستی جداشده با کاما می‌پذیرد تنظیم کن:

Terminal window
claude --fallback-model sonnet,haiku

برای پایداریِ یک زنجیره در طولِ نشست‌ها، fallbackModel را در تنظیمات به‌صورتِ یک آرایه تنظیم کن:

{
"fallbackModel": ["claude-sonnet-4-6", "claude-haiku-4-5"]
}

پرچمِ --fallback-model بر تنظیمِ fallbackModel اولویت دارد. هر عنصر یک نام مدل یا نام مستعار می‌پذیرد، و "default" به مدلِ پیش‌فرض گسترش می‌یابد.

دو حالت باعثِ نادیده‌گرفتنِ یک عنصر می‌شوند:

  • مدلِ در دسترس‌نبودنی: مدلی که نمی‌توان به آن رسید، مثلِ یک مدلِ بازنشسته‌ی پین‌شده در تنظیمات، نادیده گرفته می‌شود و Claude Code به عنصرِ بعدی می‌رود.
  • بیرونِ فهرستِ مجاز: عنصری که توسطِ availableModels مجاز نیست هنگامِ خواندنِ زنجیره حذف می‌شود و هرگز امتحان نمی‌شود.

این بخش fallback مبتنی‌بر-محتوا از Fable 5 را پوشش می‌دهد. برای fallback مبتنی‌بر-دسترسی وقتی مدلی بیش‌ازحد بارگذاری شده یا در دسترس نباشد، به زنجیره‌های مدلِ fallback سر بزن.

Fable 5 با دسته‌بندهای ایمنی برای محتوای امنیتِ سایبری و زیست‌شناسی اجرا می‌شود. وقتی یک دسته‌بند درخواستی را نشان‌دار می‌کند، Claude Code آن درخواست را روی مدلِ پیش‌فرضِ Opus دوباره اجرا می‌کند و یک اطلاعیه در transcript نشان می‌دهد: Opus 4.8 روی Anthropic API و استقرارهای LLM gateway، یا Opus 4.7 روی Claude Platform on AWS.

سپس نشست روی آن مدلِ Opus ادامه می‌یابد. برای بازگشت به Fable 5، /model fable را اجرا کن.

بررسی اینکه چه چیزی fallback را راه‌اندازی کرد

Section titled “بررسی اینکه چه چیزی fallback را راه‌اندازی کرد”

fallback می‌تواند در اولین درخواستِ یک نشست راه‌اندازی شود، پیش از آنکه چیزِ غیرعادی‌ای بفرستی، چون اولین درخواست کانتکستِ فضای کارت را حمل می‌کند، مثلِ محتوای CLAUDE.md و وضعیتِ git. مخزنی که حاویِ مطالبِ امنیتی یا زیست‌شناسی باشد می‌تواند تنها با همان کانتکست دسته‌بند را به‌کار بیندازد.

برای بررسی اینکه آیا سفارشی‌سازی‌ها عاملِ راه‌انداز هستند، نشستی را با claude --safe-mode شروع کن، که سفارشی‌سازی‌هایی مثلِ CLAUDE.md، Skills، سرورهای MCP و Hooks را غیرفعال می‌کند. وضعیتِ git و نام‌های دایرکتوری سفارشی‌سازی نیستند و همچنان گنجانده می‌شوند.

برای اینکه هر بار درخواستی نشان‌دار شد تصمیم بگیری چه اتفاقی بیفتد، به‌جای سوییچِ خودکار، /config را اجرا کن و «switch models when a message is flagged» را خاموش کن. آن‌گاه یک درخواستِ نشان‌دار نشست را با دو گزینه متوقف می‌کند: سوییچ به مدلِ Opus، یا ویرایشِ پرامپت و تلاشِ مجدد روی Fable 5.

برخی حالت‌ها متفاوت رفتار می‌کنند:

  • اگر هر دو مدل همان درخواست را نشان‌دار کنند، می‌توانی پرامپت را ویرایش و تلاشِ مجدد کنی، یا یک نشستِ جدید شروع کنی.
  • در نشست‌های موبایلِ Claude Code on the web، ویرایش و تلاشِ مجدد پشتیبانی نمی‌شود. مدل را سوییچ کن، یا نشست را از یک مرورگرِ دسکتاپ یا اپِ دسکتاپ ادامه بده.
  • در حالتِ غیرتعاملی و یکپارچه‌سازی‌های SDK که نمی‌توانند پرامپت را نشان دهند، یک درخواستِ نشان‌دار به‌جای آن نوبت را با یک ردِّ درخواست (refusal) پایان می‌دهد.

فعال‌سازیِ fallback روی Bedrock، Vertex AI و Foundry

Section titled “فعال‌سازیِ fallback روی Bedrock، Vertex AI و Foundry”

روی Amazon Bedrock، Google Vertex AI و Microsoft Foundry، شناسه‌های مدل مختصِّ ارائه‌دهنده‌اند، پس fallback خودکار تنها وقتی کار می‌کند که Claude Code بتواند هر دو مدلِ درگیر را شناسایی کند:

  • Claude Code باید مدلِ فعلی را به‌عنوانِ Fable 5 بشناسد: شناسه‌ی مدل حاویِ claude-fable-5 باشد، با مقدارِ ANTHROPIC_DEFAULT_FABLE_MODEL مطابقت داشته باشد، یا با modelOverrides نگاشت شده باشد.
  • مقصدِ fallback باید به یک مدلِ Opus نگاشت شود: مقدارِ ANTHROPIC_DEFAULT_OPUS_MODEL اگر تنظیم شده باشد، در غیر این‌صورت یک ورودیِ Opus 4.8 در فهرستِ مدل‌های ارائه‌دهنده.

اگر هر یک از دو مدل قابلِ شناسایی نباشد، Claude Code به‌طورِ خودکار سوییچ نمی‌کند. درخواستِ نشان‌دار با یک پیامِ ردِّ درخواست پایان می‌یابد، و می‌توانی با /model مدل را سوییچ و تلاشِ مجدد کنی. برای فعال‌سازیِ fallback خودکار روی این ارائه‌دهنده‌ها، ANTHROPIC_DEFAULT_FABLE_MODEL را روی شناسه‌ی مدلِ Fable 5 خود و ANTHROPIC_DEFAULT_OPUS_MODEL را روی شناسه‌ی مدلِ Opus 4.8 خود تنظیم کن.

بارهای کاریِ پژوهشِ امنیتی و زیست‌شناسی

Section titled “بارهای کاریِ پژوهشِ امنیتی و زیست‌شناسی”

بارهای کاری در امنیتِ تهاجمی یا زیست‌شناسی، از جمله تستِ نفوذ، تمرین‌های Capture the Flag (CTF) و کدبیس‌های مجاورِ زیست‌شناسی، fallback را به‌کرات راه‌اندازی می‌کنند، اغلب در اولین درخواست. برای کارِ ماهویِ زیست‌شناسی، انتظار داشته باش تقریباً همه‌ی درخواست‌ها بازمسیریابی شوند.

این مسیریابیِ موردِ انتظار برای این حوزه‌هاست، نه نشان‌دار شدنِ حساب. اگر سازمانت برای این کار به توانمندیِ هم‌ترازِ Fable نیاز دارد، درباره‌ی برنامه‌های دسترسیِ مورد‌اعتماد (trusted access) از تیمِ حسابِ Anthropic خود بپرس.

سطح‌های تلاش (Effort levels) استدلالِ تطبیقی را کنترل می‌کنند، که به مدل اجازه می‌دهد بر اساسِ پیچیدگیِ کار تصمیم بگیرد در هر گام آیا و چه‌قدر فکر کند. تلاشِ پایین‌تر برای کارهای سرراست سریع‌تر و ارزان‌تر است، در حالی که تلاشِ بالاتر استدلالِ عمیق‌تری برای مسائلِ پیچیده فراهم می‌کند.

سطح‌های تلاشِ در دسترس به مدل بستگی دارند. مدل‌هایی که اینجا فهرست نشده‌اند از effort پشتیبانی نمی‌کنند:

مدلسطح‌ها
Fable 5low, medium, high, xhigh, max
Opus 4.8 و Opus 4.7low, medium, high, xhigh, max
Opus 4.6 و Sonnet 4.6low, medium, high, max

اگر سطحی را تعیین کنی که مدلِ فعال از آن پشتیبانی نمی‌کند، Claude Code به بالاترین سطحِ پشتیبانی‌شده در همان حد یا پایین‌ترِ آنچه تعیین کرده‌ای برمی‌گردد. مثلاً xhigh روی Opus 4.6 به‌صورتِ high اجرا می‌شود.

تلاشِ پیش‌فرض روی Fable 5، Opus 4.8، Opus 4.6 و Sonnet 4.6 برابرِ high است، و روی Opus 4.7 برابرِ xhigh.

وقتی برای اولین بار Fable 5، Opus 4.8 یا Opus 4.7 را اجرا می‌کنی، Claude Code تلاشِ پیش‌فرضِ آن مدل را اعمال می‌کند حتی اگر پیش‌تر سطحِ متفاوتی را برای مدلِ دیگری تنظیم کرده باشی: high روی Fable 5 و Opus 4.8، و xhigh روی Opus 4.7. پس از سوییچ /effort را دوباره اجرا کن تا سطحِ متفاوتی انتخاب کنی.

low، medium، high و xhigh در طولِ نشست‌ها پایدار می‌مانند. max عمیق‌ترین استدلال را بدونِ محدودیتی بر مصرفِ توکن فراهم می‌کند و فقط روی نشستِ جاری اعمال می‌شود، مگر وقتی از طریقِ متغیرِ محیطیِ CLAUDE_CODE_EFFORT_LEVEL تنظیم شده باشد.

منوی /effort همچنین ultracode را ارائه می‌دهد. Ultracode یک تنظیمِ Claude Code است نه یک سطحِ تلاشِ مدل: xhigh را به مدل می‌فرستد و علاوه بر آن Claude را وادار می‌کند ورک‌فلوهای پویا (dynamic workflows) را برای کارهای ماهوی هماهنگ کند. فقط روی نشستِ جاری اعمال می‌شود. آن را از طریقِ /effort تنظیم کن، یا "ultracode": true را از طریقِ --settings یا یک درخواستِ کنترلیِ Agent SDK پاس بده. بخشی از تنظیمِ effortLevel، پرچمِ --effort یا CLAUDE_CODE_EFFORT_LEVEL نیست.

هر سطح مصرفِ توکن را در برابرِ توانمندی معامله می‌کند. پیش‌فرض مناسبِ بیشترِ کارهای کدنویسی است؛ وقتی تعادلِ متفاوتی می‌خواهی تنظیمش کن.

سطحکِی به‌کارش ببری
lowبرای کارهای کوتاه، محدوده‌دار و حساس‌به-تأخیر که حساس‌به-هوش نیستند نگه دار
mediumمصرفِ توکن را برای کارِ حساس‌به-هزینه که می‌تواند کمی از هوش بگذرد کاهش می‌دهد
highتعادلِ مصرفِ توکن و هوش. پیش‌فرض روی Fable 5، Opus 4.8، Opus 4.6 و Sonnet 4.6
xhighاستدلالِ عمیق‌تر با مصرفِ توکنِ بالاتر. پیش‌فرض روی Opus 4.7
maxمی‌تواند عملکرد را روی کارهای سنگین بهبود دهد ولی ممکن است بازدهِ نزولی نشان دهد و مستعدِ بیش‌اندیشی است. پیش از پذیرشِ گسترده تست کن
ultracodeیک تنظیمِ Claude Code که برای هر کارِ ماهوی یک ورک‌فلوی پویا با استدلالِ xhigh در هر پیام برنامه‌ریزی می‌کند. فقط-نشست

مقیاسِ تلاش برای هر مدل کالیبره شده، پس همان نامِ سطح مقدارِ زیربناییِ یکسانی را در مدل‌های مختلف نمایندگی نمی‌کند.

استفاده از ultrathink برای استدلالِ عمیقِ یک‌باره

Section titled “استفاده از ultrathink برای استدلالِ عمیقِ یک‌باره”

ultrathink را هر جای پرامپتت بگنجان تا در آن نوبت استدلالِ عمیق‌تری درخواست کنی بدونِ تغییرِ تنظیمِ تلاشِ نشستت. Claude Code این کلیدواژه را می‌شناسد و یک دستورالعملِ درون‌-کانتکست اضافه می‌کند. سطحِ تلاشِ فرستاده‌شده به API بدونِ تغییر می‌ماند. عبارت‌های دیگری مثلِ «think»، «think hard» و «think more» به‌عنوانِ متنِ پرامپتِ عادی رد می‌شوند و به‌عنوانِ کلیدواژه شناخته نمی‌شوند.

می‌توانی تلاش را از طریقِ هر یک از این‌ها تغییر دهی:

  • /effort: /effort را بدونِ آرگومان اجرا کن تا یک اسلایدرِ تعاملی باز شود، /effort و سپس نامِ یک سطح برای تنظیمِ مستقیمِ آن، یا /effort auto برای بازنشانی به پیش‌فرضِ مدل
  • در /model: از کلیدهای جهتِ چپ/راست برای تنظیمِ اسلایدرِ تلاش هنگامِ انتخابِ یک مدل استفاده کن
  • پرچمِ --effort: نامِ یک سطح را پاس بده تا آن را برای یک نشست هنگامِ راه‌اندازیِ Claude Code تنظیم کنی
  • متغیرِ محیطی: CLAUDE_CODE_EFFORT_LEVEL را روی نامِ یک سطح یا auto بگذار
  • تنظیمات: effortLevel را در فایلِ تنظیماتت روی low، medium، high یا xhigh بگذار. max و ultracode فقط-نشست هستند و اینجا پذیرفته نمی‌شوند
  • frontmatterِ Skill و ساب‌ایجنت: effort را در یک فایلِ مارک‌داونِ skill یا ساب‌ایجنت بگذار تا هنگامِ اجرای آن skill یا ساب‌ایجنت سطحِ تلاش را override کنی

متغیرِ محیطی بر همه‌ی روش‌های دیگر اولویت دارد، سپس سطحِ پیکربندی‌شده‌ات، سپس پیش‌فرضِ مدل. تلاشِ frontmatter وقتی آن skill یا ساب‌ایجنت فعال است اعمال می‌شود و سطحِ نشست را override می‌کند ولی متغیرِ محیطی را نه.

اسلایدرِ تلاش وقتی یک مدلِ پشتیبانی‌شده انتخاب شده باشد در /model ظاهر می‌شود. سطحِ تلاشِ فعلی همچنین کنارِ لوگو و spinner نمایش داده می‌شود، مثلاً «with low effort»، تا بتوانی بدونِ بازکردنِ /model تأیید کنی کدام تنظیم فعال است.

استدلالِ تطبیقی و بودجه‌های فکریِ ثابت

Section titled “استدلالِ تطبیقی و بودجه‌های فکریِ ثابت”

استدلالِ تطبیقی فکرکردن را در هر گام اختیاری می‌کند، پس Claude می‌تواند به پرامپت‌های روزمره سریع‌تر پاسخ دهد و فکرِ عمیق‌تر را برای گام‌هایی که از آن سود می‌برند ذخیره کند. اگر بخواهی Claude بیشتر یا کمتر از آنچه سطحِ فعلی تولید می‌کند فکر کند، می‌توانی مستقیماً در پرامپتت یا در CLAUDE.md بگویی؛ مدل در محدوده‌ی تنظیمِ تلاشش به آن راهنمایی پاسخ می‌دهد.

Opus 4.7 و بعد از آن همیشه از استدلالِ تطبیقی استفاده می‌کنند، و Fable 5 هم همین‌طور. حالتِ بودجه‌ی فکریِ ثابت و CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING به آن‌ها اعمال نمی‌شود.

روی Opus 4.6 و Sonnet 4.6، می‌توانی CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 را تنظیم کنی تا به بودجه‌ی فکریِ ثابتِ پیشین که با MAX_THINKING_TOKENS کنترل می‌شود برگردی. به متغیرهای محیطی سر بزن.

تفکرِ گسترده (Extended thinking)

Section titled “تفکرِ گسترده (Extended thinking)”

تفکرِ گسترده استدلالی است که Claude پیش از پاسخ‌دادن منتشر می‌کند. روی مدل‌هایی که از استدلالِ تطبیقی پشتیبانی می‌کنند، سطحِ تلاش کنترلِ اصلیِ مقدارِ فکرکردن است؛ تنظیماتِ زیر فکرکردن را روشن یا خاموش می‌کنند و نحوه‌ی نمایشش را کنترل می‌کنند.

کنترلچگونه تنظیمش کنی
تغییرِ وضعیت برای نشستِ جاریروی macOS کلیدِ Option+T و روی Windows و Linux کلیدِ Alt+T را فشار بده
تنظیمِ پیش‌فرضِ سراسری/config را اجرا کن و حالتِ thinking را تغییر بده. به‌صورتِ alwaysThinkingEnabled در ~/.claude/settings.json ذخیره می‌شود
غیرفعال صرف‌نظر از تلاشMAX_THINKING_TOKENS=0 را تنظیم کن، که فکرکردن را روی Anthropic API به‌جز روی Fable 5 خاموش می‌کند. روی ارائه‌دهنده‌های شخصِ ثالث این کار به‌جای آن پارامترِ thinking را حذف می‌کند، و مدل‌های استدلالِ-تطبیقی ممکن است همچنان فکر کنند. مقادیرِ دیگر فقط با یک بودجه‌ی فکریِ ثابت اعمال می‌شوند

فکرکردن را نمی‌توان روی Fable 5 خاموش کرد. تغییرِ وضعیتِ نشست، alwaysThinkingEnabled و MAX_THINKING_TOKENS=0 آنجا اثری ندارند، و Fable 5 بر اساسِ سطحِ تلاش در هر گام تصمیم می‌گیرد چه‌قدر فکر کند.

خروجیِ فکرکردن به‌طورِ پیش‌فرض جمع‌شده است. Ctrl+O را فشار بده تا حالتِ verbose تغییر کند و استدلال را به‌صورتِ متنِ خاکستریِ ایتالیک ببینی. نشست‌های تعاملی روی Anthropic API به‌طورِ پیش‌فرض بلاک‌های فکریِ ویرایش‌شده (redacted) دریافت می‌کنند، پس اگر می‌خواهی خلاصه‌های کامل هنگامِ بازکردن در دسترس باشند، showThinkingSummaries: true را در تنظیمات بگذار. برای همه‌ی توکن‌های فکریِ تولیدشده هزینه می‌پردازی، حتی وقتی جمع‌شده یا ویرایش‌شده باشند.

کانتکستِ گسترده (Extended context)

Section titled “کانتکستِ گسترده (Extended context)”

Fable 5، Opus 4.6 و بعد از آن، و Sonnet 4.6 از یک پنجره‌ی کانتکستِ یک‌میلیون توکنی برای نشست‌های طولانی با کدبیس‌های بزرگ پشتیبانی می‌کنند.

دسترس‌پذیری بر اساسِ مدل و پلن تفاوت دارد. روی پلن‌های Max، Team و Enterprise، Opus به‌طورِ خودکار و بدونِ پیکربندیِ اضافی به کانتکستِ 1M ارتقا می‌یابد. این هم برای صندلی‌های Team Standard و هم Team Premium صدق می‌کند. روی Anthropic API، Fable 5، Opus 4.8 و Opus 4.7 همیشه با پنجره‌ی 1M اجرا می‌شوند. Sonnet با کانتکستِ 1M بخشی از ارتقای خودکار نیست و روی هر پلنِ اشتراکی، از جمله Max، به اعتبارِ مصرف (usage credits) نیاز دارد.

پلنOpus با کانتکستِ 1MSonnet با کانتکستِ 1M
Max، Team و Enterpriseبا اشتراک گنجانده شدهبه اعتبارِ مصرف نیاز دارد
Proبه اعتبارِ مصرف نیاز داردبه اعتبارِ مصرف نیاز دارد
API و pay-as-you-goدسترسیِ کاملدسترسیِ کامل

برای غیرفعال‌کردنِ کاملِ کانتکستِ 1M، CLAUDE_CODE_DISABLE_1M_CONTEXT=1 را تنظیم کن. این کار گونه‌های مدلِ 1M را از انتخابگرِ مدل حذف می‌کند. به متغیرهای محیطی سر بزن.

پنجره‌ی کانتکستِ 1M از قیمت‌گذاریِ استانداردِ مدل استفاده می‌کند و هیچ هزینه‌ی اضافه‌ای برای توکن‌های فراتر از 200K ندارد. برای پلن‌هایی که کانتکستِ گسترده با اشتراکت گنجانده شده، مصرف همچنان تحتِ پوششِ اشتراکت می‌ماند. برای پلن‌هایی که از طریقِ اعتبارِ مصرف به کانتکستِ گسترده دسترسی دارند، توکن‌ها به اعتبارِ مصرف صورتحساب می‌شوند.

اگر حسابت از کانتکستِ 1M پشتیبانی کند، این گزینه در انتخابگرِ مدل (/model) در آخرین نسخه‌های Claude Code ظاهر می‌شود. اگر آن را نمی‌بینی، نشستت را دوباره راه‌اندازی کن.

همچنین می‌توانی از پسوندِ [1m] با نام‌های مستعارِ مدل یا نام‌های مدلِ کامل استفاده کنی:

Terminal window
# Use the opus[1m] or sonnet[1m] alias
/model opus[1m]
/model sonnet[1m]
# Or append [1m] to a full model name
/model claude-opus-4-8[1m]

می‌توانی به چند روش ببینی هم‌اکنون از کدام مدل استفاده می‌کنی:

  1. در status line (اگر پیکربندی شده باشد)
  2. در /status، که اطلاعاتِ حسابت را هم نمایش می‌دهد.

افزودنِ یک گزینه‌ی مدلِ سفارشی

Section titled “افزودنِ یک گزینه‌ی مدلِ سفارشی”

از ANTHROPIC_CUSTOM_MODEL_OPTION استفاده کن تا یک ورودیِ سفارشیِ تک را بدونِ جایگزینیِ نام‌های مستعارِ توکار به انتخابگرِ /model اضافه کنی. این برای تستِ شناسه‌های مدلی که Claude Code به‌طورِ پیش‌فرض فهرست نمی‌کند مفید است. برای استقرارهای LLM gateway، Claude Code می‌تواند انتخابگر را از اندپوینتِ /v1/models گیت‌وی پر کند وقتی CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 تنظیم شده باشد، پس این متغیر فقط وقتی لازم است که کشف غیرفعال باشد یا مدلِ موردِ نظرت را برنگرداند. به انتخابِ مدلِ LLM gateway سر بزن.

این نمونه هر سه متغیر را تنظیم می‌کند تا یک استقرارِ Opusِ مسیریابی‌شده از طریقِ گیت‌وی قابلِ انتخاب شود:

Terminal window
export ANTHROPIC_CUSTOM_MODEL_OPTION="my-gateway/claude-opus-4-7"
export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="Opus via Gateway"
export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="Custom deployment routed through the internal LLM gateway"

ورودیِ سفارشی در پایینِ انتخابگرِ /model ظاهر می‌شود. ANTHROPIC_CUSTOM_MODEL_OPTION_NAME و ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION اختیاری‌اند. اگر حذف شوند، شناسه‌ی مدل به‌عنوانِ نام استفاده می‌شود و توضیح به‌طورِ پیش‌فرض Custom model (<model-id>) می‌شود.

Claude Code اعتبارسنجی را برای شناسه‌ی مدلِ تنظیم‌شده در ANTHROPIC_CUSTOM_MODEL_OPTION رد می‌کند، پس می‌توانی هر رشته‌ای را که اندپوینتِ API تو می‌پذیرد به‌کار ببری.

می‌توانی از متغیرهای محیطیِ زیر استفاده کنی، که باید نام‌های مدلِ کامل باشند (یا معادلِ آن برای ارائه‌دهنده‌ی API تو)، تا نام‌های مدلی را که نام‌های مستعار به آن‌ها نگاشت می‌شوند کنترل کنی.

متغیرِ محیطیتوضیح
ANTHROPIC_DEFAULT_FABLE_MODELمدلی که برای fable استفاده می‌شود، و شناسه‌ی مدلی که Claude Code آن را به‌عنوانِ Fable 5 برای بازگشتِ خودکارِ مدل روی ارائه‌دهنده‌های شخصِ ثالث می‌شناسد
ANTHROPIC_DEFAULT_OPUS_MODELمدلی که برای opus، یا برای opusplan وقتی Plan Mode فعال است، استفاده می‌شود.
ANTHROPIC_DEFAULT_SONNET_MODELمدلی که برای sonnet، یا برای opusplan وقتی Plan Mode فعال نیست، استفاده می‌شود.
ANTHROPIC_DEFAULT_HAIKU_MODELمدلی که برای haiku، یا قابلیتِ پس‌زمینه استفاده می‌شود
CLAUDE_CODE_SUBAGENT_MODELمدلی که برای همه‌ی ساب‌ایجنت‌ها و تیم‌های ایجنت استفاده می‌شود. بر پارامترِ model در هر فراخوانی و frontmatterِ model تعریفِ ساب‌ایجنت override می‌کند. روی inherit بگذار تا به‌جای آن از نگاشتِ مدلِ عادی استفاده شود

توجه: ANTHROPIC_SMALL_FAST_MODEL منسوخ شده و به‌جای آن ANTHROPIC_DEFAULT_HAIKU_MODEL توصیه می‌شود.

پین‌کردنِ مدل‌ها برای استقرارهای شخصِ ثالث

Section titled “پین‌کردنِ مدل‌ها برای استقرارهای شخصِ ثالث”

هنگامِ استقرارِ Claude Code از طریقِ Bedrock، Vertex AI، Foundry یا Claude Platform on AWS، پیش از عرضه به کاربران نسخه‌های مدل را پین کن.

بدونِ پین‌کردن، Claude Code از نام‌های مستعارِ مدلی مثلِ fable، opus، sonnet و haiku استفاده می‌کند که به یک شناسه‌ی مدلِ پیش‌فرضِ توکار برای هر ارائه‌دهنده نگاشت می‌شوند. آن پیش‌فرض می‌تواند از جدیدترین عرضه‌ی Anthropic عقب بماند، و مدلی که به آن اشاره می‌کند ممکن است هنوز در حسابِ کاربر فعال نشده باشد. وقتی پیش‌فرض در دسترس نباشد، کاربرانِ Bedrock و Vertex AI یک اطلاعیه می‌بینند و برای آن نشست به نسخه‌ی قبلی برمی‌گردند، در حالی که کاربرانِ Foundry خطا می‌بینند چون Foundry بررسیِ راه‌اندازیِ معادلی ندارد.

از متغیرهای محیطیِ زیر با شناسه‌های مدلِ مختصِّ نسخه برای ارائه‌دهنده‌ات استفاده کن:

ارائه‌دهندهنمونه
Bedrockexport ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'
Vertex AIexport ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'
Foundryexport ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'

همین الگو را برای ANTHROPIC_DEFAULT_FABLE_MODEL، ANTHROPIC_DEFAULT_SONNET_MODEL و ANTHROPIC_DEFAULT_HAIKU_MODEL به‌کار ببر. برای شناسه‌های مدلِ فعلی و قدیمی در همه‌ی ارائه‌دهنده‌ها، به Models overview سر بزن. برای ارتقای کاربران به یک نسخه‌ی مدلِ جدید، این متغیرهای محیطی را به‌روز کن و دوباره مستقر کن.

برای فعال‌کردنِ کانتکستِ گسترده برای یک مدلِ پین‌شده، [1m] را به شناسه‌ی مدل در ANTHROPIC_DEFAULT_OPUS_MODEL یا ANTHROPIC_DEFAULT_SONNET_MODEL بیفزای:

Terminal window
export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8[1m]'

پسوندِ [1m] پنجره‌ی کانتکستِ 1M را به همه‌ی استفاده‌های نام‌های مستعارِ opus و sonnet اعمال می‌کند، از جمله فازِ Opusِ plan-modeِ opusplan.

  • Claude Code پسوند را پیش از فرستادنِ شناسه‌ی مدل به ارائه‌دهنده‌ات حذف می‌کند.
  • [1m] را فقط وقتی بیفزای که مدلِ زیربنایی از کانتکستِ 1M پشتیبانی می‌کند.
  • پسوند در هر متغیر خوانده می‌شود، نه در هر مدل. روی Bedrock، Vertex و Foundry، یک شناسه‌ی مدل بدونِ [1m] در یک متغیر از کانتکستِ 200K استفاده می‌کند حتی اگر متغیرِ دیگری همان مدل را با پسوند تنظیم کند.

سفارشی‌سازیِ نمایش و قابلیت‌های مدلِ پین‌شده

Section titled “سفارشی‌سازیِ نمایش و قابلیت‌های مدلِ پین‌شده”

وقتی یک مدل را روی یک ارائه‌دهنده‌ی شخصِ ثالث پین می‌کنی، شناسه‌ی مختصِّ ارائه‌دهنده همان‌طور که هست در انتخابگرِ /model ظاهر می‌شود و Claude Code ممکن است نشناسد که مدل از کدام قابلیت‌ها پشتیبانی می‌کند. می‌توانی نامِ نمایشی را override کنی و قابلیت‌ها را با متغیرهای محیطیِ همراه برای هر مدلِ پین‌شده اعلام کنی.

این متغیرها روی ارائه‌دهنده‌های شخصِ ثالث مثلِ Bedrock، Vertex AI و Foundry اثر می‌گذارند. متغیرهای _NAME و _DESCRIPTION همچنین وقتی ANTHROPIC_BASE_URL به یک LLM gateway اشاره کند اثر می‌گذارند. وقتی مستقیماً به api.anthropic.com متصل می‌شوی اثری ندارند.

متغیرِ محیطیتوضیح
ANTHROPIC_DEFAULT_OPUS_MODEL_NAMEنامِ نمایشی برای مدلِ پین‌شده‌ی Opus در انتخابگرِ /model. وقتی تنظیم نشده باشد به شناسه‌ی مدل پیش‌فرض می‌شود
ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTIONتوضیحِ نمایشی برای مدلِ پین‌شده‌ی Opus در انتخابگرِ /model. وقتی تنظیم نشده باشد به Custom Opus model پیش‌فرض می‌شود
ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIESفهرستِ جداشده با کاما از قابلیت‌هایی که مدلِ پین‌شده‌ی Opus پشتیبانی می‌کند

همین پسوندهای _NAME، _DESCRIPTION و _SUPPORTED_CAPABILITIES برای ANTHROPIC_DEFAULT_SONNET_MODEL، ANTHROPIC_DEFAULT_HAIKU_MODEL، ANTHROPIC_DEFAULT_FABLE_MODEL و ANTHROPIC_CUSTOM_MODEL_OPTION در دسترس‌اند.

Claude Code قابلیت‌هایی مثلِ سطح‌های تلاش و تفکرِ گسترده را با مطابقت‌دادنِ شناسه‌ی مدل با الگوهای شناخته‌شده فعال می‌کند. شناسه‌های مختصِّ ارائه‌دهنده مثلِ ARNهای Bedrock یا نام‌های استقرارِ سفارشی اغلب با این الگوها مطابقت نمی‌گیرند و قابلیت‌های پشتیبانی‌شده را غیرفعال می‌گذارند. _SUPPORTED_CAPABILITIES را تنظیم کن تا به Claude Code بگویی مدل واقعاً از کدام قابلیت‌ها پشتیبانی می‌کند:

مقدارِ قابلیتفعال می‌کند
effortسطح‌های تلاش و دستورِ /effort
xhigh_effort{/* min-version: 2.1.111 */}سطحِ تلاشِ xhigh
max_effortسطحِ تلاشِ max
thinkingتفکرِ گسترده
adaptive_thinkingاستدلالِ تطبیقی که فکرکردن را به‌صورتِ پویا بر اساسِ پیچیدگیِ کار تخصیص می‌دهد
interleaved_thinkingفکرکردن میانِ فراخوانی‌های ابزار

وقتی _SUPPORTED_CAPABILITIES تنظیم شده باشد، قابلیت‌های فهرست‌شده فعال و قابلیت‌های فهرست‌نشده برای مدلِ پین‌شده‌ی مطابق غیرفعال می‌شوند. وقتی متغیر تنظیم نشده باشد، Claude Code به تشخیصِ توکار بر اساسِ شناسه‌ی مدل برمی‌گردد.

این نمونه Opus را به یک ARNِ مدلِ سفارشیِ Bedrock پین می‌کند، یک نامِ دوستانه می‌گذارد، و قابلیت‌هایش را اعلام می‌کند:

Terminal window
export ANTHROPIC_DEFAULT_OPUS_MODEL='arn:aws:bedrock:us-east-1:123456789012:custom-model/abc'
export ANTHROPIC_DEFAULT_OPUS_MODEL_NAME='Opus via Bedrock'
export ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION='Opus 4.7 routed through a Bedrock custom endpoint'
export ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES='effort,xhigh_effort,max_effort,thinking,adaptive_thinking,interleaved_thinking'

override کردنِ شناسه‌های مدل در هر نسخه

Section titled “override کردنِ شناسه‌های مدل در هر نسخه”

متغیرهای محیطیِ سطحِ-خانواده‌ی بالا یک شناسه‌ی مدل برای هر نام مستعارِ خانواده پیکربندی می‌کنند. اگر نیاز داری چند نسخه را در همان خانواده به شناسه‌های مختصِّ ارائه‌دهنده‌ی متمایز نگاشت کنی، به‌جای آن از تنظیمِ modelOverrides استفاده کن.

modelOverrides شناسه‌های مدلِ Anthropic منفرد را به رشته‌های مختصِّ ارائه‌دهنده‌ای که Claude Code به API ارائه‌دهنده‌ات می‌فرستد نگاشت می‌کند. وقتی کاربری یک مدلِ نگاشت‌شده را در انتخابگرِ /model انتخاب می‌کند، Claude Code به‌جای پیش‌فرضِ توکار از مقدارِ پیکربندی‌شده‌ی تو استفاده می‌کند.

این به مدیرانِ سازمانی اجازه می‌دهد هر نسخه‌ی مدل را برای حاکمیت، تخصیصِ هزینه یا مسیریابیِ منطقه‌ای به یک Bedrock inference profile ARN، Vertex AI version name یا Foundry deployment name مشخص مسیریابی کنند.

modelOverrides را در فایلِ تنظیماتت تنظیم کن:

{
"modelOverrides": {
"claude-opus-4-7": "arn:aws:bedrock:us-east-2:123456789012:application-inference-profile/opus-prod",
"claude-opus-4-6": "arn:aws:bedrock:us-east-2:123456789012:application-inference-profile/opus-46-prod",
"claude-sonnet-4-6": "arn:aws:bedrock:us-east-2:123456789012:application-inference-profile/sonnet-prod"
}
}

کلیدها باید شناسه‌های مدلِ Anthropic باشند، همان‌طور که در Models overview فهرست شده‌اند. برای شناسه‌های مدلِ تاریخ‌دار، پسوندِ تاریخ را دقیقاً همان‌طور که آنجا ظاهر می‌شود بگنجان. کلیدهای ناشناخته نادیده گرفته می‌شوند.

override‌ها جایگزینِ شناسه‌های مدلِ توکاری می‌شوند که پشتِ هر ورودی در انتخابگرِ /model قرار دارند. روی Bedrock، override‌ها بر هر inference profileـی که Claude Code به‌طورِ خودکار هنگامِ راه‌اندازی کشف می‌کند اولویت دارند. مقادیری که مستقیماً از طریقِ ANTHROPIC_MODEL، --model یا متغیرهای محیطیِ ANTHROPIC_DEFAULT_*_MODEL ارائه می‌دهی همان‌طور که هستند به ارائه‌دهنده فرستاده می‌شوند و توسطِ modelOverrides تبدیل نمی‌شوند.

modelOverrides در کنارِ availableModels کار می‌کند. فهرستِ مجاز در برابرِ شناسه‌ی مدلِ Anthropic ارزیابی می‌شود، نه مقدارِ override، پس ورودی‌ای مثلِ "opus" در availableModels همچنان مطابقت می‌گیرد حتی وقتی نسخه‌های Opus به ARN‌ها نگاشت شده باشند.

Claude Code به‌طورِ خودکار از prompt caching برای بهینه‌سازیِ عملکرد و کاهشِ هزینه‌ها استفاده می‌کند. می‌توانی prompt caching را به‌طورِ سراسری یا برای سطح‌های مدلِ مشخص غیرفعال کنی:

متغیرِ محیطیتوضیح
DISABLE_PROMPT_CACHINGروی 1 بگذار تا prompt caching برای همه‌ی مدل‌ها غیرفعال شود. بر تنظیماتِ هر-مدل اولویت دارد
DISABLE_PROMPT_CACHING_HAIKUروی 1 بگذار تا prompt caching فقط برای مدل‌های Haiku غیرفعال شود
DISABLE_PROMPT_CACHING_SONNETروی 1 بگذار تا prompt caching فقط برای مدل‌های Sonnet غیرفعال شود
DISABLE_PROMPT_CACHING_OPUSروی 1 بگذار تا prompt caching فقط برای مدل‌های Opus غیرفعال شود
DISABLE_PROMPT_CACHING_FABLEروی 1 بگذار تا prompt caching فقط برای مدل‌های Fable غیرفعال شود

برای تغییرِ TTLِ کش یا اطلاع از اینکه چه چیزی باعثِ cache miss می‌شود، به چگونه Claude Code از prompt caching استفاده می‌کند سر بزن.