Chronicle – Codex (6 minute read)
OpenAI's Chronicle feature for ChatGPT Pro on macOS captures screen content to help Codex remember your work context, but introduces privacy and prompt injection risks.
Deep dive
- Chronicle runs sandboxed background agents that periodically capture screenshots and use OCR to extract text, then summarize recent activity into markdown memory files stored locally
- Screen captures are ephemeral and deleted after 6 hours, stored temporarily under $TMPDIR/chronicle/screen_recording/, while generated memories persist under ~/.codex/memories_extensions/chronicle/
- Screenshots are processed on OpenAI servers to generate memories but are not stored there permanently (unless required by law) and are not used for training
- The generated memories themselves may be included in future Codex sessions and could be used for model training if allowed in ChatGPT settings
- Chronicle helps Codex understand what you're currently viewing, identify relevant sources like files or Slack threads to read directly, and learn your preferred tools and workflows over time
- The feature consumes rate limits quickly due to the background agent activity required for memory generation
- Prompt injection risk increases because malicious instructions visible on screen (like on websites) could be followed by Codex when it processes that context
- Memories are stored as unencrypted markdown files that can be manually read, edited, or deleted, and other programs on your computer can access these files
- Chronicle requires macOS Screen Recording and Accessibility permissions, and can be paused via the Codex menu bar icon or fully disabled in Settings
- Currently limited to ChatGPT Pro subscribers on macOS and not available in EU, UK, or Switzerland
- Users should pause Chronicle before meetings or when viewing sensitive content they don't want remembered, and be aware others may not have consented to being recorded
- The consolidation_model configuration setting controls which model generates Chronicle memories, defaulting to your main Codex model
Decoder
- Codex: OpenAI's AI assistant application for macOS, part of ChatGPT Pro
- Chronicle: The screen capture feature that builds contextual memories from what appears on your screen
- Prompt injection: A security vulnerability where malicious instructions in consumed content (like text on a website) can manipulate the AI's behavior
- OCR (Optical Character Recognition): Technology that extracts text from images or screenshots
- Ephemeral: Temporary data that is automatically deleted after a set time period
- Sandboxed agents: Background processes that run in isolated environments with restricted permissions
- Rate limits: Restrictions on how many API calls or operations can be performed within a time period
Original article
Chronicle is in an opt-in research preview. It is only available for ChatGPT Pro subscribers on macOS, and is not yet available in the EU, UK and Switzerland. Please review the Privacy and Security section for details and to understand the current risks before enabling.
Chronicle augments Codex memories with context from your screen. When you prompt Codex, those memories can help it understand what you've been working on with less need for you to restate context.
Chronicle is available as an opt-in research preview in the Codex app on macOS. It requires macOS Screen Recording and Accessibility permissions. Before enabling, be aware that Chronicle uses rate limits quickly, increases risk of prompt injection, and stores memories unencrypted on your device.
How Chronicle helps
We've designed Chronicle to reduce the amount of context you have to restate when you work with Codex. By using recent screen context to improve memory building, Chronicle can help Codex understand what you're referring to, identify the right source to use, and pick up on the tools and workflows you rely on.
Use what's on screen
With Chronicle Codex can understand what you are currently looking at, saving you time and context switching.
Fill in missing context
No need to carefully craft your context and start from zero. Chronicle lets Codex fill in the gaps in your context.
Remember tools and workflows
No need to explain to Codex which tools to use to perform your work. Codex learns as you work to save you time in the long run.
In these cases, Codex uses Chronicle to provide additional context. When another source is better for the job, such as reading the specific file, Slack thread, Google Doc, dashboard, or pull request, Codex uses Chronicle to identify the source and then use that source directly.
Enable Chronicle
- Open Settings in the Codex app.
- Go to Personalization and make sure Memories is enabled.
- Turn on Chronicle below the Memories setting.
- Review the consent dialog and choose Continue.
- Grant macOS Screen Recording and Accessibility permissions when prompted.
- When setup completes, choose Try it out or start a new thread.
If macOS reports that Screen Recording or Accessibility permission is denied, open System Settings > Privacy & Security > Screen Recording or Accessibility and enable Codex. If a permission is restricted by macOS or your organization, Chronicle will start after the restriction is removed and Codex receives the required permission.
Pause or disable Chronicle at any time
You control when Chronicle generates memories using screen context. Use the Codex menu bar icon to choose Pause Chronicle or Resume Chronicle. Pause Chronicle before meetings or when viewing sensitive content that you do not want Codex to use as context. To disable Chronicle, return to Settings > Personalization > Memories and turn off Chronicle.
You can also control whether memories are used in a given thread.
Rate limits
Chronicle works by running sandboxed agents in the background to generate memories from captured screen images. These agents currently consume rate limits quickly.
Privacy and security
Chronicle uses screen captures, which can include sensitive information visible on your screen. It does not have access to your microphone or system audio. Don't use Chronicle to record meetings or communications with others without their consent. Pause Chronicle when viewing content you do not want remembered in memories.
Where does Chronicle store my data?
Screen captures are ephemeral and will only be saved temporarily on your computer. Temporary screen capture files may appear under $TMPDIR/chronicle/screen_recording/ while Chronicle is running. Screen captures that are older than 6 hours will be deleted while Chronicle is running.
The memories that Chronicle generates are just like other Codex memories: unencrypted markdown files that you can read and modify if needed. You can also ask Codex to search them. If you want to have Codex forget something you can delete the respective file inside the folder or selectively edit the markdown files to remove the information you'd like to remove. You should not manually add new information. The generated Chronicle memories are stored locally on your computer under $CODEX_HOME/memories_extensions/chronicle/ (typically ~/.codex/memories_extensions/chronicle).
Both directories for your screen captures and memories might contain sensitive information. Make sure you do not share content with others, and be aware that other programs on your computer can also access these files.
What data gets shared with OpenAI?
Chronicle captures screen context locally, then periodically uses Codex to summarize recent activity into memories. To generate those memories, Chronicle starts an ephemeral Codex session with access to this screen context. That session may process selected screenshot frames, OCR text extracted from screenshots, timing information, and local file paths for the relevant time window.
Screen captures used for memory generation are stored temporarily on your device. They are processed on our servers to generate memories, which are then stored locally on device. We do not store the screenshots on our servers after processing unless required by law, and do not use them for training.
The generated memories are Markdown files stored locally under $CODEX_HOME/memories_extensions/chronicle/. When Codex uses memories in a future session, relevant memory contents may be included as context for that session, and may be used to improve our models if allowed in your ChatGPT settings.
Prompt injection risk
Using Chronicle increases risk to prompt injection attacks from screen content. For instance, if you browse a site with malicious agent instructions, Codex may follow those instructions.
Troubleshooting
How do I enable Chronicle?
If you do not see the Chronicle setting, make sure you are using a Codex app build that includes Chronicle and that you have Memories enabled inside Settings > Personalization.
Chronicle is currently only available for ChatGPT Pro subscribers on macOS. Chronicle is not available in the EU, UK and Switzerland.
If setup does not complete:
- Confirm that Codex has Screen Recording and Accessibility permissions.
- Quit and reopen the Codex app.
- Open Settings > Personalization and check the Chronicle status.
Which model is used for generating the Chronicle memories?
Chronicle uses the same model as your other Memories. If you did not configure a specific model it uses your default Codex model. To choose a specific model, update the consolidation_model in your configuration.
[memories]
consolidation_model = "gpt-5.4-mini"