Guides

Make Claude Code, Codex or Cursor finish tasks

Keep your coding agent working until every approved task is done: outcomes with definitions of done, a stop hook that returns open work, and receipts.

Updated

SHORT ANSWER

How do I stop the agent quitting before the list is done?

Make each approved task one observable outcome under ## Items, name its verification and commit, then Start the shift in Claude Code, Codex, or Cursor. Open boxes remain the contract when the agent tries to stop early; the tick still requires human review.

01

Turn your todo list into outcomes the agent can finish

Keep dependency order, split unrelated changes, and write a result that another developer can inspect. A vague 'clean up auth' item gives no finishing condition. A bounded item says which behavior changes and which checks must pass.

## Items
- [ ] **1. Reject expired reset tokens.**
  - Return the existing expired-token error without changing valid reset behavior.
  - Verify: npm test -- reset-token
  - Commit: `fix: reject expired reset tokens`
- [ ] **2. Update the reset help text.**
  - Explain expiry and how to request a new link.
  - Verify: npm run docs:check
  - Commit: `docs: clarify reset expiry`
02

Start it in Claude Code, Codex, or Cursor

Install Nightshift and open the persistent project first. Claude Code uses /nightshift:setup then /nightshift:start. In Codex, ask Nightshift to set up this project, review the rules, and start the shift. In Cursor, invoke the installed Setup and Start skills in the opened project. Each host uses native hooks; the working list and rules stay in project files.

Install by host ↗Host-specific starting points ↗
03

When an item cannot finish

A test failure stays attached to the item until repaired. If an outside dependency genuinely blocks it, record the snag and its disposition, red-tag the item, keep its checkbox open, and work the next independent approved item. Put a genuine owner decision in the parking lot with a reversible default; put known later work on the drafting table. Do not tick or delete a blocked item to make the list look finished.

  • A finite list completes only when every approved item is ticked.
  • An owner STOP leaves unfinished items open for the next shift.
  • Publishing or pushing needs explicit authority.
04

Review what the agent finished

Expect a local change and receipt for each completed item, plus visible open work and decisions. Read the morning receipt and verify the changed behavior yourself; the gate checks the box state, not the quality behind a tick.

Review the morning ↗
TRY IT

Start with a bounded prompt

This prompt names the outcome and preserves Nightshift’s review boundary. Paste it into the supported coding host from the project you want to change.

Turn these approved tasks into ordered Nightshift items with observable definitions of done, Verify lines, and local commit intent. Keep blocked items open.
BOUNDARIES

What this workflow does not claim

  • Only approved, sufficiently specified work belongs in the active list.
  • A self-reported tick does not prove quality and external actions need explicit authority.
SOURCES

Evidence and sources

These links support the released behavior, public outcomes, or problem language described on this page.

Workflow contractThe shipped one-item loop, decision boundary, gates, recovery, and clock-out behavior.Open evidence ↗How Nightshift worksHost differences, process leases, state files, workspace layouts, guarantees, and limits.Open evidence ↗First-night checklistThe attended checks required before trusting an unattended run.Open evidence ↗
RELATED QUESTIONS

Continue from the question you have

write a bounded punch listRead the answer →diagnose Codex ending earlyRead the answer →diagnose Cursor Agent ending earlyRead the answer →