[BUG] Thinking block content empty in JSONL session files since 2.1.72 (signatures present, text missing)

Resolved 💬 3 comments Opened Mar 10, 2026 by ochocinco0601 Closed Apr 18, 2026

Description

Since upgrading to 2.1.72, thinking block content in session JSONL files is stored as empty strings. The "type": "thinking" structure and "signature" field are present, but the "thinking" field is "". On 2.1.71 and earlier, this field contained the full thinking text.

This is distinct from #25980 (verbose mode display regression). Issue #25980 documents that thinking is generated and recorded but not displayed. This issue documents that thinking content is no longer recorded in the JSONL — only the signature remains.

Reproduction

  1. Install 2.1.72 (npm install -g @anthropic-ai/claude-code@2.1.72)
  2. Start a session and interact normally (Opus 4.6, any effort level)
  3. Inspect the session JSONL at ~/.claude/projects/{project}/{session-id}.jsonl
  4. Search for "type":"thinking" blocks
  5. Expected: "thinking": "Let me analyze..." (populated text)
  6. Actual: "thinking": "" (empty string) with signature present

Empirical evidence

Same project, same user, same machine, sequential sessions across the version boundary:

| Version | Sessions | Thinking Blocks | Empty | Filled | Total Chars |
|---------|----------|----------------|-------|--------|-------------|
| 2.1.71 (Mar 8–9) | 18 | 307 | 0 | 307 | 541,788 |
| 2.1.72 (Mar 10) | 13 | 112 | 99 | 13 | 17,702 |

The 13 filled blocks on 2.1.72 are from a single early session (likely started before the update took effect). All subsequent sessions show 100% empty thinking blocks.

JSONL structure comparison

2.1.71 (content present):

{
  "type": "thinking",
  "thinking": "Let me read the session handoff and the session capture to understand where we left off.",
  "signature": "EoAC..."
}

2.1.72 (content missing):

{
  "type": "thinking",
  "thinking": "",
  "signature": "EosTCkYICxg..."
}

Note the signatures on 2.1.72 are longer than on 2.1.71, suggesting the thinking content may have been folded into the signature rather than stored in plaintext.

Impact

  • Session recovery/resume: Tools that extract thinking blocks from JSONL for context recovery now get empty strings
  • Verbose mode display: Related to #25980 — thinking content can't be displayed if it's not stored
  • Third-party tooling: Any tool reading JSONL transcripts (replay tools, analysis tools) loses thinking data

Environment

  • OS: Windows 11 Home 10.0.26200
  • Shell: Git Bash
  • Installation: npm global
  • Model: Claude Opus 4.6
  • Effort: default/auto

Related

  • #25980 — Verbose mode not displaying thinking blocks (display regression since 2.1.29)
  • #30660 — Stream extended thinking output in real-time
  • #22977 — Earlier thinking display regression (closed prematurely)

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗