Codex Desktop (macOS): Chronicle runs continuous background screen-recording summaries every 10 min, draining plan limits; disabling doesn't immediately stop capture
Component: Codex Desktop app (macOS) — Chronicle / SkyComputerUseService. This is a desktop-app behavior bug, not a model/API issue.
What happened
A Codex Desktop background feature — Chronicle — silently consumed a large share of my plan limits by recording my screen and generating summaries on a timer, with no action from me. In Codex Analytics this shows up as a large "Exec" surface (not "Desktop App"), which made it very hard to attribute — I do not run codex exec or any Codex CLI/CI/cron jobs.
After investigating locally, Chronicle is unambiguously the cause:
~/.codex/memories/extensions/chronicle/resources/contains 536 files, every one a*-10min-memory-summary.md.- Each summary is a ~4 KB vision-model narrative whose
## Citationssection references screen-recording frame JPEGs under/var/folders/.../T/chronicle/screen_recording/1min/.... - So the mechanism is: continuous 1-minute screen recording → a vision-model summary every 10 minutes, indefinitely, as a background "Exec" run.
Why this is a problem
- Unattributable usage. Background Chronicle runs are billed under "Exec," indistinguishable in Analytics from intentional CLI use. There is no per-feature breakdown showing "Chronicle consumed N tokens." <img width="1329" height="587" alt="Image" src="https://github.com/user-attachments/assets/e26189e4-1dec-48fb-9d55-c4a4fbd5baf8" />
- Volume scales with uptime, not work. Per-day summary counts on my machine:
| Date | Summaries |
|------|-----------|
| Jun 22 | 12 |
| Jun 23 | 108 |
| Jun 24 | 11 |
| Jun 25 | 1 |
| Jun 26 | 6 |
| Jun 27 | 121 |
| Jun 28 | 164 |
| Jun 29 | 113 |
These map directly onto the largest "Exec" spikes in my usage graph. On Jun 28 it ran in bursts (47 summaries in one hour, 45 the next) — well above the 6/hour a clean 10-minute cadence implies — suggesting backfill/catch-up that multiplies cost.
- It runs regardless of activity. Several summaries explicitly note "this window did not show coding work" yet still made a full vision-model call — i.e. it bills for idle/personal screen time.
- Privacy. Chronicle captures and summarizes all on-screen content (personal browsing, email, password-manager windows, etc.), not just the active project, and stores ~476 MB of screen frames locally in temp.
- Disabling
chroniclein config did not stop screen capture immediately. After setting[features] chronicle = falsein~/.codex/config.toml(17:30:36 local), screen frames continued to be written for ~18 minutes (last frame 17:48:48) before capture stopped. TheSkyComputerUseServicehelper process remained resident (idle) afterward. The lag plus the lingering process make it unclear to users whether the feature is actually off, and there is no in-app confirmation that capture has ceased. (Observed correlation; I have not isolated whether the config edit, a recording-chunk boundary, or app state is what ultimately stopped it.)
Environment
- Codex Desktop (macOS), bundle
com.openai.codex - Codex CLI present at
/opt/homebrew/bin/codex(v0.137.0) — not the source; all 189 local sessions reportoriginator: "Codex Desktop", zero CLI sessions ~/.codex/config.toml:model = "gpt-5.3-codex-spark"model_reasoning_effort = "xhigh"[features] chronicle,memories,multi_agent,hooks
Steps to reproduce
- Enable Chronicle in Codex Desktop and leave the app running.
- Use the machine normally (or leave it idle) for a few hours.
- Observe
~/.codex/memories/extensions/chronicle/resources/filling with10min-memory-summaryfiles, each citing screen frames. - Check Codex Analytics → "Exec" usage rises with no CLI/CI activity.
Expected behavior
- Chronicle's token consumption should be visible and attributed (its own line in usage analytics, or a running token/credit counter in the UI).
- It should be off by default, with an explicit, clearly-labeled opt-in that states it screen-records continuously and makes a model call every 10 minutes.
- Setting
chronicle = false(or toggling it off in the UI) should immediately stop screen capture and theSkyComputerUseServiceprocess — not just the summary loop. - It should not summarize windows with no project activity, and should respect a do-not-capture / pause control.
Requests
- Add per-feature usage attribution (especially Chronicle) to Codex Analytics.
- Make Chronicle opt-in with a clear cost/privacy disclosure.
- Ensure disabling Chronicle fully stops capture immediately, and document the exact off switch (incl. the macOS Screen Recording permission).
- Consider crediting back usage consumed by background Chronicle runs users did not knowingly enable.
I have local evidence (file listings, cadence histograms, a sample summary with frame citations) and can share redacted versions on request.
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗