Checkpoints and rewind
A long conversation that goes off-track is frustrating. Checkpoints + rewind let you jump back to any earlier state, drop everything since, and try again from there — without losing the conversation history altogether.
How checkpointing works
QRY automatically takes a checkpoint before each user message in a conversation. You also get a button to take a manual checkpoint at any time. Each checkpoint records the full message thread up to that point.
When you rewind, QRY doesn't delete the messages between the checkpoint and "now" — it soft-deletes them. They're still in the database with a deleted_at timestamp, and a cleanup job removes them later (default: auto-checkpoints after 30 days, manual checkpoints after 60 days).
This means you can sometimes recover further: an admin can un-soft-delete messages within the retention window if you rewound too far.
Auto vs. manual checkpoints
| Auto-checkpoint | Manual checkpoint | |
|---|---|---|
| Created when | Before every user message | When you click the bookmark icon |
| Visible in UI | Subtle dot in the conversation timeline | Highlighted star with optional name |
| Retention | 30 days after rewind | 60 days after rewind |
| Best for | "Whoops, last turn went sideways" | "I want to keep this state for later" |
Rewinding
From the conversation timeline
Open the conversation menu (⋯) and click Show checkpoints. A timeline appears alongside the conversation, with one tick per checkpoint. Click any tick and choose Rewind here.
QRY restores the message thread to that state and clears the prompt input. Everything after the checkpoint goes into soft-delete.
Rewind-to-input (special case)
Sometimes you don't want to lose the LLM's answer; you just want to edit your last prompt and re-send. Rewind-to-input does exactly that: it pulls your last user message back into the prompt for editing, and removes only the assistant's answer.
It's available right under the last assistant message as the Edit & resend action.
A practical pattern
- Type a question.
- Read the answer. Find it useful or not.
- If not useful: click Edit & resend under the answer, refine your prompt, send.
This is faster than canceling-and-retrying for cases where you didn't realise the prompt was wrong until after seeing the answer.
Soft-delete and retrieval
Because rewinds soft-delete rather than hard-delete:
- Eager loads must filter on
deleted_at IS NULL— this is a database-level invariant QRY's backend respects. If you ever query themessagestable directly via reporting, remember the filter. - Within the retention window (30 days auto, 60 days manual), an admin can recover the dropped turns. After that, the cleanup cronjob removes them permanently.
Common issues
Rewinding takes me too far back. There's no per-message rewind — checkpoints are the granularity. If the granularity is too coarse, take manual checkpoints more often during a delicate analysis.
A teammate rewound a workspace conversation and now I'm confused. Workspace conversations are shared. Anyone with edit rights can rewind. The conversation timeline shows when checkpoints happened and by whom — useful when reconstructing what happened.
I rewound and want to undo. If it's been less than 30 / 60 days, ask an admin to restore. Otherwise, it's gone — manual checkpoints exist precisely to extend the safety window for important states.
Rewind-to-input doesn't appear under the answer. The action is only on the last assistant message. Earlier messages need full timeline rewind via the conversation menu.
See also
- Canceling a query — stop before the answer, instead of rewinding after.
- Sharing a conversation — share captures everything up to the moment you click; rewind first if you want to hide turns.
- Conversation Checkpoints reference — full feature reference.