Repository navigation
Chronicle memory writer should expose model and cost controls #26808
Description
Title: Chronicle memory writer should expose model/cost controls instead of always using expensive background models
Summary
Codex Chronicle / memory generation appears to consume a large amount of Codex quota in the background. On my machine, the Chronicle memory writer is launched with --model gpt-5.5 --ignore-user-config, which means changing my normal Codex default model does not seem to reduce its cost.
This makes the feature feel risky to keep enabled: quota can drop quickly even when I am not actively sending prompts, and the app UI does not make it obvious that Chronicle/memory generation is responsible.
Why this is a problem
Chronicle is useful, but memory writing is a background feature. It should not silently use one of the most expensive models without giving the user control.
For many users, a smaller model would be good enough for summarizing screen/OCR context into memories. If high-quality memory writing needs a larger model, that should be an explicit choice rather than the only behavior.
Local evidence
While Chronicle was running, I observed background memory writer processes like:
codex exec --ephemeral --ignore-user-config --model gpt-5.5 ... \
--config model_provider="openai-memgen" ... \
--config model_providers.openai-memgen.http_headers={ "X-OpenAI-Memgen-Request" = "true" } ... \
--cd $TMPDIR/chronicle/screen_recording -
I also observed a memory consolidation request shortly after quota reset:
model: gpt-5.4
cwd: ~/.codex/memories
total_usage_tokens: 143165
estimated_token_count: 138835
The output for that request said it completed incremental memory consolidation and updated:
~/.codex/memories/MEMORY.md
~/.codex/memories/memory_summary.md
This is consistent with the Chronicle docs saying background agents generate memories and currently consume rate limits quickly:
https://developers.openai.com/codex/memories/chronicle
Request
Please consider adding explicit controls for Chronicle / memory generation cost:
- Let users choose the Chronicle memory writer model, for example a cheaper mini/small model.
- Do not force
gpt-5.5with--ignore-user-configunless the user explicitly opts into that quality/cost level. - Show Chronicle/memory generation usage separately in the quota/usage UI.
- Add a daily or hourly quota cap for background memory generation.
- Provide a low-cost mode, for example "summarize less often" or "only generate memories while plugged in / manually triggered".
At minimum, users should be able to keep Chronicle enabled without unexpectedly burning a large fraction of their Codex quota.
Activity
lin-qian123 commentedon Jun 6, 2026
Additional point: this background Chronicle / memory-writer usage appears to consume the user's own Codex subscription quota. That makes the current behavior especially unreasonable: a background convenience feature can spend a large fraction of the user's paid quota without an explicit opt-in, without model selection, and without a clear usage breakdown in the UI. If the feature is billed against the user's subscription quota, users should at minimum be able to choose a cheaper model, set a background quota cap, or require manual memory generation.
github-actions commentedon Jun 6, 2026
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Necmttn commentedon Jun 22, 2026
I would make Chronicle usage a separate origin in the usage model, not just another Codex request. Useful fields: memory run id, trigger (
screen_capture,manual,consolidation, etc.), requested/effective model, token budget, cap policy, source directory, and whether it ignored user config.Then the UI can show "background memory writer spent X" and users can set a hard cap or cheaper model without disabling Chronicle entirely.
Generated with ax - https://github.com/Necmttn/ax
VelizarSeleznev commentedon Jul 22, 2026
Confirmed on Codex Desktop 26.715.72028 on macOS. With no explicit
memories.consolidation_model, a Chronicle 10-minute background summary session started with:The foreground Codex default was
gpt-5.6-sol, so Chronicle was clearly selecting its own expensive background default. For a high-volume, latency-insensitive summarization workload, defaulting togpt-5.6-lunaat medium reasoning (or another low-cost model) seems much more appropriate. A larger model could remain an explicit quality opt-in.As a local workaround, this configuration is accepted by the current build:
It would be helpful to expose this choice in the Chronicle UI and make the low-cost model the default.