Skip to content

App UI gets extremely slow and laggy during long sessions #11984

Closed

Description

@BlueBlazin

What version of the Codex App are you using (From “About Codex” dialog)?

26.212.1823 (661)

What subscription do you have?

Pro

What platform is your computer?

Darwin 25.2.0 arm64 arm

What issue are you seeing?

The electron UI is reacting very poorly to long running sessions with high number of outputs generated and stored.

In my case, the UI starts to get slow and laggy when the renderer process has consumed about 4GB of RAM and becomes really unresponsive at 5GB+ (which shouldn't be difficult for my 64GB macbook pro to handle).

What steps can reproduce the bug?

Keep using codex without restarting the app until Codex Helper (Renderer) shows 5GB+ memory usage on a 64GB unified memory macbook pro.

What is the expected behavior?

The UI shouldn't become slow, laggy, and at times unresponsive.

Additional information

This issue will only be exacerbated as models get better and are expected to work for longer, so I hope it is given higher priority.

Activity

  1. added
    appIssues related to the Codex desktop app
    on Feb 17, 2026
  2. github-actions commented on Feb 17, 2026

    @github-actions
    Contributor
  3. michaeltyson commented on Feb 18, 2026

    @michaeltyson

    I’m seeing what appears to be a related issue within the VS Code/Cursor extension, but triggered specifically when switching between long-running conversations.

    In my case, the slowdown does not only occur after extended uptime. It happens immediately when selecting a large conversation from the sidebar. The extension appears to load and render the entire transcript at once, which blocks the UI thread for 10–30 seconds on sufficiently long sessions.

    By contrast, Cursor’s native chat UI progressively hydrates older messages as you scroll, which avoids blocking the interface.

    Observed behavior:

    • Switching to a long session causes a visible UI freeze.
    • CPU spikes during the load.
    • The interface becomes unresponsive until the full transcript is rendered.

    This suggests that the extension may be deserializing and rendering the entire conversation synchronously instead of using virtualization or incremental loading.

    If that’s the case, implementing:

    • Message virtualization,
    • Lazy loading on scroll,
    • Or chunked/background hydration

    would likely eliminate the blocking behavior and prevent the renderer memory growth from compounding over time.

    Happy to provide additional reproduction details if helpful.

  4. peteromallet commented on Feb 18, 2026

    @peteromallet

    I'm experiencing this too on a 16GB Macbook pro, had thought it might be my RAM but apparently now

  5. etraut-openai commented on Feb 24, 2026

    @etraut-openai
    Contributor

    Are you still seeing this behavior with the latest version of the app? We've made a number of performance improvements in the last week.

  6. AMilassin commented on Feb 24, 2026

    @AMilassin

    Maybe those updates made it worse? 26.217.1959. Since like Friday my Codex App (M1, 32GB) is unusable. Like 5-10 seconds to switch threads.

    • reinstalled
    • nuked .codex/
    • nuked .../Library/Application Support/Codex/
    • open -na /Applications/Codex.app --args --disable-gpu. does not even start
    • disconnected monitors

    Still super slow. back to codex cli.

  7. peteromallet commented on Feb 24, 2026

    @peteromallet

    Maybe those updates made it worse? 26.217.1959. Since like Friday my Codex App (M1, 32GB) is unusable. Like 5-10 seconds to switch threads.

    • reinstalled
    • nuked .codex/
    • nuked .../Library/Application Support/Codex/
    • open -na /Applications/Codex.app --args --disable-gpu. does not even start
    • disconnected monitors

    Still super slow. back to codex cli.

    Similar for me also

  8. BlueBlazin commented on Feb 25, 2026

    @BlueBlazin
    Author

    @etraut-openai I now regularly restart the app since I posted this so I don't know if it's still as bad. But what I can report is that I have been working on the same project for 3 weeks now, and Codex briefly consumes more than 6GB RAM after startup and opening the thread before decreasing to ~600MB. I have been watching as this initial RAM usage has gone up from 4gb to 5gb to now over 6gb.

    I think you guys need to fundamentally rethink how you are handling long threads as this is not feasible long term.

  9. etraut-openai commented on Feb 25, 2026

    @etraut-openai
    Contributor

    @BlueBlazin, when you say you've been using the "same project" for three weeks, do you mean you've been using the same thread that entire time? If so, why? We recommend creating a new thread for each task you want to perform. For example, I create many dozens of new threads every day within the same project.

  10. BlueBlazin commented on Feb 25, 2026

    @BlueBlazin
    Author

    @etraut-openai Good question. I guess... I didn't know better? Will some of my context carry over when I make a new thread?

  11. etraut-openai commented on Feb 25, 2026

    @etraut-openai
    Contributor

    @BlueBlazin, the context doesn't carry over to the next thread, but that's fine. The agent will quickly establish the context it needs for the next task. If you keep using the same thread, the context will get diluted through compactions anyway. It's better to start fresh. Not only will you see much better performance, the model will also be more effective because it won't be distracted by all of the context from past tasks.

    This is a good insight. It's likely that other Codex users are making similar assumptions about using the same thread for many tasks. That would explain many performance issues and other error conditions that we're hearing about. We should do a better job directing users to create a new thread for each task.

  12. BlueBlazin commented on Feb 25, 2026

    @BlueBlazin
    Author

    Thanks! I'll give it a try and see if it improves agent output.

  13. BlueBlazin commented on Feb 25, 2026

    @BlueBlazin
    Author

    An interesting change I've noticed immediately. In my extremely long thread the model had stopped 'vocalizing' thoughts completely.

    But now in the new thread it's back to outputting things it is currently working on, e.g.: I’ll derive this from the project’s ... or I found dedicated baseline/checklist docs and.... So in my old thread it would just quietly do its thing and only at the end of a round (at least that's what I call it) would it output what was done.

  14. BlueBlazin commented on Feb 26, 2026

    @BlueBlazin
    Author

    @etraut-openai An update on your suggestion. Even with a new thread, right now Codex has been working on the same problem I gave it for 8+ hours and in that time RAM usage has gone to 2.9 GB. So even if I create a new thread for the next task once this run ends, I'm still experiencing performance issues from this single run.

  15. 4 remaining items

  16. ivanovandrewx commented on Mar 16, 2026

    @ivanovandrewx

    Same issue. Codex app barely useable now, with no parallel threads and MacBook Air M2 16gb. The UI is just freezing.

  17. lyyuexiaoxiang415-lgtm commented on Mar 17, 2026

    @lyyuexiaoxiang415-lgtm

    IGNORE: diagnostic comment from tooling

  18. wbdb commented on Mar 19, 2026

    @wbdb

    Are you still seeing this behavior with the latest version of the app? We've made a number of performance improvements in the last week.

    @etraut-openai Yes! The version of Windows is also affected. Approximately 700–800 MB of RAM (25 GB free). However, switching between threads takes 3–8 seconds. #11011 (comment)

    I start a new thread for almost every task, so that’s not the problem.

  19. juanlla commented on Mar 19, 2026

    @juanlla

    Same issue here. Started happening after I installed a new update today.

  20. timwedde commented on Mar 30, 2026

    @timwedde

    Same here. Startup takes over a minute (!) before the app becomes properly interactive. Animations lag during this time and it says 'Model Loading' at the bottom. The app consumes 100% of a single core during this entire time.
    After this initial startup, interacting with threads and switching is reasonably fast, but this doesn't feel right for startup performance.
    M1 Ultra Mac Studio, so my CPU isn't that bad, either.

  21. KiaArmani commented on Apr 2, 2026

    @KiaArmani

    Codex Desktop App is basically unusable for me at this point. When it is running, explorer.exe starts hanging eventually and the entire PC becomes unresponsive until I close Codex. Memory usage eventually jumps to hundreds of GBs.

  22. xingwangyong commented on Apr 8, 2026

    @xingwangyong

    For me, the startup of codex windows app is extremely slow, usually takes more than 5 minutes to load.

  23. zmts commented on Apr 18, 2026

    @zmts

    Have same on Tahoe 26.2 Apple M1 Max 32GB.
    Downgrade to Version 26.409.20454 (1462) solves issue. Hope OpenAI will resolve it in las updates

  24. squarepots commented on Apr 30, 2026

    @squarepots

    Same on Windows.

  25. oxysoft commented on May 9, 2026

    @oxysoft

    For anyone interested in the CLI TUI side of this: #21945 traces the equivalent root cause in the Rust TUI renderer (codex-rs/tui/). The transcript overlay (Ctrl+T) has the same architectural problem — O(n) full-session rebuild with no virtualization, no height caching, and full markdown re-parse per cell on every overlay open and width change. Different renderer, same disease.

  26. rdylina commented on May 10, 2026

    @rdylina

    +1 on a recent version: Codex Desktop 26.506.31421 became very slow after opening giant local histories. In my case it was not just renderer DOM growth: app-server built/resumed huge state from an 825MB rollout (~4.5GB RSS, 252s thread/resume) and attempted a 405MB IPC state broadcast. Long-session UI performance needs bounded history hydration, not only UI virtualization.

  27. rdylina commented on May 10, 2026

    @rdylina

    Follow-up / PR offer: I read the contribution docs and understand external PRs are invitation-only. If the team thinks this direction fits, I’d be happy to take a stab at an invited PR for the open-source app-server side.

    Conceptually, the fix I’d propose is:

    • in no case should opening a thread load the entire transcript into app-server + client state
    • open threads from metadata + the latest tail only, roughly the most recent 100-200 messages or a small byte cap, whichever comes first
    • lazy-load older chunks only when the user scrolls upward / explicitly asks for them
    • compact or summarize the old head for model context instead of treating the full durable transcript as active state
    • keep large tool outputs/artifacts behind references, not inline in normal thread state
    • add hard byte/count limits so thread/read, thread/resume, and stream-state snapshots cannot produce 100MB+ payloads
    • document that Desktop/IDE clients should use paged turns/items and never full-hydrate a completed thread just because it was clicked

    The desktop side still needs closed-code changes, but the app-server can provide the safe bounded contract and fail gracefully when a client asks for full hydration of an oversized rollout.

  28. Dirard commented on Jun 22, 2026

    @Dirard
  29. ljx2 commented on Jun 23, 2026

    @ljx2

    Codex is too laggy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions