I Copied a Google AI Studio Session by Hand. 68% of the Data Was Gone.
I had a long Google AI Studio (Gemini) session that I wanted to keep. I selected the conversation in the browser, copied it, and pasted it into a text file.
File size: a few hundred KB. "OK, that's safe."
Later, I exported the same session as JSON. File size: a few MB.
More than half of the data had silently disappeared.
What was missing
I checked what the manual copy had dropped.
The system prompt
The instruction I had originally given the model — the system prompt — was completely gone. Manual copy captures only the user/assistant turns visible in the conversation pane. The instruction context that shaped the entire session does not get copied.
The tail of long responses
When a Gemini response is long, the browser shows a "Show more" button. If you copy without expanding it, the response gets cut mid-sentence. Out of 8 sessions I checked, 3 had responses truncated this way.
Newlines inside code blocks
Newlines inside code blocks got mangled in several places. Responses containing JSON or YAML had indentation that no longer parsed.
The reasoning trace
For some models, the model's reasoning trace is stored separately from the visible response. Manual copy doesn't capture it at all.
How to export as JSON
Google AI Studio has a session export feature.
1. In the session view, click the `...` menu at the top right 2. Select "Export" 3. Choose JSON format and download
The JSON contains the full data, including the system prompt.
Measured: manual copy vs. JSON export
I compared 8 sessions.
| Session | Manual copy | JSON | Loss rate | |---------|-------------|------|-----------| | A | tens of KB | ~150 KB | ~70% | | B | ~90 KB | ~200 KB | 50-60% | | C | ~30 KB | ~100 KB | 60-70% | | D | ~50 KB | ~180 KB | ~70% | | E | ~60 KB | ~240 KB | ~70% | | F | ~20 KB | ~70 KB | ~60% | | G | ~20 KB | ~50 KB | 50-60% | | H | ~10 KB | ~30 KB | ~60% | | **Total** | a few hundred KB | ~1 MB | **60-70%** |
Average loss rate, 60-70%. The manual copy was, on every session, missing most of what was in the actual session state.
Why I didn't notice
If you open the manually-copied file, the conversation reads fine. As long as the start and end connect, a missing middle is hard to detect by eye.
The system prompt especially — it doesn't appear in the visible conversation. There is no marker for "the instruction is gone." The file just looks like a clean transcript.
What to do with the exported JSON
The JSON I exported was 200,000+ lines. Hard to work with as a single file, so I split it.
Split into chunks
Claude Code's Read tool has a per-call line limit. Reading hundreds of thousands of lines at once isn't viable, so I split the export into 200+ smaller files.
sessions/
├── session-001.jsonl
├── session-002.jsonl
...
└── session-XXX.jsonl
Make it searchable with INDEX.md
Each session got a summary line in INDEX.md.
## Session list
| ID | Theme | Key content | Lines | |-----|------------------|------------------------------------|-------| | 001 | World design | Magic system, geography setup | 1,234 | | 002 | Character | Protagonist personality | 987 | ```
`grep` and filename search now find the right session.
Lessons
Don't trust manual copy from a browser
Manual copy copies "what's visible." Anything not visible — the system prompt, the collapsed tail of a response, the reasoning trace — does not come along.
If the service has an export, use the export
Service-provided export is designed to output the complete data. Always more reliable than manual.
Back up regularly
The longer the session gets, the more you lose if you wait. I now export to JSON once a week as a habit.
---
I thought "manual copy is enough." Most of the data was gone. If you want to keep your AI conversation logs, use the official export feature.
---
*Originally published in Japanese at [Qiita](https://qiita.com/nomurasan/items/11d9f475b2b80cb554a3). Same author writing under "nomuraya / shimajima / nomurasan / 中翔" across media. English version adapted rather than literally translated.*