What does this solve?
«Claude Code subscription” is usually searched for after installation, when the question arises of what exactly to pay for: for the program itself, for the model, for a place in the team. The program is free, access to the model is paid, and you can pay for it in two ways with incompatible logic. The choice of method determines where the work will rest: on the calendar, when the window quota has run out and you just have to wait, or on the budget, when the bill grows along with the volume. A mistake in this step costs either downtime in the middle of a task or an unexpected amount at the end of the month.
How it works
It is useful to keep the three layers separate.
Client. CLI and extensions to editors. They install, update and work for free.
Model access. What they pay for.
Model. Specific engine that is selected by the command /model. The older model spends the budget faster than the younger one for the same work, and this is the only lever that changes the consumption instantly, without changing the tariff.
There are four ways to pay for access.
Subscribe to account
Fixed fee per period. Limitation - amount of work per window: when the amount is selected, access is suspended until the next window. The pool is common to all surfaces of one account: web chat, desktop and mobile applications and Claude Code all eat from the same budget, so “I chatted in the morning, didn’t have enough for code in the afternoon” - normal behavior, not a glitch.
Subscription levels differ in the available volume multiplier and in how freely the older model is given away. Within one level, the volume is not purchased in addition: to get more, they change the level or switch to payment upon delivery.
Payment upon delivery via API
Account in the developer console, replenishable balance, charging for entry and exit tokens. There is no ceiling on volume - the money on the balance and technical rate limits (requests and tokens per minute) are limited, which grow along with the accumulated expenses.
The price of the same answer varies: the cached part of the input is cheaper than the usual one, the long history is more expensive than the short one, the older model is several times more expensive than the younger one. Hence the practical conclusion: with an API, the discipline of working with context translates directly into money.
Team and corporate plans
Locations, single account, administrative console: who is given access, how much is spent, what models and tools are allowed. Access to Claude Code is tied to the type of seat - this is checked in the tariff table before purchasing seats, otherwise half of the team receives a chat without an agent. The enterprise level adds SSO, audit logs, and policies to the organization level.
Through the cloud
Amazon Bedrock and Google Vertex AI. The invoice comes from the cloud provider, access is regulated by its rules: IAM, quotas, location region. An option for companies that have requirements for data jurisdiction and unified cloud billing.
What is physically consumed
Tokens, not messages. Each turn leaves the system part, the contents CLAUDE.md, the entire conversation history, tool definitions of connected MCP servers, command outputs and files that the agent read. The model's response is charged separately and is more expensive than the entry. Caching makes a stable prefix cheaper, but breaks when editing CLAUDE.md or instrument configurations in the middle of a session - after such changes, the next move is again paid in full.
How to connect
Subscription
claude
/login # откроется браузер, код вернётся в терминал
/status # показывает аккаунт и источник доступа
API key
The key is created in the developer console and transmitted through the environment:
export ANTHROPIC_API_KEY=sk-ant-...
For constant operation, it is better not to keep the key open in the profile: in settings.json there is a parameter apiKeyHelper is a command that retrieves the key from the secret manager and prints it to stdout.
Switching between schemes
Environment variable defeats subscription login. This is a typical reason for the question “why is money written off when the subscription has been paid”: the old one remains in the shell profile ANTHROPIC_API_KEY. Treatment:
unset ANTHROPIC_API_KEY
/status # убедиться, что источник — аккаунт
Reverse transition: /logout, then set the key.
Cloud
export CLAUDE_CODE_USE_BEDROCK=1 # плюс обычные AWS-креды и регион
export CLAUDE_CODE_USE_VERTEX=1 # плюс проект и регион GCP
Models in the clouds are named differently, so along with the flag, the model identifier is usually set via environment variables.
Flow control
/model # переключить движок на текущую сессию
/usage # состояние квоты на подписке
/cost # накопленная стоимость сессии при оплате по факту
The default model for the project is fixed by the field model in .claude/settings.json —convenient when a routine repository does not require an older model. In the developer console, a spending limit is set on the API account: without it, the nightly cycle in CI can eat up the balance in one run.
Useful scripts
- One developer, daily manual work, predictable budget - subscription.
- Migration week with continuous runs and several parallel sessions - temporary transition to pay as you go so as not to wait for a window.
- CI, bots and night tasks - a separate API key with a spending limit so that automation does not eat up your personal quota.
- Team - places with a single account and an admin console instead of ten personal cards and the inability to calculate expenses.
- Requirement to keep data in a specific region - Bedrock or Vertex with payment to the cloud provider.
- Mixed scheme: subscription for interactive work, API key for headless mode, switching the environment variable in the launch script.
Limitations
Subscription does not provide unlimited volume. Inside the level, the volume is not purchased, and when the window is selected, all that remains is to wait or switch to the key.
One account - one pool. The chat and the agent share it between themselves; there is no separate “wallet for the code”.
Parallel sessions multiply consumption linearly: four running agents spend four times faster than one. Subagents within a task are also considered a full expense, although only a summary is returned to the main context.
On payment upon delivery, the invoice depends on the discipline: uncleaned context, heavy MCP servers and reading entire files instead of a point search are directly visible in the total.
Changing the payment plan does not transfer billing settings: API balance balances do not turn into a subscription and vice versa.
Rule in one line: first choose what is acceptable - waiting for a window or the bill, and only then buy access.
How to check the result
Inside the session:
/status # источник доступа: аккаунт или ключ, активная модель
/usage # сколько квоты выбрано и когда обновится окно
/cost # стоимость текущей сессии при оплате по факту
If /status shows the key, and a subscription has been purchased, search ANTHROPIC_API_KEY surrounded by:
env | grep ANTHROPIC
Checking model selection in five minutes: take the same small task - for example, “explain what this module does and offer one test” - run it on the older and younger model in two clean sessions and compare /cost and response quality. For half of routine repositories, the difference in quality does not compensate for the difference in consumption, and this can be seen at the very first measurement.
For the team plan, there is only one final check: go to the administrative console and make sure that the right people have a seat type with access to Claude Code, and their sessions are visible in the expense report.
