LaufwerkLaufwerk

Inspect and debug

Understand the observed state before deciding what to do next.

Find the run

Run from your consumer project root:

bunx laufwerk@0.0.1-alpha.6 status
bunx laufwerk@0.0.1-alpha.6 status RUN_ID --watch
bunx laufwerk@0.0.1-alpha.6 timings RUN_ID

Replace RUN_ID with a listed ID. A terminal run ends the watch; a waiting run keeps watching. Ctrl-C stops observation. Studio provides the full local transcript and interaction context.

Match the symptom

What you seeWhat it meansNext action
Run did not change after editing the workflow or promptSame execution key found the original runUse a new key for a new attempt; keep the old key for recovery
waitingAn answer or approval is pendingInspect it in Studio; use the correct response command
Local credential errorSubscription login is missing or expiredLog in on this host; run doctor again
doctor passes but a run fails before inferenceLocal checks did not exercise VM/provider availabilityInspect the error, KVM access, network and image preparation
Model response was not JSONThe model did not return a valid structured resultInspect the retained response and schema; do not treat the report as accepted
Verification failedThe candidate did not pass your checkInspect the test output and isolated work; do not weaken the check merely to pass
Write-back refusedThe original host files changedInspect both trees; do not overwrite intervening edits
Uncertain interrupted operationWork may have happened without a recorded resultInspect external evidence before recovery
Versions do not matchCLI and consumer dependencies disagreeAlign to the documented release; do not regenerate project identity

Provider readiness

bunx laufwerk@0.0.1-alpha.6 doctor
bunx laufwerk@0.0.1-alpha.6 doctor --provider claude

Codex requires the host subscription login. Claude access can renew when refreshable; missing/revoked credentials still need login. doctor --provider claude --refresh explicitly attempts renewal if needed and may make one small subscription request.

Recover deliberately

A stopped process does not prove that its last external action failed. First stop old workers and inspect the files or external receipt. If the outcome is known, record it through Studio's recovery controls or the CLI. If unknown, leave it blocked or cancel; do not guess.

The CLI shape is:

bunx laufwerk@0.0.1-alpha.6 recover RUN_ID --operation OPERATION_ID --result '{"exitCode":0,"stdout":"verified output","stderr":""}' --reason 'Verified against the actual command result'
bunx laufwerk@0.0.1-alpha.6 resume RUN_ID

This is a command-result example, not a value to paste for an arbitrary operation. Supply the operation's actual schema and verified outcome. An interrupted workspace writer also needs workspace inspection; only then use --workspace-verified if required.

Keep state and identity

Do not change the project ID to repair a run. State is stored under ~/.laufwerk/state by default, outside your source project. Existing bundles remain authoritative for their runs.

Preview retention cleanup before applying it:

bunx laufwerk@0.0.1-alpha.6 prune --older-than 30

Add --apply only after reviewing the preview. Eligible run deletion also removes its replay/idempotency history. Active, resumable and unresolved runs are retained.

Ask for help with evidence

Use the installed laufwerk-feedback skill or contact the maintainer. Include the version, host setup, operation/error and a minimal reproduction. Sanitize evidence: raw run JSON and transcripts can contain sensitive input or internal resume data.

CLI reference →

On this page