Repository navigation
Chronicle background captures consume quota with no attribution in any usage surface (repro script included) #42282
Description
What version of the Codex App are you using (From “About Codex” dialog)?
26.825.51511
What subscription do you have?
Plus (was Pro until Aug 23, 2026)
What platform is your computer?
Darwin 25.5.0 arm64 (macOS 26.x, Apple Silicon)
What issue are you seeing?
The Chronicle research preview captures display frames in the background and
periodically summarizes them via codex exec sessions. Those sessions consume
the account's rate-limited quota, but they do not appear in any usage surface
available to the user:
- not in Settings → Usage
- not in per-conversation usage breakdowns / "Top consuming chats"
- not in any local token record (no rows in the threads table, no rollout
files, nothing under the chronicle temp directory)
The result is quota consumption that cannot be attributed by the person paying
for it. Over the 8 days still retained in my local logs, this accounted for
82,791 captured frames and 6,002 background summary sessions. Local artifacts
indicate the pipeline had been running since at least June 21, 2026.
Two secondary observations:
-
The settings page that controls this feature is only reachable while the
feature is enabled. After disabling it, the page is no longer present, so a
user who suspects it cannot go back and confirm its state from the UI. -
Consent persists across app updates.
chronicle-consent-acceptedremained
true in global state, and the capture process started automatically after an
update without re-prompting.
I want to be precise about what is and is not being reported here. The token
cost WAS disclosed — the Chronicle documentation had a "Rate limits" section
stating these agents "consume rate limits quickly." This report is not about
disclosure. It is about attribution: once running, there is no surface, local
or remote, where a user can see that this specific feature is what consumed
their quota.
What steps can reproduce the bug?
- Enable the Chronicle research preview (ChatGPT desktop, macOS).
- Leave the app open and do not send any prompts.
- Observe in ~/Library/Logs/com.openai.codex/YYYY/MM/DD/:
grep -c 'wrote sparse memory frame' → frames captured
grep -c 'starting codex exec summary session' → background model calls - Sample GET /backend-api/wham/usage before and after a 30-minute idle period.
used_percent increases with no user-initiated activity. - Compare against Settings → Usage for the same window: the consumption from
step 3 is not attributable to any listed item.
A read-only script that performs steps 3–4 and reports the counts:
https://github.com/hankwangtw/chronicle-quota-check
What is the expected behavior?
Any feature that consumes rate-limited quota should be attributable in a usage
surface the account holder can read — ideally a per-feature line item, at
minimum an aggregate "background activity" bucket that is visibly non-zero.
Without that, a user who notices quota disappearing has no path to a diagnosis:
they cannot tell background summarization apart from delayed accounting, from a
stuck task, or from unauthorized access to their account.
Additional information
Full write-up with the controlled on/off comparison, the 70-day timeline and raw logs: https://machblink.com/chronicle
This may explain some of the macOS idle-drain reports in #30525 and #31165,
and it overlaps with the attribution request in #41617.
Earlier reports of the same mechanism: #23124, #26808, #27773.
Note on the August 24 fixes: those addressed high p95 usage in Computer
History, the rebuilt successor to Chronicle. On this machine the older
Chronicle screenshot pipeline was still running as of August 30, seventeen
days after Computer History shipped, which suggests the migration does not
always take effect on existing installations.
I also raised this through the help center support flow on August 26 and 28.
The conversation was escalated on August 28 with a note that a reply would
follow within a few days; as of this writing none has arrived. Full transcript
available if useful.
Disabling the feature stopped the consumption immediately and it has not
resumed (measured: quota at 0% used across consecutive 10-minute samples with
the app open and no user activity).
Activity
README: link formal report openai/codex#42282; drop non-macOS refs
github-actions commentedon Sep 2, 2026
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
hankwangtw commentedon Sep 2, 2026
Not a duplicate, but related: #41617 asks for per-feature attribution in general. This issue documents one specific unattributed consumer (Chronicle), with measured counts and a read-only reproduction script, so the two are complementary. Cross-referenced in the body above.
hanfeng1024 commentedon Sep 16, 2026
Quota drains while completely idle — independent reproduction (Plus, Codex Desktop 151.0.7922.170, macOS arm64)
Confirming the idle quota drain on a separate machine/account. My 5-hour and weekly quotas kept decreasing for hours with zero tasks running, and continued decreasing even after the 5-hour window reset.
Counts from
~/Library/Logs/com.openai.codex/YYYY/MM/DD/wrote sparse memory framestarting codex exec summary sessionControlled idle window. On Sep 14, 11:01–11:21 local, zero user activity: the 5-hour quota dropped 83% → 74% and the weekly quota 96% → 94% (timestamped screenshots: 11:01 = 83%/96%, 11:10 = 79%/95%, 11:11 = 78%/95%, 11:21 = 74%/94%). The log for that exact window shows two background summary sessions (11:07 and 11:17 local), with matching
*-10min-memory-summary.mdoutputs inresources/. This rules out "delayed accounting" as a full explanation — the drain correlates 1:1 with background sessions firing during the idle window.The drain continues after quota exhaustion. Normal cadence is one summary session per ~10 min (max ~144/day). Sep 14 shows 908 starts: a clean ~10-min cadence until 16:38 local, then 4–9 session starts per minute for hours, alongside 966 "usage limit" log lines. The background loop kept firing after the quota was gone instead of backing off — consistent with why the meter kept dropping across 5-hour window resets.
No attribution. Across those 3 days,
~/.codex/sessions/contains exactly 4 user-initiated rollout files. The 1,400+ background sessions appear in no user-visible usage surface (not Settings → Usage, not per-chat breakdowns, not local rollouts). As a paying user I had no way to attribute this consumption other than grepping app logs.Setting
chronicle = false/memories = falseand fully quitting the app stopped it; frame count verified flat across repeated samples since.Asks
Raw logs available privately via my existing support case.