Skip to main content

Errors and re-runs

Long scans run many agent jobs, and some will fail - a timeout, a flaky provider, a job that errored. open·kritt surfaces those clearly and lets you continue without repeating successful workflow steps.

How errors surface

The scan detail page includes a status summary that reports:

  • Active jobs - what's running right now (up to a handful shown).
  • Recent errors - the latest failures, each with a message, kind, and source.
  • Latest error - the most recent problem, if any.
  • Attempt counts - how many step and post-script attempts have completed, are running, or failed.

Scan-level problems are recorded on the scan itself; individual step and post-script failures are recorded per job, so you can tell whether the whole scan or just one job went wrong.

Automatic rate-limit recovery

When a Codex or Claude account returns a rate limit, open·kritt removes it from normal rotation and sends new work to another healthy account. A limited account is selected again only when every configured account for that provider is limited. Only then does the scan move to rate_limited instead of failed. Its page links to Accounts and shows the retry number with a live countdown.

The engine retries the scan automatically and keeps completed workflow and post-script work. Repeated limits use delays of 1, 2, 4, 8, then 10 minutes, capped at 10 minutes so the scan keeps trying at least once every 10 minutes. Authentication, invalid-model, and other non-temporary errors still fail normally.

Resuming a scan

You can pause a running scan and resume it later. Failed, paused, and stopped scans continue from their completed workflow lineages. Completed step results remain available as input to later depths; only failed or unfinished work is queued again.

  1. Pause

    Pause a running, prewarming_cache, or post_processing scan to halt new jobs.

  2. Resume

    Resume a failed, paused, or stopped scan to continue from where it left off.

Multiple passes

Because agents are non-deterministic, a second attempt sometimes finds what the first missed. Set repeat_runs in the scan's configuration to run each concrete workflow task more than once. Repeats run sequentially. Every repeat after the first sees only the earlier output from the same step and input, and appends results that are still missing. The accumulated terminal findings are then de-duplicated and ranked normally.

That's the full tour. Head back to Welcome or dive into Workflows to go deeper.