Back to Overview

Re-Read Rate

Agent Behavior

· 47 PRs with data in past 30d (118 total)

Count
47
Average
2.36
↓ 0.14 vs prior 30d
P10
1.09
↓ 0.10 vs prior 30d
P50
2.46
↓ 0.17 vs prior 30d
P90
3.60
↓ 0.05 vs prior 30d

Trend

Distribution

0.5–1.0
4
1.0–1.5
9
1.5–2.0
4
2.0–2.5
8
2.5–3.0
8
3.0–3.5
7
3.5–4.0
7

Notable PRs

Highest
#238Refactor test fixtures to factories3.79
#179Optimize GraphQL resolver N+13.79
#160Add dark mode support to settings3.78
Lowest
#127Fix i18n pluralization rules0.85
#212Optimize database query for dashboard0.86
#124Fix OAuth token refresh flow0.95

About This Metric

Re-Read Rate

What It Measures

The ratio of total file reads to unique files read across sessions correlated to a PR. A value of 1.0 means every file was read exactly once; higher values indicate files were read multiple times.

Why It Matters

When the model re-reads the same file multiple times in a session, it typically means one of: the file is too large to retain in context, the model lost track of information it read earlier, or the task required revisiting the same code repeatedly.

Re-reading burns tokens without adding new information. While some re-reading is normal (checking a file after modifying it), excessive re-reading suggests the model's context management could be improved — for instance, by providing better summaries in CLAUDE.md, using partial reads with offset/limit, or keeping files smaller.

How It's Calculated

re_read_rate = total_file_reads / unique_files_read

Where total_file_reads counts every Read tool invocation and unique_files_read counts distinct file paths read (already tracked as files_read_count). Summed across all correlated sessions. Returns null if no files were read.

Data Sources Required

  • Claude Code session data — Count of Read tool invocations (total) and unique file paths read.