SSD Nodes Learn Hosting plans →
راهنماها Matt Connorتوسط Matt Connor

آیا Claude Code بدون اشتراک با API key کار می‌کند؟

بله، Claude Code با API key از Anthropic و بدون اشتراک Claude اجرا می‌شود و این دو جداگانه صورتحساب می‌شوند. با /status اعتبارنامه نشست را ببینید و روش ورود را تغییر دهید.

کدام اعتبارنامه توسط نشست Claude Code شما استفاده می‌شود؟

ورود به Claude Code به یکی از دو روش زیر انجام می‌شود. شما یا با یک حساب اشتراک Claude از claude.ai وارد می‌شوید، یا از طریق یک سازمان در Anthropic Console احراز هویت می‌کنید که در این صورت، هزینه استفاده از توکن به‌جای طرح کاربری شما، به حساب API (رابط برنامه‌نویسی اپلیکیشن) آن سازمان منظور می‌شود. برای مشاهده اینکه کدام‌یک فعال است، دستور /status را در یک نشست در حال اجرا وارد کنید: زبانه Status ردیف Login method را برای حسابی که با آن وارد شده‌اید نشان می‌دهد، و در صورتی که یک API key اعتبارنامه را تأمین کند، یک ردیف اضافی API key ظاهر می‌شود.

اینکه آیا این ابزار اصلاً تحت پوشش طرح شما قرار دارد یا خیر، موضوع جداگانه‌ای است که در اینکه آیا Claude Code در اشتراک Claude Pro گنجانده شده است به آن پاسخ داده شده، و سازوکار کلیدها در برابر Claude API در نحوه عملکرد احراز هویت Claude API پوشش داده شده است. آنچه در ادامه می‌آید بخشی است که آن دو مورد به آن نمی‌پردازند: اینکه یک نشست در واقع کدام اعتبارنامه را انتخاب کرده است و چگونه می‌توان آن را تغییر داد.

رفتار زیر برگرفته از مستندات احراز هویت Claude Code شرکت Anthropic است که در تاریخ 31 اکتبر 2026 مطالعه شده است. Claude Code به‌طور مکرر عرضه (ship) می‌شود و بسیاری از این رفتارها به یک نسخه حداقلی نیاز دارند، بنابراین پیش از آنکه نتیجه بگیرید دستگاه شما خراب است، دستور claude --version را اجرا کنید.

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

حساب claude.ai و حساب Claude Console در platform.claude.com دو حساب کاربری متفاوت هستند. این دو می‌توانند آدرس ایمیل یکسانی داشته باشند و همچنان ورودهای جداگانه، موجودی‌های مجزا و سازمان‌های متفاوتی داشته باشند. ایجاد یکی از آن‌ها، دیگری را ایجاد نمی‌کند. شارژ کردن یک سازمان در Console، هیچ تغییری در طرح اشتراک شما ایجاد نمی‌کند.

عکس این موضوع یک استثنا دارد که در تاریخ 31 October 2026 بررسی شده است. طرح‌های Max و Ultra اکنون شامل اعتبار API ماهانه (به ترتیب 100 دلار و 200 دلار در ماه) هستند و طرح‌های Team نیز از یک اعتبار اشتراکی بهره‌مند می‌شوند. این اعتبارها تنها پس از آنکه حسابی را از بخش تنظیمات صورت‌حساب در claude.ai متصل کنید، به سازمان Console منتقل می‌شوند و Claude Code تعاملی را پوشش نمی‌دهند. مستندات پلتفرم Anthropic ذکر می‌کند که Claude Code تحت پوشش نیست و مرکز راهنمایی آن تنها claude -pهایی را مستثنی می‌کند که از کلید API سازمان متصل‌شده استفاده می‌کنند؛ بنابراین، یک نشست تعاملی که هزینه‌اش به سازمانی فاقد هرگونه اعتبار (به جز اعتبارهای مذکور) ارجاع داده شود، با خطای Credit balance too low مواجه می‌شود.

تفاوت موجودی‌ها به دلیل تفاوت در مدل‌های صورت‌حساب است. ورود به سیستم اشتراکی از سهمیه مصرف طرح شما استفاده می‌کند که با Claude در وب مشترک است و محدودیت هفتگی دارد؛ طرح‌های Pro و Max همچنین دارای محدودیت نشست پنج‌ساعته هستند، در حالی که حساب‌های Ultra تأییدشده محدودیت پنج‌ساعته ندارند و حساب‌های Ultra تأییدنشده دارای محدودیت موقت هستند. در طرح‌های Max و Ultra، مدل Fable دارای زیرمحدودیتی معادل 50 درصد از سهمیه هفتگی عادی است و سریع‌تر از سایر مدل‌های Claude از همان سهمیه استفاده می‌کند. اعتبارنامه Console بر اساس هر توکن برای سازمان صورت‌حساب می‌شود و ارقام معتبر در صفحه مصرف Console قابل مشاهده هستند. این‌که این تفاوت در کارهای واقعی چه هزینه‌ای دارد، موضوع پرداخت به ازای هر توکن در مقابل پرداخت برای اشتراک است.

یک نوع حساب کاربری اصلاً نمی‌تواند مسیر اشتراک را طی کند. Anthropic حساب‌هایی را که می‌توانید با آن‌ها وارد شوید شامل اشتراک Pro، Max یا Ultra، جایگاه Claude for Teams یا Enterprise، حساب Claude Console، ارائه‌دهنده ابری و درگاه ابری (Cloud gateway) فهرست می‌کند؛ منظور از درگاه ابری، یک درگاه برنامه‌های Claude است که خودتان میزبانی می‌کنید، سازمان شما آن را اجرا می‌کند و شما با استفاده از SSO (ورود یکپارچه) شرکتی از طریق /login به آن وارد می‌شوید. یک حساب رایگان claude.ai در این فهرست نیست، بنابراین کاربر طرح رایگان هیچ اعتبارنامه اشتراکی برای ورود ندارد و آنچه سطح رایگان Claude شامل آن می‌شود و نمی‌شود، ابزار خط فرمان را در بر نمی‌گیرد. مسیر باقی‌مانده، یک سازمان Console با اعتبار API است که یک حساب پولی با ساختاری متفاوت محسوب می‌شود.

مسیر اول: ورود با اشتراک Claude

دستور claude را در دایرکتوری پروژه اجرا کنید. در اولین اجرا، این دستور یک پنجره مرورگر باز می‌کند تا با حساب claude.ai که طرح اشتراک شما روی آن فعال است، وارد شوید.

claude

دو مورد در سرور رفتار متفاوتی دارند. اگر مرورگر باز نشد، c را فشار دهید تا URL ورود در کلیپ‌بورد شما کپی شود و آن را در مرورگر سیستم خود پیست کنید. اگر آن مرورگر به‌جای بازگرداندن شما به ترمینال، یک کد ورود نمایش داد، کد را در پرامپتی که آن را درخواست می‌کند، وارد کنید. این حالت دوم در اتصال SSH، در WSL2 و داخل کانتینرها طبیعی است، زیرا مرورگر نمی‌تواند به callback server محلی که Claude Code روی ماشین راه دور راه‌اندازی کرده است، دسترسی پیدا کند.

پس از پایان ورود، به‌جای فرض کردن موفقیت، آن را بررسی کنید. یک نشست (session) را شروع کرده و /status را اجرا کنید. زبانه Status روش ورود، به همراه سازمان و آدرس ایمیلی که ذخیره شده است را نمایش می‌دهد. /login فرآیند ورود را مجدداً برای یک حساب دیگر اجرا می‌کند و /logout اعتبارنامه ذخیره‌شده را حذف می‌کند. خروج از حساب (logout) همچنین وضعیت راه‌اندازی اولیه را بازنشانی می‌کند، بنابراین اجرای بعدی claude شما را دوباره از مراحل onboarding عبور می‌دهد.

دانستن محل ذخیره این اعتبارنامه هنگام بازسازی یک سرور یا تحویل آن اهمیت دارد:

  • لینوکس: ~/.claude/.credentials.json، با مجوز فایل 0600.
  • مک‌او‌اس: Keychain رمزنگاری‌شده. هنگامی که Keychain نوشتن را رد می‌کند (که در نشست‌های SSH قفل‌شده رخ می‌دهد)، Claude Code به همان فایل 0600 بازمی‌گردد. ورود از طریق کنسول که یک API key ایجاد می‌کند، از این حالت fallback استفاده نمی‌کند و تا زمانی که Keychain قابل نوشتن نباشد، با خطا مواجه می‌شود.
  • ویندوز: %USERPROFILE%\.claude\.credentials.json، که توسط کنترل‌های دسترسی دایرکتوری پروفایل کاربر محدود شده است.
  • هر پلتفرمی که CLAUDE_CONFIG_DIR در آن تنظیم شده باشد: فایل به زیر آن دایرکتوری منتقل می‌شود و ورودی Keychain در مک‌او‌اس نیز بر اساس آن کلیدگذاری می‌شود، بنابراین نشستی که با یک CLAUDE_CONFIG_DIR متفاوت شروع شود، اعتبارنامه متفاوتی را می‌خواند.

Claude Code این فایل را از طریق /login و /logout مدیریت می‌کند. ویرایش دستی این فایل روش پشتیبانی‌شده‌ای برای تغییر حساب نیست.

مسیر دوم: احراز هویت در یک سازمان Console

دسترسی به Console با یک مدیر سیستم آغاز می‌شود. آن‌ها شما را از طریق Console در بخش Settings، سپس Members و در نهایت Invite دعوت می‌کنند. آن‌ها همچنین یک نقش به شما اختصاص می‌دهند: نقش Claude Code فقط اجازه ایجاد API keyهای مخصوص Claude Code را می‌دهد، در حالی که نقش Developer امکان ایجاد هر نوع کلیدی را فراهم می‌کند. سپس شما حساب Anthropic Console خود را در اعلان /login انتخاب می‌کنید.

از نسخه Claude Code v2.1.242 به بعد، دو مسیر برای Console وجود دارد که موارد متفاوتی را ذخیره می‌کنند. ورود با حساب Console، توکن OAuth (مجوزدهی باز) حاصل از ورود در مرورگر را حفظ کرده و آن را به عنوان یک پروفایل Anthropic ذخیره می‌کند؛ در این حالت هیچ API key ایجاد نمی‌شود. Claude Code به‌طور خودکار این ورود را تمدید می‌کند و در صورت شکست در تمدید، درخواست‌ها تا زمانی که دوباره وارد شوید با خطا مواجه می‌شوند. این ورود بدون کلید (keyless)، شما را از هرگونه ورود به claude.ai که روی دستگاه ذخیره شده باشد نیز خارج می‌کند. ایجاد یک API key که در اعلان با عنوان legacy مشخص شده، یک کلید Console تولید کرده و آن را همراه با سایر اعتبارنامه‌های شما ذخیره می‌کند. یک کلید ایستا (static) هرگز منقضی نمی‌شود و تا زمانی که توسط شخصی ابطال نشود، به کار خود ادامه می‌دهد. این ویژگی برای سرورهای build مفید است، اما روی لپ‌تاپ یک ریسک امنیتی محسوب می‌شود.

پیش از شروع ورود بدون کلید به Console، متغیر ANTHROPIC_API_KEY را unset کنید. اگر این متغیر تنظیم شده باشد، Claude Code از اعلان ورود صرف‌نظر کرده و از شما می‌خواهد کلیدی را که پیدا کرده است تأیید کنید.

شما همیشه حق انتخاب ندارید. Claude Code در شرایط زیر بدون پرسش، یک کلید ایجاد می‌کند: زمانی که نشست (session) روی یک ارائه‌دهنده ابری اجرا شود، زمانی که هر فایل تنظیماتی forceLoginOrgUUID را تعیین کرده یا forceLoginMethod را روی "claudeai" قفل (pin) کرده باشد، یا زمانی که یک منبع تنظیمات مدیریت‌شده روی دستگاه وجود داشته باشد که Claude Code قادر به خواندن آن نباشد و هیچ منبع مدیریت‌شده دیگری نیز خط‌مشی (policy) ارائه ندهد. اگر forceLoginMethod فقط روی "console" تنظیم شده باشد، در صورت شکست در ورود، گزینه‌ای برای تلاش مجدد ارائه می‌شود که به شما امکان انتخاب حالت بدون کلید را می‌دهد. این موارد تصمیمات مدیر سیستم هستند؛ بنابراین اگر گزینه بدون کلید برای شما ظاهر نمی‌شود، از شخصی که مدیریت ناوگان را بر عهده دارد سؤال کنید. /status همچنین یک خط Setting sources چاپ می‌کند که نام تمام فایل‌های تنظیماتی بارگذاری‌شده در نشست را ذکر کرده و در صورت اعمال منبع مدیریت‌شده، نام آن را نیز نمایش می‌دهد. محدودیت‌های ورود مدیریت‌شده، نشست‌هایی را که از ANTHROPIC_API_KEY، ANTHROPIC_AUTH_TOKEN یا apiKeyHelper استفاده می‌کنند نیز مسدود می‌کند؛ این اعتبارنامه‌ها را حذف کرده و از روش ورود الزامی استفاده کنید.

اولین باری که Claude Code را در یک سازمان Console احراز هویت می‌کنید، Console یک فضای کاری (workspace) به نام "Claude Code" برای آن ایجاد می‌کند. این فضای کاری برای این است که هزینه‌های Claude Code در یک مکان واحد ردیابی شود و شما نمی‌توانید داخل آن API key ایجاد کنید.

چرا ANTHROPIC_API_KEY پس از ورود به سیستم اولویت دارد

ابزار Claude Code هرگز نمی‌پرسد که کدام اعتبارنامه را ترجیح می‌دهید. این ابزار منابع را با ترتیبی ثابت بررسی کرده و اولین موردی را که پیدا کند، انتخاب می‌کند. طبق مستندات اکتبر 2026، این ترتیب به شرح زیر است:

  1. اعتبارنامه‌های ارائه‌دهنده ابری، زمانی که CLAUDE_CODE_USE_BEDROCK، CLAUDE_CODE_USE_VERTEX یا CLAUDE_CODE_USE_FOUNDRY تنظیم شده باشند.
  2. ANTHROPIC_AUTH_TOKEN، که به عنوان هدر Authorization: Bearer ارسال می‌شود، برای درگاه‌هایی که با توکن‌های bearer احراز هویت می‌کنند.
  3. ANTHROPIC_API_KEY، که به عنوان هدر X-Api-Key ارسال می‌شود.
  4. خروجی یک اسکریپت apiKeyHelper که در فایل تنظیمات نام‌گذاری شده است.
  5. CLAUDE_CODE_OAUTH_TOKEN، توکن با عمر طولانی از claude setup-token.
  6. اعتبارنامه‌های پروفایل و فدراسیون Anthropic، همان اعتبارنامه‌هایی که CLI مربوط به ant و Workload Identity Federation استفاده می‌کنند.
  7. اعتبارنامه اشتراک که توسط /login نوشته شده است.

دو استثنا در این لیست وجود دارد. یک پروفایل زمانی در جایگاه 6 قرار می‌گیرد که آن را در ANTHROPIC_PROFILE نام‌گذاری کنید، زمانی که متغیرهای فدراسیون تنظیم شده باشند، یا زمانی که پروفایل فعال یک پروفایل Workload Identity Federation باشد. یک پروفایل فعال در حالت user_oauth، که نوعی از آن توسط ant auth login یا ورود بدون کلید به Console نوشته می‌شود، در اولویتی پایین‌تر از یک اعتبارنامه فعال /login قرار می‌گیرد. همچنین، یک نشست درگاه برنامه‌های Claude که با ورود به سیستم ایجاد شده، کاملاً خارج از این لیست قرار دارد: این نشست بر تمام موارد موجود در لیست، از جمله متغیرهای ارائه‌دهنده ابری، اولویت دارد. هنگامی که تنظیمات مدیریت‌شده توسط مدیر سیستم، ورود به درگاه را الزامی می‌کند و هیچ ارائه‌دهنده ابری از طریق متغیر محیطی انتخاب نشده باشد، Claude Code سایر منابع را نادیده گرفته و از شما می‌خواهد از طریق /login وارد شوید.

هیچ‌کدام از این استثناها اشتراک شما را از یک کلید صادر شده (exported) نجات نمی‌دهند. بدون درگاه یا محدودیت‌های ورود مدیریت‌شده، هر چیزی از جایگاه 1 تا 5 بر حسابی که با آن وارد شده‌اید اولویت دارد؛ بنابراین یک ANTHROPIC_API_KEY معتبر که در هر جایی از محیط پردازش صادر شده باشد، برنده است و هزینه نشست به حساب یک سازمان در Console منظور می‌شود، در حالی که شما تصور می‌کنید از طرح اشتراک خود استفاده می‌کنید. هیچ چیز خراب نیست؛ این ترتیب دقیقاً همان کاری را انجام می‌دهد که مستند شده است. Claude Code پس از ورود به سیستم، در صورتی که هر دو اعتبارنامه فعال باشند، اعلانی نمایش می‌دهد تا شما را از هزینه‌های احتمالی و غیرمنتظره API آگاه کند.

دو جزئیات باعث می‌شود این موضوع به‌راحتی نادیده گرفته شود. در یک نشست تعاملی، Claude Code یک بار می‌پرسد که آیا از کلیدی که پیدا کرده استفاده کند یا خیر و پاسخ شما را به خاطر می‌سپارد؛ بنابراین انتخابی که یک ماه پیش انجام داده‌اید، امروز هم اعمال می‌شود. در حالت غیرتعاملی با -p، هیچ درخواستی وجود ندارد و کلید همیشه در صورت وجود استفاده می‌شود. -p حالتی است که یک cron job یا یک مرحله CI (یکپارچه‌سازی مداوم) در آن اجرا می‌شود، بنابراین یک کار بدون نظارت دقیقاً جایی است که اعتبارنامه اشتباه برای طولانی‌ترین مدت نادیده گرفته می‌شود.

یک بررسی بصری سریع در داخل نشست وجود دارد. تا زمانی که ANTHROPIC_API_KEY تنظیم شده باشد، /config یک کلید تغییر وضعیت (toggle) با عنوان "Use custom API key" را نشان می‌دهد. این کلید فقط زمانی وجود دارد که متغیر تنظیم شده باشد، بنابراین عدم وجود آن به این معنی است که متغیر در نشست فعلی تنظیم نشده است.

یافتن کلید سرگردان روی سرور

یک کلید صادرشده (exported) در مکان‌هایی فراتر از پروفایل شل باقی می‌ماند:

  • ~/.bashrc، ~/.bash_profile، ~/.profile یا ~/.zshrc، که توسط هر شل لاگین جدید خوانده می‌شوند.
  • یک unit در systemd، از طریق Environment= یا EnvironmentFile=، برای هر چیزی که به‌عنوان یک سرویس اجرا می‌کنید.
  • سرور tmux، که نسخه‌ای از محیطی که با آن شروع شده است را نگه می‌دارد. پنجره‌ای که امروز باز می‌کنید ممکن است متغیری را به ارث ببرد که هفتهٔ گذشته از پروفایل خود حذف کرده‌اید، زیرا سرور از پیش از آن ویرایش در حال اجرا بوده است.
  • یک image کانتینر یا تعریف job در CI، که در آن متغیر خارج از هر فایلی که بتوانید از داخل شل بخوانید، تنظیم شده است.
  • بلوک env در یک فایل تنظیمات Claude Code، که یک کلید تنظیمات معمولی است و از اولویت‌بندی عادی تنظیمات پیروی می‌کند.

پیش از صرف هر هزینهٔ دیگری، آن‌ها را بررسی کنید:

[ -n "$ANTHROPIC_API_KEY" ] && echo "ANTHROPIC_API_KEY is set" || echo "not set"
env | grep -E '^(ANTHROPIC_|CLAUDE_CODE_)' | cut -d= -f1
grep -n 'ANTHROPIC_API_KEY' ~/.bashrc ~/.bash_profile ~/.profile ~/.zshrc 2>/dev/null
tmux show-environment 2>/dev/null | grep ANTHROPIC
grep -n 'ANTHROPIC_API_KEY\|apiKeyHelper' ~/.claude/settings.json .claude/settings.json .claude/settings.local.json 2>/dev/null

دستور دوم عمداً از طریق cut پایپ می‌شود تا نام متغیرها را بدون چاپ مقادیر محرمانه روی صفحه‌ای که ممکن است در حال اشتراک‌گذاری یا ضبط آن باشید، نمایش دهد. دستور اول این شل را بررسی می‌کند: اگر بگوید متغیر تنظیم شده است، claude بعدی آن را به ارث می‌برد، هرچند تنظیمات می‌توانند آن را نادیده بگیرند و یک نشست تعاملی به یاد می‌آورد که آیا آن را تأیید کرده‌اید یا خیر. نتیجه not set و عدم وجود مطابقت از دستورات باقی‌مانده، وجود اعتبارنامه‌ها در سایر فایل‌های تنظیمات یا منابع با اولویت بالاتر را رد نمی‌کند؛ /status تأیید می‌کند که نشست چه چیزی را انتخاب کرده است.

برای هر سرویسی که Claude Code را اجرا می‌کند، systemctl cat your-unit.service | grep -i environment را اضافه کنید، زیرا یک فایل unit محیط خاص خود را تنظیم می‌کند و هرگز پروفایل شل شما را نمی‌خواند.

تغییر نشست از یک اعتبارنامه به دیگری

برای بازگشت به اشتراک خود:

unset ANTHROPIC_API_KEY
[ -n "$ANTHROPIC_API_KEY" ] && echo "still set" || echo "clear"
claude

منتظر clear بمانید، سپس /status را در نشست جدید اجرا کنید و تأیید کنید که اشتراک شما همان اعتبارنامه‌ای است که در حال استفاده است؛ هنگامی که هم ورود (login) و هم کلید API پیکربندی شده باشند، /status موردی را که در حال استفاده نیست مشخص می‌کند. حذف متغیر در shell شما، هیچ تأثیری بر فرآیند در حال اجرای Claude Code ندارد، زیرا هر فرآیند محیطی را که با آن شروع شده است حفظ می‌کند. نشست را مجدداً راه‌اندازی کنید.

سپس دستور export را از فایلی که آن را تنظیم کرده است حذف کنید، در غیر این صورت shell ورود بعدی آن را دوباره اعمال می‌کند. در داخل tmux، دستور tmux set-environment -u ANTHROPIC_API_KEY آن را برای پنل‌هایی که پس از آن نقطه در نشست باز می‌شوند پاک می‌کند، در حالی که پنل‌های از قبل باز شده، کپی خود را حفظ می‌کنند.

برای تغییر به جهت دیگر، ANTHROPIC_API_KEY را در محیط تنظیم کنید، یا /login را اجرا کرده و حساب Console را انتخاب کنید. برای پاک کردن کامل یک ورود ذخیره‌شده، /logout را اجرا کنید. پس از ورود به Console بدون کلید، /logout اعتبارنامه‌ای را که آن ورود ایجاد کرده است، حذف و ابطال می‌کند.

اگر /status همچنان با آنچه انتظار دارید مغایرت دارد، claude doctor را اجرا کنید. این دستور ورودی‌های تنظیماتی را که Claude Code رد کرده است فهرست می‌کند، که این کار باعث شناسایی فایل تنظیماتی می‌شود که در تجزیه (parse) شکست خورده و در نتیجه هرگز اعمال نشده است.

احراز هویت در محیط‌های فاقد مرورگر

دستور claude setup-token همان جریان احراز هویت مرورگر را مانند /login باز می‌کند و یک توکن OAuth یک‌ساله را در ترمینال چاپ می‌کند.

claude setup-token

این توکن در هیچ‌جایی ذخیره نمی‌شود، بنابراین هنگام نمایش، آن را کپی کنید. آن را در ماشینی که به آن نیاز دارد به عنوان CLAUDE_CODE_OAUTH_TOKEN تنظیم کنید. این توکن با اشتراک شما احراز هویت می‌شود، بنابراین به یک طرح Pro، Max، Ultra، Team یا Enterprise نیاز دارد و فقط می‌تواند درخواست‌های مدل ارسال کند. حالت Bare این توکن را نمی‌خواند، بنابراین اسکریپتی که --bare را ارسال می‌کند، به جای آن به ANTHROPIC_API_KEY یا یک apiKeyHelper نیاز دارد.

اولویت‌بندی در اینجا نیز مشکل‌ساز است. اگر CLAUDE_CODE_OAUTH_TOKEN در یک پروفایل شل قرار داشته باشد، اجرای /login نشست فعلی را به ورود جدید تغییر می‌دهد و هر نشست جدید تا زمانی که متغیر را حذف نکنید، دوباره آن را می‌خواند.

اگر سازمان شما استنتاج (inference) را از طریق Amazon Bedrock، Google Cloud یا Microsoft Foundry اجرا می‌کند، آن اعتبارنامه‌ها در بالاترین سطح اولویت قرار می‌گیرند و اصلاً ورود از طریق مرورگر انجام نمی‌شود. تنظیم این مورد یک کار جداگانه است که در اجرای Claude Code روی Bedrock یا Vertex پوشش داده شده است.

یک نشست طولانی‌مدت روی یک VPS (سرور مجازی خصوصی) جایی است که این مشکلات در آن متمرکز می‌شوند، زیرا شلی که آن را شروع کرده ممکن است ماه‌ها پیش پیکربندی شده باشد و از آن زمان هرگز ری‌استارت نشده باشد. اجرای Claude Code روی VPS داخل tmux جنبه‌های مربوط به نشست در آن تنظیمات را پوشش می‌دهد.

بررسی میزان مصرف واقعی هر اعتبارنامه

در ورود به سیستم اشتراکی، /usage نوارهای میزان استفاده از طرح و جزئیات مصرف را نمایش می‌دهد. مبلغ دلاری در بلوک Session آن، به‌صورت محلی و بر اساس تعداد توکن‌ها با قیمت لیست محاسبه می‌شود؛ یا اگر مدیر سیستم یک جدول modelPricing را در تنظیمات مدیریت‌شده تعیین کرده باشد، بر اساس نرخ‌های قراردادی سازمان محاسبه می‌گردد که در این صورت، خط Total cost این موضوع را اعلام می‌کند. در هر دو حالت، این مبلغ را به‌عنوان یک تخمین برای کاربران API در نظر بگیرید، نه به‌عنوان صورت‌حساب نهایی. مشترکین باید به نوارها توجه کنند، نه به مبالغ دلاری.

در مورد اعتبارنامه‌های Console، اعدادی که اهمیت دارند در خود Console قرار دارند: صفحه usage برای هزینه‌ها و داشبورد Claude Code برای ارقام مربوط به هر عضو. هیچ‌چیزی که در ترمینال شما چاپ می‌شود، مرجع رسمی برای صورت‌حساب نیست.

اگر هنگام کار، نوارهای طرح تغییر نمی‌کنند، احتمالاً یک اعتبارنامه محیطی (environment credential) اولویت دارد و /status این موضوع را مشخص می‌کند. استثنا زمانی است که نوارها از قبل پر شده باشند: یک نشست اشتراکی می‌تواند پس از رسیدن به حد مجاز، همچنان از اعتبارات استفاده کند که Anthropic آن را با نرخ‌های استاندارد API محاسبه می‌کند و در این حین، نوارها ثابت می‌مانند. یک یادداشت Showing last-known usage توضیح دیگری است: /usage در حال نمایش یک snapshot از 60 دقیقه گذشته است، زیرا نتوانسته محدودیت‌های جدید را دریافت کند؛ برای تلاش مجدد r را فشار دهید. خارج از این موارد، ثابت ماندن نوارها واضح‌ترین نشانه این است که اعتبارنامه اشتباهی در حال استفاده است و ردیابی میزان هزینه یک نشست Claude Code به بررسی دقیق‌تر آن می‌پردازد. زمانی که نوارها حرکت می‌کنند و سپس متوقف می‌شوند، به سقف طرح رسیده‌اید که نحوه عملکرد محدودیت‌های استفاده از Claude و بازه‌های زمانی بازنشانی آن را توضیح می‌دهد.

حالت‌های شکست و موارد قابل بررسی

همه چیز کار می‌کند، اما میزان استفاده از طرح شما تغییر نمی‌کند. معمولاً یک اعتبارنامه محیطی (environment credential) فعال است: /status یک ردیف API key را نشان می‌دهد و بررسی shell در بالا نیز متغیر را نمایش می‌دهد. اگر هیچ‌کدام این‌طور نیست و نمودارهای شما در حد نهایی خود باقی مانده‌اند، نشست (session) به استفاده از اعتبارات مصرفی (usage credits) منتقل شده است که با نرخ‌های استاندارد API محاسبه می‌شود و این هزینه در بخش Settings و سپس Usage در claude.ai قابل مشاهده است.

درخواست‌ها با وجود فعال بودن اشتراک، با شکست مواجه می‌شوند. یک کلید متعلق به یک سازمان غیرفعال یا منقضی‌شده در Console، اولویت بالاتری نسبت به ورود شما دارد. دستور unset ANTHROPIC_API_KEY را اجرا کنید، یک نشست جدید شروع کنید و دوباره /status را بررسی کنید. اگر خطا به یک کلید API نامعتبر اشاره دارد، رفع خطای کلید API نامعتبر در Claude Code این مورد را به‌طور کامل پوشش می‌دهد، از جمله اینکه چرا اجرای مجدد /login آن را پاک نمی‌کند.

هشدار در هنگام راه‌اندازی مبنی بر اینکه ورود شما در حال انقضا است. نسخه‌های اخیر زمانی که یک اعتبارنامه /login کمتر از سه روز تا انقضا داشته باشد، هشدار می‌دهند. پس از انقضای واقعی، /status ردیف ورود را در وضعیت منقضی‌شده به همراه سازمان و ایمیل ذخیره‌شده نشان می‌دهد. برای تمدید، /login را اجرا کنید. این هشدار هرگز مانع از ارسال درخواست نمی‌شود، به همین دلیل نادیده گرفتن آن تا زمانی که یک نشست بدون نظارت از کار بیفتد، آسان است.

یک apiKeyHelper که کند است یا با شکست مواجه می‌شود. Claude Code به‌طور پیش‌فرض helper را هر پنج دقیقه یک‌بار دوباره اجرا می‌کند که با CLAUDE_CODE_API_KEY_HELPER_TTL_MS قابل تنظیم است و در صورتی که اجرا بیش از ده ثانیه طول بکشد، اعلانی در نوار prompt نمایش می‌دهد. helperای که هیچ کلیدی برنمی‌گرداند، چه به دلیل خطا و چه به دلیل اتمام زمان (timeout)، باعث شکست درخواست‌ها در کمتر از سه تلاش می‌شود.

اعتبارنامه درست، سازمان اشتباه. یک آدرس ایمیل می‌تواند متعلق به دو سازمان باشد. /status نام سازمانی که در آن احراز هویت شده‌اید را ذکر می‌کند، بنابراین به‌جای فرض کردن اینکه در کدام سازمان هستید، آن خط را بخوانید.

FAQ

چگونه بفهمم Claude Code در حال حاضر از کدام حساب استفاده می‌کند؟

دستور /status را در نشست (session) اجرا کنید. زبانه Status، ردیف Login method را برای حسابی که با آن وارد شده‌اید نشان می‌دهد و در صورتی که یک API key اعتبارنامه را تأمین کند، ردیف API key را اضافه می‌کند. هنگامی که یک پروفایل Anthropic یا اعتبارنامه فدراسیون (federation credential) انتخاب شده باشد، ردیف Profile جایگزین ردیف ورود می‌شود. خارج از نشست، بررسی اینکه آیا ANTHROPIC_API_KEY در shell شما تنظیم شده است یا خیر، به شما می‌گوید که آیا اعتبارنامه محیطی (environment credential) وجود دارد که در صورت تأیید، بر ورود شما اولویت یابد یا خیر؛ مگر اینکه محدودیت‌های gateway یا ورود مدیریت‌شده اولویت داشته باشند.

چرا اشتراک Claude Pro یا Max من نادیده گرفته می‌شود؟

زیرا یک اعتبارنامه محیطی بر آن اولویت دارد. Claude Code اولین اعتبارنامه‌ای را که در یک ترتیب ثابت پیدا کند انتخاب می‌کند و اعتبارنامه اشتراک /login پایین‌تر از متغیرهای ارائه‌دهنده ابری، ANTHROPIC_AUTH_TOKEN، ANTHROPIC_API_KEY، apiKeyHelper، CLAUDE_CODE_OAUTH_TOKEN و هر پروفایل Anthropic یا اعتبارنامه فدراسیونی که با ANTHROPIC_PROFILE یا متغیرهای فدراسیون انتخاب می‌کنید، قرار دارد. تنها یک پروفایل فعال در حالت user_oauth پایین‌تر از آن رتبه‌بندی می‌شود و یک نشست gateway برنامه‌های Claude که با آن وارد شده‌اید، بر کل این لیست اولویت دارد. دستور unset ANTHROPIC_API_KEY را اجرا کنید، یک نشست جدید شروع کنید و با /status تأیید کنید. سپس export مربوطه را از پروفایل shell، واحد systemd، محیط tmux یا تعریف container که آن را تنظیم کرده است حذف کنید، در غیر این صورت با ورود بعدی به shell بازمی‌گردد.

آیا می‌توانم از Claude Code با یک حساب رایگان Claude استفاده کنم؟

خیر. انواع حساب‌هایی که Anthropic برای ورود فهرست می‌کند عبارتند از: اشتراک Pro، Max یا Ultra، جایگاه Claude for Teams یا Enterprise، حساب Claude Console، ارائه‌دهنده ابری و Cloud gateway که یک gateway برنامه‌های Claude میزبانی‌شده توسط خود کاربر است که با SSO شرکتی از طریق /login به آن وارد شده‌اید. یک حساب رایگان claude.ai جزو این موارد نیست، بنابراین اعتبارنامه اشتراکی برای ذخیره کردن آن وجود ندارد. جایگزین پولی برای اشتراک، یک سازمان Claude Console با اعتبار API است که به ازای هر توکن صورت‌حساب می‌شود و حتی در صورت داشتن آدرس ایمیل یکسان، یک حساب جداگانه محسوب می‌شود.

آیا حساب claude.ai و حساب Console من موجودی مشترکی دارند؟

خیر. این‌ها حساب‌های جداگانه‌ای با صورت‌حساب‌های جداگانه هستند، حتی اگر هر دو از یک آدرس ایمیل استفاده کنند. استفاده از اشتراک از سهمیه طرح شما کسر می‌شود که با Claude در وب مشترک است و محدودیت هفتگی دارد؛ حساب‌های Ultra تأییدشده محدودیت پنج ساعته ندارند، در حالی که Pro و Max دارای محدودیت نشست پنج ساعته هستند و حساب‌های Ultra تأییدنشده محدودیت موقت دارند. در Max و Ultra، مدل Fable دارای زیرمجموعه‌ای معادل 50٪ از سهمیه هفتگی معمول است و سریع‌تر از سایر مدل‌های Claude از همان سهمیه کسر می‌کند. استفاده از Console به ازای هر توکن برای سازمان صورت‌حساب می‌شود و در صفحه استفاده (usage) در Console نمایش داده می‌شود. افزودن اعتبار به یکی، تأثیری بر دیگری ندارد. تنها پیوند اختیاری از طرح به Console وجود دارد: یک طرح Max، Ultra یا Team می‌تواند اعتبار API ماهانه خود را به سازمان Console که از طریق claude.ai متصل کرده‌اید ارسال کند، و این اعتبارها شامل استفاده تعاملی از Claude Code نمی‌شوند، اگرچه اجرای claude -p که خودتان با یک API key از سازمان متصل‌شده شروع می‌کنید را پوشش می‌دهند.

چگونه Claude Code را روی یک سرور بدون رابط کاربری (headless) احراز هویت کنم؟

دو گزینه وجود دارد. دستور claude را از طریق SSH اجرا کنید و ورود به مرورگر را در دستگاه خود به پایان برسانید: کلید c را فشار دهید تا URL کپی شود، در آنجا وارد شوید و سپس اگر مرورگر به جای تغییر مسیر (redirect)، کدی را نشان داد، آن را در ترمینال جای‌گذاری کنید. یا دستور claude setup-token را روی دستگاهی که مرورگر دارد اجرا کنید، توکن یک‌ساله چاپ‌شده را کپی کنید و آن را به عنوان CLAUDE_CODE_OAUTH_TOKEN روی سرور تنظیم کنید. آن توکن به یک طرح Pro، Max، Ultra، Team یا Enterprise نیاز دارد و فقط می‌تواند درخواست‌های مدل ایجاد کند، بنابراین اسکریپتی که از --bare استفاده می‌کند به یک API key یا یک apiKeyHelper نیاز دارد.

آیا این مقاله مفید بود؟