Documentation

Receipts and what each item cost

Read the receipts an overnight coding-agent run writes as it works: one file per item, the verification that ran, the outputs, and the tokens and time it cost.

Updated

SHORT ANSWER

What does each task in an overnight run leave behind, and what did it cost?

Receipts are the narrative of the night, written as the work happens rather than reconstructed at the end. Every punch-list item gets a file with its result, changes, verification, and outputs, and when the host exposes the numbers, what the item cost in tokens and time, measured by the runtime at the tick.

01

One file per item, written as it happens

A receipt file starts when substantive work on the item starts and carries one short progress paragraph until the item completes, refreshed on the cadence you set: after twenty minutes of work by default, after a token threshold, or at whichever comes first. The finished result replaces the progress paragraph, and a later item that changes an earlier result corrects that file and leaves one line saying what changed.

  • What was delivered, and why.
  • The changes that mattered and paths that were tried and rejected.
  • The verification that actually ran, its result, and its limits.
  • Where the outputs or commits are, and any snag or parked decision the item touched.
02

Usage the runtime measures, never the model

No host shows a model its own token counts from inside the conversation, so a model asked to measure could only guess. The hooks Nightshift already registers do see the numbers and take the readings. The tick is the boundary: everything spent between two ticks belongs to the item ticked second, and the gate writes that item's usage and duration lines into its receipt as it releases.

  • Claude Code: the session transcript, deduplicated on request id; cache reads and cache writes are reported separately from input.
  • Codex: the rollout's running token count, which folds cached input into input and reasoning into output, and the receipt says so.
  • Cursor: the stop payload, with no reasoning figure; a revived CLI segment has no per-turn source and reads unavailable.
  • A dimension a host does not report reads unavailable, never zero. Totals are never summed across hosts, and no count is ever turned into a price.
03

Turn it off or reshape it

The receipts block in rules.json controls the files. Setting enabled to false writes no receipt files and keeps every other record exactly as honest; usage set to off records no cost lines; a template path supplies wording and layout only and can never describe an unavailable check as a passed one. Receipts stay local and never reach a public commit message.

"receipts": {
  "progressMode": "time",
  "progressMinutes": 20,
  "usage": "when-available"
}
04

It is not a saving

Nightshift adds work rather than removing it: a contract to read, gates to run, receipts to write, and a watchman that wakes up. A shift may well use more than the same work done by hand. What it can reduce is rework: a night that stops at the wrong place, a morning spent reconstructing what happened, a change nobody can review. The receipts give you the real numbers to judge that trade yourself.

05

Use the morning review separately

Item receipts explain each unit while it runs; the morning receipt brings the ledger, ending state, parked decisions, and next action together. Use the walkthrough to inspect actual outputs and checks before accepting a shift.

Review an overnight run ↗
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.

Show me this shift's receipts so far: each item's state, what verification ran, and the usage and duration the runtime recorded. Do not estimate any figure.
BOUNDARIES

What this workflow does not claim

  • Usage figures come only from records the host already keeps; a dimension the host does not report reads unavailable, never zero, and is never converted to a price.
  • Receipts describe what the night delivered; they are not independent proof that a ticked item is correct.
SOURCES

Evidence and sources

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

Receipts, handoff, and archive settingsThe receipts, handoff, archive, recovery, and retention blocks and how usage is measured on each host.Open evidence ↗Example receiptsAn index and one item receipt.Open evidence ↗What Nightshift costsThe published statement that a shift adds work and is not a way to spend fewer tokens.Open evidence ↗Workflow contractThe shipped one-item loop, decision boundary, gates, recovery, and clock-out behavior.Open evidence ↗
RELATED QUESTIONS

Continue from the question you have

read the morning receiptRead the answer →bound a shift with a deadline or stall limitRead the answer →see documented shift evidenceRead the answer →
FAQ

Frequently asked questions

How much does an overnight shift cost?

Whatever the host charges for the tokens it used. The receipt records each item's input, output, cache, and reasoning figures from the host's own records, so you can read the cost per item rather than per night.

Does Nightshift estimate token usage?

Never. The model cannot see its own counts and is told not to write a figure. The runtime reads the host's records at each tick, and where the host reports nothing the section says unavailable.

Why does an item say unavailable instead of a number?

Because silence is not a measurement. A host that reports no figure for a dimension, or a revived Cursor CLI segment with no per-turn source, is recorded as unavailable rather than as zero.