Concepts

Run states

A run is one attempt at delivering a task. From the moment it starts to the moment it ends, a run is always in exactly one state — and that state tells you whether the run is working, waiting on you, or finished.

You’ll see the current state as a label at the top of the run detail page. This page explains all nine states: what each one means, and what (if anything) you do about it.

The one active state

Running

The run is working. It’s reading the task, planning, writing code, or moving through your pipeline — whatever the current step calls for.

While a run is Running, the label often shows what it’s doing right now — Planning, Developing, E2E testing — so you can follow along on the run detail page. You don’t need to do anything. If you want to step in, you can pause the run to put it on hold (the Pause button appears while it’s Developing) or cancel it to stop the attempt entirely.

A Running run doesn’t stay running forever. It either finishes, or it reaches a point where it needs something from you — and then it pauses.

The five ways a run pauses

A run pauses when it can’t go further on its own. Each of the five pause states is waiting for a specific thing, and each clears the moment you provide it. A paused run holds its place indefinitely — it won’t time out or move on without you.

Awaiting Plan Approval

Before DIJJI.ai writes code, it shows you a plan and waits for your decision. The run sits in Awaiting Plan Approval until you approve or reject it.

Approve and the run returns to Running. Reject and the run ends as Cancelled. For the full picture, see Plans and plan approval.

Waiting for Gate

The run reached a stage’s gate and can’t advance until the gate’s condition is met. The most common case: the stage waits for you to merge the pull request it opened — its Auto-merge PR setting is off, so the merge is yours to make.

Merge the pull request — or otherwise satisfy the gate — and the run returns to Running and moves to the next stage. See The pipeline: stages and gates.

Waiting for Answer

The run hit something it can’t decide on its own and asked you a question — a choice to make, a detail to confirm, an ambiguity to resolve.

The question appears on the run detail page. Read it, type your answer in the box, and submit. The run reads your answer and returns to Running, picking up exactly where it paused. There’s no penalty for taking your time — the run waits as long as it needs to.

Waiting for Payment

The run paused because your organization’s balance ran out mid-task. Work stops where it is so no step runs without credit to cover it.

Top up the balance, then resume the run. It continues from the step right after the one where it paused — nothing already done is repeated.

Paused

A Paused run is on hold at a safe, resumable checkpoint. Unlike the other pause states, Paused isn’t waiting for a decision from you — it just needs you to pick the work back up. A run reaches Paused two ways:

  • You pause it. While a run is Developing, a Pause button appears on the run detail page. Select it and the run finishes the step it’s on — showing Pausing… in the meantime — then settles into Paused. Your place is kept and nothing more runs until you resume.
  • It pauses itself. The run reaches a temporary hold point and parks itself at a resumable checkpoint.

Either way, open the run detail page and select Resume. The run continues from the step after the one where it paused, repeating nothing already done. If it isn’t ready to continue yet, it simply pauses again — wait a little and select Resume once more.

While a run is paused the project stays busy with it: pausing keeps your place rather than freeing the project for other work. To release the project, cancel the task instead.

The three ways a run ends

These three states are final. A run that reaches one of them is done — it won’t move again. To work the task further, start a new run.

Completed

The run finished its work and travelled the whole pipeline successfully. The delivery is done. The run detail page becomes a record: the steps it took, the stages it passed, and what it cost.

Failed

The run hit an error it couldn’t get past — a problem in the work itself, a stage gate that failed, or an interruption it couldn’t recover from. The run detail page shows the failure reason so you can see what went wrong before deciding whether to try again.

Cancelled

The run was stopped deliberately — either you cancelled it, or you rejected its plan. It’s a clean stop, not an error: nothing went wrong, the attempt was simply called off.

Starting again

A run ending — whether Completed, Failed, or Cancelled — doesn’t end the task. A task can have many runs. If a run fails or you cancel it, you can start a fresh run from the task page, and the new attempt begins its own trip through these states.

The shape of a run

Running ──┬── Awaiting Plan Approval ──┐
          ├── Waiting for Gate ────────┤
          ├── Waiting for Answer ──────┤
          ├── Waiting for Payment ─────┼── back to Running
          └── Paused ──────────────────┘
              │
              └── Completed · Failed · Cancelled   (the run ends)

Every run is a path through these states: working, pausing for you when it needs something, and finally ending one of three ways. For where runs sit among tasks and projects, start with Projects, tasks, and runs.