When a run produces a plan, it pauses and waits for you to approve it before any code is written. This page covers making that decision. For what a plan is and why the checkpoint exists, see Plans and plan approval.
Open the run
A run waiting on you sits in the Awaiting Plan Approval state. From the task’s page, open the run detail page for the current run.
The plan appears there in its own card. The card is shown only while — and after — a run has a plan; until the run finishes producing one, it shows Running with a Planning label.
Read the plan
The plan card holds the proposed work as a formatted document. Read it top to bottom, the way you’d read a short design note from a teammate: it describes the approach DIJJI.ai intends to take and the changes it expects to make.
The card labels the plan with a version — Plan v1 for a first attempt, Plan v2 for the next, and so on. You’re answering one question as you read: did DIJJI.ai understand the task the way you meant it?
Nothing is written, nothing is merged, and no further credits are spent while the run waits. There’s no time limit — the run holds its place until you decide.
If the run never pauses here — it produces a plan and carries straight on to Running — the project has Auto-approve plan turned on, and the approval step is skipped by design. See Plans and plan approval.
Approve the plan
If the plan looks right, approve it. An Approve plan? confirmation opens first — it warns that approving starts the work immediately and consumes your balance, and that you can’t un-approve (to stop afterwards you must cancel the run). Confirm with Approve & start, and the run leaves Awaiting Plan Approval, returns to Running, and DIJJI.ai begins the work, carrying on through the pipeline you designed.
Approving is a go-ahead, not a final sign-off. You still review the pull request the run opens at each stage — the plan is your check on intent, the gate is your check on the result.
Reject the plan
If the plan misreads the task or heads in the wrong direction, reject it. Choosing reject opens a reason field right on the card — it doesn’t submit straight away.
- A reason is required. It’s how you tell DIJJI.ai what was wrong, so the next attempt can do better. Be specific: name what the plan got wrong or left out. You can’t confirm the rejection until the field has text.
- You can back out. Before you confirm, you can dismiss the reason field and return to the approve/reject choice — nothing is submitted until you confirm.
Confirm the rejection and two things happen:
- The run is cancelled. This attempt is over. DIJJI.ai does not revise the plan in place or try again on its own.
- Your reason is posted to the source issue. It’s added as a comment on the GitHub issue the task came from, alongside the run number, so the feedback lives with the original request. You’ll find it, with any other comments on the issue, in the task’s Issue tab — see Add context with issue comments.
After the decision
Once you approve or reject, the plan card stays on the run detail page in a read-only form — it shows the decision, who made it, and when, with the rejection reason if there was one. The approve and reject controls don’t come back; the decision is recorded for good.
Any member of the project’s team can approve or reject a plan — it isn’t an admin-only action. Whoever decides is recorded on the card.
Try again after a rejection
A rejected run is cancelled, so to try again, return to the task and select Re-run. The new run reads your rejection reason, produces a fresh plan, and brings you back to Awaiting Plan Approval with a new version to review.
You don’t always need a fresh run to add direction, though: while a run is still in flight, new comments on the source issue can be folded into it with Apply comments, without starting over — see Add context with issue comments.
For every state a run can pass through, see Run states.