Codex stuck on loading/logo screen in the sidebar
Open 💬 6 comments Opened Jun 3, 2026 by cmpj-21
💡 Likely answer: A maintainer (github-actions[bot], contributor)
responded on this thread — see the highlighted reply below.
What version of the IDE extension are you using?
26.601.21317
What subscription do you have?
free plan
Which IDE are you using?
VS Code
What platform is your computer?
Windows
What issue are you seeing?
<img width="1920" height="1080" alt="Image" src="https://github.com/user-attachments/assets/aa79bce7-8c6b-4a12-8de4-c1b4187fbfb4" />
What steps can reproduce the bug?
when opening the codex sidebar, you see stuck loading screen.
What is the expected behavior?
normally, it should just load for a quick moment and show the sessions history and the prompt field at the bottom and stuff
Additional information
_No response_
6 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
I was facing the same issue in VS Code where the Codex sidebar/chat panel was getting stuck on the logo/loading screen after opening. In my case, the issue was most likely caused by a conflict with another AI-related VS Code extension.
After checking my extensions, I disabled other AI assistant extensions, especially Amazon Q, and then restarted VS Code. After disabling that conflicting extension, the Codex chat panel started working properly again.
Possible fix:
Open VS Code Extensions panel.
Disable other AI/chat assistant extensions temporarily, such as Amazon Q or similar tools.
Restart VS Code.
Open the Codex sidebar/chat panel again.
This worked for me, so the issue may be related to an extension conflict rather than Codex itself. It may be helpful to test Codex with only the required extension enabled.
Root cause found (Linux): renderer hits the default 1024 open-file limit while loading ~5000 webview chunks
TL;DR: On Linux desktops, VS Code's renderer process inherits the session's default soft file-descriptor limit (
ulimit -n= 1024). The Codex extension's webview now ships ~4,900 asset chunks (webview/assets/, v26.5707.31428) that are fetched in a large concurrent burst at startup. Once the fd budget is exhausted, the webview service worker rejects every remaining request with a network error, the app bundle never executes, and the sidebar sits forever on the static startup-loader logo — with no user-visible error. Raising the limit fixes it instantly.Environment
~/.codex, same auth)Symptoms (matches this issue, #7150, #15975, #11046)
[CodexMcpConnection] Initialize received id=1Diagnosis
Everything backend-side was verified healthy by driving the bundled binary manually (
codex app-server+ JSON-RPC:initialize,account/read,model/list,thread/list,thread/startincl. theresponses_websockettransport — all instant).Webview DevTools console showed the smoking gun — hundreds of:
Process limits confirmed it (
/proc/<pid>/limits):| VS Code process | Max open files (soft) |
|---|---|
| main / utility (network, exthost) | 524288 |
| gpu-process | 16384 |
| zygote / renderer (runs webviews) | 1024 |
webview/assets/in 26.5707.31428 contains 4,936 files; the startup import graph requests thousands of them concurrently through the webview service worker →net::ERR_INSUFFICIENT_RESOURCESonce the renderer runs out of descriptors.This also explains why the regression appeared "out of nowhere" for users: the chunk count has grown across releases, and each install starts failing once it crosses the ~1024 budget of a default Linux desktop session — independent of the extension version being (re)installed.
Workaround for affected users (Linux)
Immediate test:
Permanent (no root needed), covers launches from the dock/launcher after re-login:
Verified: with the raised limit the sidebar loads instantly; with 1024 it reproduces 100% of the time.
Suggestions for the maintainers
ulimitrequirement for Linux until then.Confirmed on Ubuntu 24.04: desktop launcher limit causes a 100% startup failure
I independently reproduced and diagnosed this on:
.debinstallation)26.707.41301Controlled results
| Launch method | Renderer
Max open files| Codex result || --- | ---: | --- |
| Normal application icon | 1024 soft | 0/5 successful; stuck on the ChatGPT/Codex logo every time |
|
ulimit -n 65536; code --new-window| raised | 5/5 successful || User-level desktop launcher wrapper | 65536 soft/hard | 5/5 successful |
The Codex web app and Codex CLI continued to work while the VS Code extension was stuck, so this was not an account, authentication, network, or backend outage.
Direct evidence from the failed webview
The VS Code webview threw:
for this startup chunk:
The file on disk was valid and complete:
The response stored by the VS Code webview service worker in
vscode-resource-cache-5was truncated mid-token:VS Code's workbench console also reported
potential listener LEAKfromfileService.readFileStream/ webview resource loading. ClearingLocal Storage,Session Storage,Service Worker, andWebStoragedid not fix the problem: the bad resource state was regenerated immediately while the renderer limit remained 1024.Immediate workaround
Fully quit VS Code, then launch it from a terminal:
Tested user-level desktop launcher workaround (
.debinstall)Create
~/.local/bin/code-high-nofile:Make it executable:
Copy
/usr/share/applications/code.desktopto~/.local/share/applications/code.desktop, then change bothExec=entries to:and for the
new-empty-windowdesktop action:Finally refresh the user desktop database:
After this change, every VS Code main, zygote, renderer, GPU, and utility process had a 65536 soft/hard open-file limit, and the Codex sidebar opened successfully in all five repeated tests from the normal application icon.
This confirms the failure is deterministic for this environment and that raising the renderer's inherited file-descriptor limit resolves it. A product-side fix should still throttle/consolidate the initial webview resource burst, raise the renderer limit, and show a visible bootstrap error instead of leaving the user on an infinite logo screen.
@maolibu Man, you are our savior. This problem surfaced a few months ago and it was getting progressively worse, to the point that I couldn't load the extension at all. I suspect it's vibe coded and the devs don't even know what's going on; probably no human reads these issues either. We are on our own. It's grim really.
Your settings totally work, except the user.conf hack does nothing on my Ubuntu 24.04. Here is the snippet (thanks ChatGPT) that did the job permanently (sudo + reboot required):
```# 1. systemd system manager defaults:
affects system services such as ssh.service, getty@.service, display managers, etc.
sudo install -d -m 0755 /etc/systemd/system.conf.d
sudo tee /etc/systemd/system.conf.d/90-nofile.conf >/dev/null <<'EOF'
[Manager]
DefaultLimitNOFILE=65535:524288
EOF
2. Raise the per-user systemd manager itself:
affects systemd --user managers started as user@UID.service
sudo install -d -m 0755 /etc/systemd/system/user@.service.d
sudo tee /etc/systemd/system/user@.service.d/90-nofile.conf >/dev/null <<'EOF'
[Service]
LimitNOFILE=65535:524288
EOF
3. Defaults for units started by systemd --user:
sudo install -d -m 0755 /etc/systemd/user.conf.d
sudo tee /etc/systemd/user.conf.d/90-nofile.conf >/dev/null <<'EOF'
[Manager]
DefaultLimitNOFILE=65535:524288
EOF
4. PAM login sessions:
affects login shells where pam_limits.so is used: ssh, login, sudo/su depending on PAM config
sudo install -d -m 0755 /etc/security/limits.d
sudo tee /etc/security/limits.d/90-nofile.conf >/dev/null <<'EOF'
root soft nofile 65535
root hard nofile 524288
EOF
can confirm this fixed it for me.
ulimit -n 65536works. Am running ubuntu 26.04 and was getting this problem.edit: nevermind, didnt work. Codex for vscode on Linux is completely broken. really annoying.