reasoning and effort behave on an agent, and how a run is billed. The model list and the per-token rates live on Models & Token Pricing — the shared reference every Macroscope feature bills against.
Choosing a Model
Setmodel: in your front matter to choose which model powers the agent. Any model in the shared model list can be used.
The default model is claude-opus-4-6.
If you omit
model:, the agent uses the default (claude-opus-4-6). If you set model: to a value Macroscope doesn’t recognize (or a deprecated one), the check run completes as skipped — neither pass nor fail — with a “model is not available on Macroscope” message on its details page. It never silently falls back to a default.Open-source models are opt-in per agent (the default model stays
claude-opus-4-6) — a good fit for specialized, high-volume, or narrowly-scoped checks, while Opus remains the default for reviews that need the strongest model. model: only changes which LLM powers the agent — every other front-matter control (tools, input, include, exclude, and the rest) works the same on every model.Reasoning and Effort
reasoning and effort tune how hard the model thinks. Which one applies depends on the model — see per-model support for the full rules and the levels each model accepts.
Writing a reasoning level a model does not support falls back to low and surfaces a warning on the check run details page.
For example:
How Runs Are Billed
Check Run Agents bill in Agent Credits based on what the run’s model calls cost. The underlying token rates are the raw model rates, which are the same everywhere they are used; this page covers what Check Run Agents add on top.claude-opus-4-6 is the default when no model is set.
A Check Run Agent’s usage is billed in credits: raw model cost + 5% markup, then ÷ $0.01 per credit (1 credit = $0.01).
Managing Costs
To keep costs down: useinclude/exclude or .macroscope/ignore.md to scope to relevant files, use incremental for non-blocking checks that should avoid re-reviewing unchanged files on every push, prefer full_diff over code_object, use pr_metadata for checks that only judge the PR’s title, labels, description, or commit messages, and use lower effort for simple checks.
Cost information is available in two places:
- Settings → Billing — Admins can see a full cost breakdown across all Check Run Agents.
- GitHub Check Run details page — Shows the billed total for each individual run, plus the token usage behind it.
Reading the billing footer
Every Check Run Agent’s details page ends with what the run cost and what it consumed:Agent Credits: 44 credits Token usage: 2 uncached input · 0 cache-read input · 44,885 cache-write input · 5,534 outputThe four figures cover the whole run — every model call the agent made, including the nested ones its research tools make on its behalf. They do not overlap, so each token is counted once:
You are billed in Agent Credits, not per token — these figures are what the run consumed, not four separate charges.
A long agent run typically shows a large cache-write number and a small uncached input number. That is the intended shape: the agent writes its context to the prompt cache once and reads it back on every subsequent turn instead of re-reading the whole prompt, which is what keeps a long run’s credits down.
Two different caches, and only one of them makes a run free.Provider prompt caching is what cache-read and cache-write measure. The model still runs, so the run still costs Agent Credits — caching just makes it cost fewer of them. This happens within a single run, turn to turn.Macroscope response reuse is separate. When a check runs again over work it has already reviewed, Macroscope can reuse the complete stored result instead of calling the model at all. Nothing is metered, so the run costs 0 credits and the details page says the result was reused rather than showing token figures. Re-running the check from GitHub forces a fresh review.
Agent Credits can also include charges from tools that bill per call rather than per token — web research, for instance. Those add to the credits total without appearing in any of the four token figures, and the footer says so when they apply.