Diagnostic Commands
Run these commands first when something looks wrong. They give you the information you need to pick the right recovery action.Crashed Agent Recovery
Symptom: An agent exits unexpectedly mid-task. The task remains in an executing state with a stale lease. Diagnosis: Runliza get agents and check process_status. A dead process with an active lease indicates a crashed agent.
Recover by Task ID
Use this when you know which task the agent was working on:liza status afterwards to confirm the task returns to a claimable state.
To explicitly discard the worktree and reset the task to its initial state:
--fresh when the worktree is corrupted or you want a clean restart on the task.
Recover by Agent ID
Use this when you know the agent ID and want full cleanup:Both
recover-task and recover-agent are idempotent — safe to run multiple times. Use --force if the agent’s PID is still alive and you want to bypass live-PID checks.Stale Lease
Symptom: A task is stuck in an executing or reviewing state, but the agent is gone or unresponsive. The lease expiry timestamp is in the past. Diagnosis:lease_expires is in the past, the task is stale.
Fix:
Stuck Task
Symptom: A task is stuck in IMPLEMENTING or REVIEWING with no visible progress. No lease expiry issue — the agent is registered but appears stalled. Diagnosis:status field: WORKING means it is active; WAITING or HANDOFF may indicate a stall.
Fix:
-
Release the claim to free the task:
-
If no live agent exists to pick up the released work, spawn agents for all claimable roles that have no live agent:
Add
--cli claude(or another provider) to specify which CLI to use for newly spawned agents. Add--dry-runto preview the spawn commands without executing them.
BLOCKED Task
Symptom: A task is in BLOCKED state. Agents skip it. The task has ablocked_reason and blocked_questions set.
Diagnosis:
-
Read the
blocked_reasonandblocked_questionsfields carefully. - Answer the questions in the spec or in the task’s context.
-
Unblock the task:
-
To resume directly on a specific agent (fast path):
-
If the orchestrator has assessed the blocker and cannot resolve it, record the triage:
This raises an
UNRESOLVED BLOCKEDalert so you have a clear audit trail.
If the blocked task has a preserved worktree and the integration branch has moved while it was blocked, rebase it as part of the unblock:Add
--allow-dirty if the worktree has tracked changes that need autostashing during the rebase.Integration Failure
Symptom: A task moves to INTEGRATION_FAILED. A merge conflict or test failure occurred when Liza tried to merge the approved work into the integration branch. Diagnosis:-
Any coder agent can claim the task for conflict resolution:
-
Resolve the conflicts in the worktree:
-
Resubmit for review:
The task goes through the full review cycle again before merging.
Circuit Breaker Tripped
Symptom:liza tui or liza analyze reports a circuit breaker pattern. The system mode is CIRCUIT_BREAKER_TRIPPED, the sprint is at CHECKPOINT, and all agents have halted.
Diagnosis:
Fix:
- Read the circuit breaker report to understand the pattern and evidence.
- Fix the root cause — update the spec, fix the architecture, resolve the external dependency, or amend the goal document.
- Commit your changes.
-
Resume to clear the circuit breaker and restart the sprint:
After clearing,
liza analyzewill showstatus: OKandcurrent_trigger: null. Historical anomalies from before the clear are acknowledged and excluded from future pattern detection.
Ghost Agent
Symptom: An agent is registered in state but its process is dead or the registered PID belongs to a different process. Diagnosis:On Linux, Liza uses procfs identity checks to distinguish a live Liza supervisor from a dead or PID-reused process. In containers or across SSH boundaries, a live host agent can appear as
process_status: stopped because its PID is not visible from the current namespace. Do not recover based on process_status: stopped alone in those environments — check recent heartbeat and active lease as stronger liveness evidence.Zombie Agent Process
Symptom: A liveliza agent process is running but is not registered in state. It can collide with registered agents by claiming the same work.
Diagnosis:
liza repair-agent-pool to spawn clean replacements.
Provider Quota Exhausted
Symptom: All agents using a provider have stopped. The system mode is still RUNNING. A signal file.liza/provider-quota-exhausted-<provider> exists.
Diagnosis:
liza pause first — liza resume alone fails because the system is still RUNNING, not PAUSED.