Grok CLI guide: resuming a session

How to resume a Grok CLI session

Grok has no separate resume step. Sending a message to an existing session re-reads that session state from disk as part of the turn, which puts it closer to Codex than to Claude in behaviour and closer to Claude in cost.

xAI

On Grok CLI

There is no resume call

Where Codex has an explicit resume before each turn, Grok folds the same work into starting the turn. The effect is the same and there is one less round trip.

Terminal work is picked up

Because state is re-read per turn, a message you sent from the terminal between two remote turns is already part of the conversation on the next one.

Sessions are found by directory

A Grok session is a directory named with a UUIDv7 under a slugged project path. Because a UUIDv7 begins with a timestamp, sorting the directory names sorts the sessions by age.

summary.json tells you what it was

You do not have to open a transcript to see what a session was about. Grok maintains summary.json as the conversation runs, so the index is current without a scan.

Rewind points are separate

Grok records rewind points in their own file, so rolling a conversation back is session metadata rather than an edit to the transcript.

Compare

How each engine picks a conversation back up

 Claude CodeCodex CLIGrok CLI
Resume mechanismA flag on the next runAn explicit resume callSession state re-read per turn
HappensOnce, at process startBefore every turnBefore every turn
Picks up terminal editsAt the next process startYes, every turnYes, every turn
Identified bySession idThread id plus working directorySession id
Cost of resumingCheapCan be slow on a long threadCheap

Termdeck drives all three from one console, so the differences above stop being three separate habits to remember.

FAQ

Grok CLI resuming a session, answered

How do I find my most recent Grok session?

Grok names each session directory with a UUIDv7, and a UUIDv7 starts with a timestamp. Sorting the directory names inside the project folder therefore sorts the sessions oldest to newest without reading any files.

Does Grok pick up work I did in the terminal?

Yes. Grok re-reads session state as part of starting a turn rather than once when a process starts, so terminal work between two remote turns is already in the conversation.

Why does Grok have no resume command?

Because it does not need one. Re-reading the session is folded into starting a turn, so continuing an old conversation and sending a new message are the same operation.

What is in summary.json?

A live index of the session, including the working directory it belongs to. Grok keeps it current as the conversation runs, so a tool can list sessions without parsing any transcripts.