Usage & billing

How Syntic Code counts usage, how to keep an eye on it, and your options once a limit is reached.

What counts

Every request to the model uses tokens: your messages, the files and command output the agent reads, memory files, tool descriptions, and the model’s replies. Longer conversations and bigger contexts use more per request; caching makes repeated parts cheaper.

Your plan includes usage up to its limits. Limits are measured over time windows (for example a session window and a weekly window), and reset on a schedule.

See your usage

CommandShows
/costThis session’s spend, with Cost, Usage and Trends tabs. See Reading /cost.
/usageYour plan’s windows and how much of each you have used, the context in use, credits, trends and usage by plugin.
/statsToken counts and spend by model, with an activity view.
/insightsWhat drove token use over the last day and week.
/contextWhat fills the current context window.
/rate-limit-optionsEach limit, when it resets, and your options.
/upgradeYour plan’s usage, plus a link to the billing page.

A status line can show plan usage all the time; its data refreshes every five minutes.

Reading /cost

Every reply records its own usage (tokens in, out, cache read and written) and its cost, tied to the platform’s request id. /cost adds those records up, so it agrees with the footer, includes everything since the session began (also after a resume), and never counts the same request twice when you fork or reopen a session.

PartShows
Total costThe session’s own spend, then one line per source (below) with its request count.
Carried overOnly after /branch or --fork-session: usage copied from the session this one was forked from. It is listed, but not counted in the total.
Usage by modelInput, output, cache read and cache write tokens, requests, cost and source, per model.
Usage by agentThe same columns for the main agent and each sub-agent (named by its type and task), so you can see what a helper cost.
SourceMeans
reportedThe Syntic platform sent the cost with the reply.
calculatedTokens multiplied by the model’s known rate.
estimatedThe reply came without usage numbers, or no rate is known for the model.

The footer shows just the amount; the labels stay in /cost. To cap what one sub-agent may spend, see Spend caps.

About the dollar figures

Costs shown by the CLI (in /cost, and total_cost_usd in -p --output-format json) are estimates at list price. As the JSON output puts it: “Retail-price estimate. Usage covered by your plan isn’t charged.” They help you compare tasks and set budgets; your bill is based on your plan. If your organization set its own rates (modelPricing), those are used instead.

Keep usage down

  • Switch to fast mode (/fast) or a lower effort for simple work.
  • Start fresh with /clear between unrelated tasks, and /compact in long ones.
  • Keep SYNTIC.md lean and turn off MCP servers and plugins you do not use.
  • Delegate searches to subagents, which keep bulky reads out of your main context.
  • Cap scripted runs with --max-budget-usd, --task-budget and --max-turns.
  • Cap sub-agents with maxBudgetUsd in an agent’s definition, or agents.defaultMaxBudgetUsd in settings (Spend caps).

Hitting a limit

When a plan window is used up, Syntic Code tells you when it resets. /rate-limit-options lays out your choices: wait for the reset, switch to another model, turn on usage credits if your organization offers them, or change plan.

By default, a session that stopped at a limit continues on its own once the window resets. Set "autoContinueAfterUsageLimit": false to stop instead.

Usage credits

Some organizations can buy usage credits that cover use beyond the plan’s limits. /usage-credits (also /extra-usage) shows the balance, this month’s spend and limit, and whether credits are on. Owners and admins can switch credits on or off there (t, then y to confirm).

Billing problems

SituationWhat happensWhat to do
A payment failedWork continues for a grace period. Once per session you see “Your payment didn’t go through. Please update your billing to keep using Syntic Code.” with the time left.Update your payment method at app.syntic.ai/billing.
Billing is inactiveRequests are refused: “Your plan isn’t active. Please update your billing to use Syntic Code.”Update billing, then send your message again.
Free accountRequests are refused: “Your account is a free one. Please upgrade to use Syntic Code.”Choose a paid plan.
No seats left, or another plan problemThe refusal includes the reason from your account.Ask your organization’s admin.
The plan check is briefly unavailableRequests are retried.Usually nothing; try again shortly.

For how the dollar figures are worked out and how to cap spend, see Manage costs. To send usage to your own monitoring tools, see Monitor usage.