Skip to main content

Troubleshoot stuck tasks

This guide helps you work out why a task looks frozen. Most "stuck" tasks are actually waiting for a human (somewhere), waiting for children (somewhere), or were silently resolved in another session.


Step 1 — Check the status

Open the Dashboard and find the task. The status tells you most of the story. See Task statuses for full definitions.

StatusMeaningUsual next step
waiting_for_humanA human — probably you — needs to approve, dismiss, or answer.See Step 2.
waiting_for_childrenParent is blocked on one or more descendants.See Step 2.
in_progressActively running. Tools can take a while for scraping, web requests, LLM calls.Wait. If longer than 10 minutes, see Step 3.
pending / scheduledQueued, not started.Usually transitions within seconds; see Step 3.
failedFinished with an error.Look at the task detail on the Dashboard for the error.
dismissed / skippedFinished — did not run.Not stuck; final status.

Step 2 — Find the descendant that's waiting for you

This is the #1 cause of "stuck" conversations: a parent is parked in waiting_for_children, and somewhere down the task tree is a child in waiting_for_human that hasn't been resolved.

  1. Open the Pending Approvals view on the Dashboard.
  2. Filter by the AI Agent that started the parent conversation.
  3. Find the pending card and resolve it (Approve, Dismiss, or answer the question).

The parent wakes up automatically — no restart needed.


Step 3 — Check for execution errors

A task stuck in in_progress or pending beyond a reasonable time usually hit a silent failure. Common causes:

Likely causeHow to confirmFix
External API rate-limit (HTTP 429)Task stays in in_progress, eventually transitions to failed with a 429 error.Wait and retry. For batches, reduce concurrency or split the batch.
External API 5xx or timeoutSame pattern; failed with 5xx or timeout error.Wait. Retry when the service is back.
LLM error / content policyTask fails with a model error.Retry with a simpler prompt; check the AI Agent's model and token settings.
Validation error in a batch rowBatch row ends in failed.Fix the source data or the transform function and re-run.
Tool credential expiredTool calls keep failing with auth errors.Reconnect the tool in the AI Agent's Tools tab.

If the task is clearly failed, start a fresh conversation or a fresh batch.


Step 4 — Has it already been resolved somewhere else?

If a task was resolved in the chat while you had the Dashboard open in another tab, your view may be stale. Refresh the page.


Step 5 — Check the WebSocket connection

The chat and Dashboard use a live connection to show status changes. If your browser lost the connection, new events stop appearing.

Signs of a dropped connection:

  • No activity shows up even when you know your AI Agent is running.
  • The Pending Approvals count doesn't update.
  • Chat messages you send don't get a reply.

Fix:

  • Refresh the page.
  • Check your internet connection.
  • Disable any browser extension that blocks websockets (some aggressive privacy extensions do this).

Step 6 — Known specific symptoms

"I dismissed a subagent's approval but the parent still looks parked"

Dismissing a subagent's tool call is not a failure; the cascade continues normally. Give it a few seconds — the parent should transition from waiting_for_children back to in_progress. If it stays parked, check whether there are other siblings of that task still in waiting_for_human or in_progress.

"An approval card doesn't respond to clicks"

Usually the task was already resolved elsewhere. Refresh.

"The AI Agent keeps asking me the same question"

Something downstream of the question is failing and your AI Agent is retrying. Look at the task in the Dashboard to see the sequence of failures; the fix usually belongs in the tool the AI Agent is calling after the question (see Step 3).