> ## Documentation Index
> Fetch the complete documentation index at: https://docs.platform.nora.my/llms.txt
> Use this file to discover all available pages before exploring further.

# nora traces

> List and inspect agent runs, verify outputs, and pull verification results.

Traces are the recording of every agent run. The CLI is the fastest way to query traces at scale — filter by status, date, verdict, or free-text search — and to programmatically trigger verifier passes.

## Commands

| Command                          | Description               |
| -------------------------------- | ------------------------- |
| `traces list [flags]`            | List traces with filters. |
| `traces get <trace-id>`          | Fetch full trace payload. |
| `traces verify <trace-id>`       | Trigger verifier (async). |
| `traces verification <trace-id>` | Fetch verifier summary.   |
| `traces stats`                   | Workspace-wide counters.  |

## `traces list`

```bash theme={null}
nora traces list \
  --flow support-agent \
  --status completed \
  --from 2026-07-01 \
  --limit 50
```

### Filters

* `--status pending|running|completed|error` — run status.
* `--needs-review` — only traces flagged for human review.
* `--search <text>` — full-text over prompts, tool args, tool responses, answers.
* `--from <YYYY-MM-DD>` / `--to <YYYY-MM-DD>` — date range.
* `--flow <slug>` — scope to one Flow.
* `--verdict <verdict>` — filter by verification verdict: `SUPPORT`, `PARTIALLY_SUPPORTED`, `NOT_SUPPORT`, `unverified`.
* `--limit <n>` — max rows. Default 50.
* `--page <n>` — pagination, 1-based.

Add `--json` for structured output.

## `traces get`

```bash theme={null}
nora traces get tr_abc
```

Prints the full trace: every span, every tool call, every retrieval, the model's outputs, and verification results if any. Always JSON — traces are large and structured.

Common uses:

* Save for offline review: `nora traces get tr_abc > trace-tr_abc.json`.
* Extract just the tool calls: `nora traces get tr_abc | jq '.spans[] | select(.kind=="tool")'`.
* Diff two runs: `diff <(nora traces get tr_a) <(nora traces get tr_b)`.

## `traces verify`

```bash theme={null}
nora traces verify tr_abc
```

Triggers a verifier pass on the trace. Verifier decomposes the answer into claims, then checks each against retrieved evidence.

Async — the command returns immediately with a job ID. Poll `traces verification` to get the result.

Flags:

* `--decompose-model <m>` — override the model used to decompose claims.
* `--verify-model <m>` — override the model used to check each claim.

Both default to workspace defaults (see [Providers](/cli/providers)).

## `traces verification`

```bash theme={null}
nora traces verification tr_abc
```

Fetches the verifier's summary — overall verdict, per-claim results, ratio of supported to unsupported claims.

Verdicts:

* `SUPPORT` — all claims are supported by retrieved evidence.
* `PARTIALLY_SUPPORTED` — some claims supported, some not.
* `NOT_SUPPORT` — no support found for the answer.
* `unverified` — no verification has been triggered.

Returns `unverified` if the trace hasn't been verified yet — call `traces verify` first.

## `traces stats`

```bash theme={null}
nora traces stats
```

Workspace-wide counters:

* Total traces (all time and last 24h).
* Traces per Flow.
* Verdict distribution.
* Error rate.

Good for a quick health check without opening the app.

Add `--json` for the raw numbers.

## Recipes

### Find recent failures on one Flow

```bash theme={null}
nora traces list \
  --flow support-agent \
  --status error \
  --from $(date -v-7d +%Y-%m-%d) \
  --limit 100
```

### Nightly: run verifier on every trace missing verification

```bash theme={null}
nora traces list --verdict unverified --status completed --limit 500 --json \
  | jq -r '.[].id' \
  | while read id; do
      nora traces verify "$id"
    done
```

### Weekly report: NOT\_SUPPORT rate

```bash theme={null}
total=$(nora traces list --from $(date -v-7d +%Y-%m-%d) --json | jq 'length')
notsupport=$(nora traces list --from $(date -v-7d +%Y-%m-%d) --verdict NOT_SUPPORT --json | jq 'length')
echo "NOT_SUPPORT rate: $notsupport / $total"
```

### Bulk-download traces for offline analysis

```bash theme={null}
mkdir -p traces-export
nora traces list --from 2026-07-01 --limit 1000 --json | jq -r '.[].id' \
  | while read id; do
      nora traces get "$id" > "traces-export/$id.json"
    done
```

### Attach a trace to a signal

There's no CLI command for creating signals from traces — use the app for that. But for programmatic feedback, see [`nora feedback`](/cli/feedback).

## Trace retention

Traces are retained per Flow settings (default 90 days). Payload retention (raw prompts and tool args) can be shorter for compliance workloads. Once a trace payload is scrubbed, `traces get` returns metadata only.

`traces stats` respects retention — counters aren't affected by scrubbing (metadata retains longer than payloads).

## Related

* [Traces overview](/reliable/traces/overview) — concepts.
* [`nora feedback`](/cli/feedback) — attach feedback to a trace.
* [`nora approvals`](/cli/approvals) — decide approvals on runs waiting for a human.
