Skip to main content

Troubleshooting

SymptomLikely causeFix
Tool never calledTool not in the agent's toolPolicy, or the caller isn't authorizedAdd it to toolPolicy / grant the permission
Run stuck at WaitingForApprovalAn external-write tool is awaiting a decisionCall decideApproval
Run stuck at WaitingForQuestionThe agent asked a clarifying questionAnswer it via answerQuestion
Duplicate external actionTool not marked idempotentSet idempotent: true + a stable key
Context overflow / prompt too largeToo much injected contextRely on the budget; move large data behind retrieval / references
Cross-tenant data appearsMissing tenant scope on a store/tool callEvery call takes { tenantId }; never a bare findById(id)
Provider switch changed behaviorDifferent model capabilitiesPin capabilities in modelPolicy; check the registry resolution
Retries not happeningNon-transient error (4xx)Only 429/408/409/5xx/529 retry; validation errors fail fast
Session doesn't persistUsing a per-process memory storeUse a Postgres/Supabase adapter for durability

Debugging a run

  • Inspect the assembled context (per-section token estimates + provenance) via the context inspector — it shows exactly what the agent is working from.
  • Subscribe to run events (run.*, tool.*, run.retry-pending) to see the timeline.
  • Check the audit log for denials and external writes.

Still stuck?

Open an issue on GitHub.