What version of the Codex App are you using (From “About Codex” dialog)?
Version 26.506.31421 (2620)
What subscription do you have?
Pro
What platform is your computer?
Darwin 25.4.0 arm64 arm
What issue are you seeing?
Summary
The Codex desktop app becomes noticeably choppy when the profile's session history contains a session JSONL with a very large user message. The most visible symptom is that dragging the Codex pet becomes stuttery/choppy.
This appears tied to the Codex app processing session history, not to the display configuration, GPU state, or the app binary itself.
Environment
- macOS on Apple Silicon
- External display at 5K / 60 Hz
- Codex App launched from /Applications/Codex.app
- Session JSONL metadata reports CLI version: 0.130.0
Impact
Live app interactions become less responsive even though the large session is historical and not the active conversation. A clean or trimmed profile is smooth; adding back the relevant session history makes the app choppy again.
What steps can reproduce the bug?
I isolated this with non-destructive CODEX_HOME copies.
Launch command used for each test profile:
open -n -F --env "CODEX_HOME=/path/to/test-profile" /Applications/Codex.app
Observed results:
- Clean temporary CODEX_HOME: smooth
- Full copied real profile: choppy
- Trimmed profile excluding sessions/: smooth
- Trimmed profile plus only logs/state SQLite files: smooth
- Trimmed profile plus sessions/: choppy
- Trimmed profile plus one specific historical session JSONL: slightly choppy
- Same single session JSONL, but with the huge user-message fields replaced by short placeholders: smooth
The single reproducing JSONL was about 516 KB with 28 JSONL records. It contained one private user message of length 185,525 characters, duplicated in two records:
- line 6: response_item, payload.type = "message", role = "user", payload.content[0].text.length = 185525
- line 7: event_msg, payload.type = "user_message", payload.message.length = 185525
A synthetic reproducer should likely be enough:
- Start from a clean CODEX_HOME.
- Add a session JSONL under sessions/YYYY/MM/DD/ with normal session metadata and a user message around 185k characters.
- Store the same large text in both a response_item user message field and an event_msg user_message field, matching the current session log structure.
- Launch Codex App with that CODEX_HOME.
- Drag the Codex pet and compare responsiveness against the clean CODEX_HOME.
Uploaded thread for additional context: dde817eb-024c-47fd-9cae-43e6c5e8b79a
What is the expected behavior?
Large historical session messages should not affect unrelated live UI interactions such as dragging the Codex pet.
Session history parsing/rendering/indexing should be bounded, lazy, virtualized, off-main-thread, or otherwise isolated from input and animation responsiveness.
Additional information
No response
What version of the Codex App are you using (From “About Codex” dialog)?
Version 26.506.31421 (2620)
What subscription do you have?
Pro
What platform is your computer?
Darwin 25.4.0 arm64 arm
What issue are you seeing?
Summary
The Codex desktop app becomes noticeably choppy when the profile's session history contains a session JSONL with a very large user message. The most visible symptom is that dragging the Codex pet becomes stuttery/choppy.
This appears tied to the Codex app processing session history, not to the display configuration, GPU state, or the app binary itself.
Environment
Impact
Live app interactions become less responsive even though the large session is historical and not the active conversation. A clean or trimmed profile is smooth; adding back the relevant session history makes the app choppy again.
What steps can reproduce the bug?
I isolated this with non-destructive CODEX_HOME copies.
Launch command used for each test profile:
open -n -F --env "CODEX_HOME=/path/to/test-profile" /Applications/Codex.appObserved results:
The single reproducing JSONL was about 516 KB with 28 JSONL records. It contained one private user message of length 185,525 characters, duplicated in two records:
A synthetic reproducer should likely be enough:
Uploaded thread for additional context: dde817eb-024c-47fd-9cae-43e6c5e8b79a
What is the expected behavior?
Large historical session messages should not affect unrelated live UI interactions such as dragging the Codex pet.
Session history parsing/rendering/indexing should be bounded, lazy, virtualized, off-main-thread, or otherwise isolated from input and animation responsiveness.
Additional information
No response