Feature request: opt-in thinking block persistence in session transcripts
Since approximately v2.1.76, thinking blocks in session JSONL transcripts have thinking: "" (empty content) with only the signature field preserved. Prior to this version, thinking content was stored in full.
Current behavior
{"type": "thinking", "thinking": "", "signature": "EsUCCkYICxgCKkD9icI6..."}
The thinking field is stripped before writing to disk. The signature is protobuf metadata — it does not contain or encrypt the thinking content. Not recoverable.
Requested behavior
An opt-in config option in settings.json:
{"persistThinkingBlocks": true}
When enabled, full thinking text written to local transcript alongside the existing signature field.
Why this matters
Session transcripts are user-owned data stored on the user's own machine. Thinking blocks represent the model's analytical reasoning and are valuable for:
- Session recovery: reconstructing analytical context after crashes or compaction
- Debugging: understanding why the model made specific decisions
- Multi-session research continuity: long-running projects benefit from reviewing prior reasoning, not just outputs
The infrastructure already exists — the content is generated and transmitted, the stripping happens at the persistence layer. Giving users control over local storage of their own data is low-risk and high-value. Should be opt-in, not default.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗