Gemini CLI

Gemini CLI history: reviewing an incident

Which change caused this, and why did it look correct at the time?

Why this is hard

Git answers the first half of an incident question. The second half — what the author was trying to do, what constraint they gave the model, what the model quietly worked around — is in the conversation, and it is the half that stops the same failure recurring.

What Gemini CLI specifically does to you here

The shadow git snapshots mean you can see the working tree as it was during a session, not just the conversation. It is the closest thing to a replay in this set, and it expires on the same 30-day timer as everything else.

See it on your own machine
find ~/.gemini/tmp -path '*/chats/*' 2>/dev/null | wc -l

Where Gemini CLI keeps this in the first place: ~/.gemini/tmp/<project_hash>/chats/. general.sessionRetention deletes sessions after 30 days, and cleanup is enabled by default.

What a working answer looks like

A working answer means going from a line of code to the prompt that produced it, months later, without depending on anyone's memory.

Start by measuring what you have. npx promptwake doctor reports what every AI tool on the machine is holding and how much of it sits inside a deletion window — no account, writes nothing, sends nothing anywhere. If the conclusion is that the record should not depend on one laptop, that is what PromptWake captures: prompt, response and the resulting diff, local by default and synced into a shared timeline on the paid tiers.