Skip to content

session_rerun

Re-issue a recorded session’s captured tool calls against a DISPOSABLE SANDBOX COPY of its vault (never the live one) and report divergence per call. Sandbox-only: there is no parameter that selects the live-vault observe mode obsidian-tc’s rerun CLI command offers — that path stays operator-only. Replayed calls run with the caller’s own granted scopes intersected against the fixed replay ceiling (read/write/delete/bulk/execute, never admin), so a caller who cannot themselves mutate cannot get a mutating call replayed as successful. Requires admin:rerun plus a human confirmation (destructive). Domain: admin.

Domain admin
Scopes admin:rerun
Access destructive
Tags writes, destructive, hitl, admin, domain:admin
Profile core, full
Annotation Value
Read-only no
Destructive yes
Idempotent no
Accepts an idempotency key no

Idempotent is the advisory MCP idempotentHint. Destructive is also yes for a tool that asks for confirmation only on some calls.

A single-use elicit_token (or a transport-verified confirmation) is required on every call.

  • The confirmation binds to a fingerprint of the state being approved, so a confirmation given for since-changed state is refused with replay_drift.
Parameter Type Required Default Description
vault string — Vault id. May be omitted when only one vault is available. length 1–64; pattern ^[a-z0-9_-]+$
session_id string yes — length ≥ 1
timeout_ms integer — range 1–300000
Field Type Always present Description
session_id string yes —
vault string yes —
records object[] yes —
records[].seq number yes —
records[].ts number yes —
records[].tool string yes —
records[].caller string | null yes —
records[].verdict enum yes One of: "runnable", "no_capture", "redacted", "truncated", "skipped_mutating", "unparseable", "refused_by_policy", "served_from_cache"
records[].reason string yes —
records[].recorded object yes —
records[].replayed object | null yes —
records[].divergence enum yes One of: "none", "status", "error_code"
summary object yes —
summary.total number yes —
summary.runnable number yes —
summary.diverged number yes —
summary.byVerdict Record<string, number> yes —

Other tools in the admin domain: cancel_task, get_index_status, get_metrics, get_server_config, get_task_status, inspect_acl, inspect_visibility, server_health.

Back to the tool catalog.