Praxen supports thinking modes — the same effort dial reasoning models expose, applied to a whole scan. The default, standard, is the single scan described everywhere else in this guide. The two higher effort levels spend more time and tokens on verification: an independent audit of every finding, and — at the top level — three scans adjudicated into one.
| Mode | What runs | When to use it |
|---|---|---|
| standard | One scan | Default. Everyday scans, exploratory reads |
| high | Scan → independent findings audit → cleaned report | Before a report leaves your hands |
| x-high | 3 independent scans → evidence adjudication → one “super-run” report | Audits, gates, anything where quality outranks time and tokens |
| Mode | Time | Tokens | A typical run (Opus 5) |
|---|---|---|---|
| standard | 1× | 1× | ~10–22 min · ~215k–265k tokens |
| high | ~1.3–1.6× | ~1.4× | ~17–29 min · ~305k–395k tokens |
| x-high | ~2–2.5× | ~4× | ~30–35 min · ~0.9M tokens |
Three things worth knowing before you budget.
Time and tokens do not move together. High mode adds roughly 40% to the token bill but usually more than that to the clock. Its audit runs as a fresh agent that re-reads the source and remit from cold — cheap in tokens, expensive in round-trips. If someone asks how long a run will take, don’t answer from the token figure.
Concurrency shows up on the clock, never on the burn. Running scans in parallel pushes high mode’s time multiple toward 1.8× without changing what it spends. The same effect works in your favour at the top level: x-high runs its three scans concurrently, so it finishes in about 2–2.5× the time while still spending 4× the tokens. Parallelism buys back waiting, never burn.
Both multiples scale with finding count. The audit re-verifies findings one at a time, so a dense report costs more to audit than a thin one — a subtle production agent audits slower than a demo app with obvious holes. Where the phases were timed separately, the audit came to about 60% of the scan’s own wall-clock.
Budget by whichever is scarcer. In tokens, high mode is a modest add and x-high is not. In time, high mode is the one people underestimate.
Modes are selected per-invocation, in natural language — there is no config file and no standing state:
“Run a Praxen analysis of
./my-agentin high thinking mode.”“Run an x-high Praxen scan of this workspace.”
If no mode is named you get standard mode. The skill announces the mode and its expected cost multiple before starting, so a mis-heard request is visible immediately.
The audit is deliberately hard to please in one direction only: a kill requires cited contradicting evidence, “could not verify quickly” counts as confirmed, and the auditor can neither re-grade severities nor invent new findings.
R-NN / PRAX-… IDs).Two principles govern the merge, and they are worth knowing because they are not voting:
Both modes keep full provenance alongside the final report:
xhigh-run1/2/3/ directories. High mode only writes a -raw copy when the
audit actually changed something; if every finding is confirmed, the scan’s
own artifacts are the final report and there is nothing to preserve a
copy of. On a well-tuned remit that is the common outcome, so no -raw
files is a clean result, not a missing step — the adjudication record
below is where you confirm the audit ran.reports/<agent>-adjudication-<timestamp>.md)
— every verdict with its rationale, the remit-feedback list, and (x-high) a
variance diagnostic: what flipped between runs, the per-run score
spread, and what the adjudication did about it. If you maintain the remit
or care why two runs disagreed, this file is the interesting one.| Use it to | It stabilizes | |
|---|---|---|
| standard | Find and fix. One run surfaces most of what is there and everything it reports is dependable. | — |
| high | Sharpen your remit, and catch the occasional finding the evidence doesn’t support. | the finding set (verification) |
| x-high | When a miss would ship. Release gates, security sign-off, before/after comparison, publishing a number. | the finding set and the score |
This is the counter-intuitive one. On a mature scanner there is usually little to kill — across four audited targets the audit confirmed 54 findings and removed none. In the same four runs it found nine defective rules in the remits: obligations no implementation could satisfy, prohibitions on behavior the target documents as intended, allow-lists omitting routine operation, and sound prohibitions welded to over-broad extensions.
That matters because a defective rule produces a finding that looks completely real — correct file, correct line, an honest violation of the rule as written. You cannot spot it by reading findings. High mode reads your rules against the target’s own documentation and hands back a fix list. Reach for it whenever a remit is new or has just changed; see Writing Worker Remits → Advanced.
Three scans, unioned, then every candidate re-verified — so the finding set is more complete than any single run’s. That is the primary value: in multi-run studies about half of the verified finding set had been seen by only one of the three scans, and none of those was refutable. A single run is dependable in what it reports and incomplete in what it covers.
It also stabilizes the score, which it previously did not. Two independent x-high runs of the same target derived the same weighted score and the same six category scores — reproduced on both of the two most variable targets in the suite, against a raw single-run range of 0.70 in each case.
Two things to understand about that result:
Scope honestly: demonstrated on two targets, one model, one adjudication brief. It is a measured result, not a guarantee.
Thinking-mode scores are not comparable to standard-mode bands. Praxen’s published
variance expectations are standard-mode figures; compare thinking-mode runs with
thinking-mode runs. (The v1.3-opus5 baseline is mostly standard-mode but freezes three of
its twelve targets at a high-mode run — BASELINE.md records which, and why.)
Do not expect a mode to push a score in a consistent direction. In 1.3 testing, high-mode runs landed at or above their target’s median while x-high super-runs re-derived below it. A mode gives you a better-evidenced score, not a systematically higher or lower one — the reproducibility is the property to rely on, not the direction.
If you are wiring Praxen into a release process, two recommendations:
The modes depend on genuine context isolation for the audit — a reviewer that shares the scan’s conversation inherits its confirmation bias and checks nothing.
fork_turns="none").