Codex VScode extension not loading previous conversation
Open 💬 13 comments Opened Apr 25, 2026 by johnolusetire
💡 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.422.30944
What subscription do you have?
Plus
Which IDE are you using?
VS Code (server)
What platform is your computer?
Linux 4.18.0-553.33.1.el8_10.x86_64 x86_64 x86_64
What issue are you seeing?
Codex never loads my previous conversations.
The logs i get whenver i open a previous conversation
2026-04-24 21:09:49.454 [warning] [IpcClient] Received broadcast but no handler is configured method=query-cache-invalidate
2026-04-24 21:09:49.882 [warning] [CodexMcpConnection] cli: message="sqlx::query: slow statement: execution time exceeded alert threshold summary=\"SELECT version, checksum FROM …\" db.statement=\"\\n\\nSELECT version, checksum FROM _sqlx_migrations ORDER BY version\\n\" rows_affected=0 rows_returned=2 elapsed=5.117696881s elapsed_secs=5.117696881 slow_threshold=1s"
2026-04-24 21:09:49.888 [warning] [CodexMcpConnection] cli: message="sqlx::query: slow statement: execution time exceeded alert threshold summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.121098009s elapsed_secs=5.121098009 slow_threshold=1s"
2026-04-24 21:09:49.899 [error] [CodexMcpConnection] cli: message="2026-04-25T01:09:49.899192Z WARN sqlx::query: slow statement: execution time exceeded alert threshold summary=\"PRAGMA auto_vacuum = INCREMENTAL; …\" db.statement=\"\\n\\nPRAGMA auto_vacuum = INCREMENTAL; PRAGMA journal_mode = WAL; PRAGMA foreign_keys = ON; PRAGMA synchronous = NORMAL; \\n\" rows_affected=0 rows_returned=1 elapsed=10.137567518s elapsed_secs=10.137567518 slow_threshold=1s\n2026-04-25T01:09:49.899361Z WARN sqlx::pool::acquire: acquired connection, but time to acquire exceeded slow threshold aquired_after_secs=10.13785396 slow_acquire_threshold_secs=2.0"
2026-04-24 21:09:49.916 [warning] [CodexMcpConnection] cli: message="sqlx::query: slow statement: execution time exceeded alert threshold summary=\"PRAGMA auto_vacuum = INCREMENTAL; …\" db.statement=\"\\n\\nPRAGMA auto_vacuum = INCREMENTAL; PRAGMA journal_mode = WAL; PRAGMA foreign_keys = ON; PRAGMA synchronous = NORMAL; \\n\" rows_affected=0 rows_returned=1 elapsed=9.852263305s elapsed_secs=9.852263305 slow_threshold=1s"
2026-04-24 21:09:49.916 [warning] [CodexMcpConnection] cli: message="sqlx::pool::acquire: acquired connection, but time to acquire exceeded slow threshold aquired_after_secs=9.852570305 slow_acquire_threshold_secs=2.0"
2026-04-24 21:09:55.023 [warning] [CodexMcpConnection] cli: message="sqlx::query: slow statement: execution time exceeded alert threshold summary=\"CREATE TABLE IF NOT …\" db.statement=\"\\n\\n\\nCREATE TABLE IF NOT EXISTS _sqlx_migrations (\\n version BIGINT PRIMARY KEY,\\n description TEXT NOT NULL,\\n installed_on TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\\n success BOOLEAN NOT NULL,\\n checksum BLOB NOT NULL,\\n execution_time BIGINT NOT NULL\\n);\\n \\n\" rows_affected=0 rows_returned=0 elapsed=5.106661486s elapsed_secs=5.106661486 slow_threshold=1s"
2026-04-24 21:09:55.026 [warning] [CodexMcpConnection] cli: message="sqlx::query: slow statement: execution time exceeded alert threshold summary=\"DELETE FROM logs WHERE …\" db.statement=\"\\n\\nDELETE FROM logs WHERE ts < ?\\n\" rows_affected=0 rows_returned=0 elapsed=5.116186596s elapsed_secs=5.116186596 slow_threshold=1s"
2026-04-24 21:09:55.042 [error] [CodexMcpConnection] cli: message="2026-04-25T01:09:55.042579Z WARN sqlx::query: slow statement: execution time exceeded alert threshold summary=\"PRAGMA auto_vacuum = INCREMENTAL; …\" db.statement=\"\\n\\nPRAGMA auto_vacuum = INCREMENTAL; PRAGMA journal_mode = WAL; PRAGMA foreign_keys = ON; PRAGMA synchronous = NORMAL; \\n\" rows_affected=0 rows_returned=1 elapsed=5.096688158s elapsed_secs=5.096688158 slow_threshold=1s\n2026-04-25T01:09:55.042610Z WARN sqlx::pool::acquire: acquired connection, but time to acquire exceeded slow threshold aquired_after_secs=5.096829866 slow_acquire_threshold_secs=2.0"
2026-04-24 21:10:00.140 [warning] [CodexMcpConnection] cli: message="sqlx::query: slow statement: execution time exceeded alert threshold summary=\"CREATE TABLE IF NOT …\" db.statement=\"\\n\\n\\nCREATE TABLE IF NOT EXISTS _sqlx_migrations (\\n version BIGINT PRIMARY KEY,\\n description TEXT NOT NULL,\\n installed_on TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\\n success BOOLEAN NOT NULL,\\n checksum BLOB NOT NULL,\\n execution_time BIGINT NOT NULL\\n);\\n \\n\" rows_affected=0 rows_returned=0 elapsed=5.097230934s elapsed_secs=5.097230934 slow_threshold=1s"
2026-04-24 21:10:00.141 [warning] [CodexMcpConnection] cli: message="sqlx::query: slow statement: execution time exceeded alert threshold summary=\"DELETE FROM logs WHERE …\" db.statement=\"\\n\\nDELETE FROM logs WHERE ts < ?\\n\" rows_affected=0 rows_returned=0 elapsed=5.109029491s elapsed_secs=5.109029491 slow_threshold=1s"2026-04-24 21:09:49.454 [warning] [IpcClient] Received broadcast but no handler is configured method=query-cache-invalidate
2026-04-24 21:09:49.882 [warning] [CodexMcpConnection] cli: message="sqlx::query: slow statement: execution time exceeded alert threshold summary=\"SELECT version, checksum FROM …\" db.statement=\"\\n\\nSELECT version, checksum FROM _sqlx_migrations ORDER BY version\\n\" rows_affected=0 rows_returned=2 elapsed=5.117696881s elapsed_secs=5.117696881 slow_threshold=1s"
2026-04-24 21:09:49.888 [warning] [CodexMcpConnection] cli: message="sqlx::query: slow statement: execution time exceeded alert threshold summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.121098009s elapsed_secs=5.121098009 slow_threshold=1s"
2026-04-24 21:09:49.899 [error] [CodexMcpConnection] cli: message="2026-04-25T01:09:49.899192Z WARN sqlx::query: slow statement: execution time exceeded alert threshold summary=\"PRAGMA auto_vacuum = INCREMENTAL; …\" db.statement=\"\\n\\nPRAGMA auto_vacuum = INCREMENTAL; PRAGMA journal_mode = WAL; PRAGMA foreign_keys = ON; PRAGMA synchronous = NORMAL; \\n\" rows_affected=0 rows_returned=1 elapsed=10.137567518s elapsed_secs=10.137567518 slow_threshold=1s\n2026-04-25T01:09:49.899361Z WARN sqlx::pool::acquire: acquired connection, but time to acquire exceeded slow threshold aquired_after_secs=10.13785396 slow_acquire_threshold_secs=2.0"
2026-04-24 21:09:49.916 [warning] [CodexMcpConnection] cli: message="sqlx::query: slow statement: execution time exceeded alert threshold summary=\"PRAGMA auto_vacuum = INCREMENTAL; …\" db.statement=\"\\n\\nPRAGMA auto_vacuum = INCREMENTAL; PRAGMA journal_mode = WAL; PRAGMA foreign_keys = ON; PRAGMA synchronous = NORMAL; \\n\" rows_affected=0 rows_returned=1 elapsed=9.852263305s elapsed_secs=9.852263305 slow_threshold=1s"
2026-04-24 21:09:49.916 [warning] [CodexMcpConnection] cli: message="sqlx::pool::acquire: acquired connection, but time to acquire exceeded slow threshold aquired_after_secs=9.852570305 slow_acquire_threshold_secs=2.0"
2026-04-24 21:09:55.023 [warning] [CodexMcpConnection] cli: message="sqlx::query: slow statement: execution time exceeded alert threshold summary=\"CREATE TABLE IF NOT …\" db.statement=\"\\n\\n\\nCREATE TABLE IF NOT EXISTS _sqlx_migrations (\\n version BIGINT PRIMARY KEY,\\n description TEXT NOT NULL,\\n installed_on TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\\n success BOOLEAN NOT NULL,\\n checksum BLOB NOT NULL,\\n execution_time BIGINT NOT NULL\\n);\\n \\n\" rows_affected=0 rows_returned=0 elapsed=5.106661486s elapsed_secs=5.106661486 slow_threshold=1s"
2026-04-24 21:09:55.026 [warning] [CodexMcpConnection] cli: message="sqlx::query: slow statement: execution time exceeded alert threshold summary=\"DELETE FROM logs WHERE …\" db.statement=\"\\n\\nDELETE FROM logs WHERE ts < ?\\n\" rows_affected=0 rows_returned=0 elapsed=5.116186596s elapsed_secs=5.116186596 slow_threshold=1s"
2026-04-24 21:09:55.042 [error] [CodexMcpConnection] cli: message="2026-04-25T01:09:55.042579Z WARN sqlx::query: slow statement: execution time exceeded alert threshold summary=\"PRAGMA auto_vacuum = INCREMENTAL; …\" db.statement=\"\\n\\nPRAGMA auto_vacuum = INCREMENTAL; PRAGMA journal_mode = WAL; PRAGMA foreign_keys = ON; PRAGMA synchronous = NORMAL; \\n\" rows_affected=0 rows_returned=1 elapsed=5.096688158s elapsed_secs=5.096688158 slow_threshold=1s\n2026-04-25T01:09:55.042610Z WARN sqlx::pool::acquire: acquired connection, but time to acquire exceeded slow threshold aquired_after_secs=5.096829866 slow_acquire_threshold_secs=2.0"
2026-04-24 21:10:00.140 [warning] [CodexMcpConnection] cli: message="sqlx::query: slow statement: execution time exceeded alert threshold summary=\"CREATE TABLE IF NOT …\" db.statement=\"\\n\\n\\nCREATE TABLE IF NOT EXISTS _sqlx_migrations (\\n version BIGINT PRIMARY KEY,\\n description TEXT NOT NULL,\\n installed_on TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\\n success BOOLEAN NOT NULL,\\n checksum BLOB NOT NULL,\\n execution_time BIGINT NOT NULL\\n);\\n \\n\" rows_affected=0 rows_returned=0 elapsed=5.097230934s elapsed_secs=5.097230934 slow_threshold=1s"
2026-04-24 21:10:00.141 [warning] [CodexMcpConnection] cli: message="sqlx::query: slow statement: execution time exceeded alert threshold summary=\"DELETE FROM logs WHERE …\" db.statement=\"\\n\\nDELETE FROM logs WHERE ts < ?\\n\" rows_affected=0 rows_returned=0 elapsed=5.109029491s elapsed_secs=5.109029491 slow_threshold=1s"
I have confirmed that all the logs still exist in the .codex directory.
It makes it literally unusable because i have to start a new session when i am working on the same project.
What steps can reproduce the bug?
Try resuming a chat in a remote vs code session.
What is the expected behavior?
That i can continue a previous chat in the same workspace/project.
Additional information
_No response_
13 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
I met the same problem as you, and it happened in cursor IDE too.
I had to install the cli version to even use it. The extension is basically unusable
i have the same issue, i made the mistake of updating the chatgpt extension to the latest version, and now conversations don’t load.
reverted to 26.415.20818, and it works now.
Installed this version and it is still inconsistent in loading the chats. I don't know if it is a db error or something else, but this is the only coding extension that just doesn't work.
2026-04-25 11:31:09.041 [warning] [CodexMcpConnection] cli: message="sqlx::query: slow statement: execution time exceeded alert threshold summary=\"PRAGMA auto_vacuum = INCREMENTAL; …\" db.statement=\"\\n\\nPRAGMA auto_vacuum = INCREMENTAL; PRAGMA journal_mode = WAL; PRAGMA foreign_keys = ON; PRAGMA synchronous = NORMAL; \\n\" rows_affected=0 rows_returned=0 elapsed=10.373912136s elapsed_secs=10.373912136 slow_threshold=1s"
2026-04-25 11:31:09.044 [error] [CodexMcpConnection] cli: message="2026-04-25T15:31:09.044315Z WARN codex_rollout::list: state db discrepancy during find_thread_path_by_id_str_in_subdir: falling_back\n2026-04-25T15:31:09.044347Z WARN codex_state::runtime: failed to open state db at /home/joluseti/.codex/state_5.sqlite: error returned from database: (code: 15) locking protocol"
2026-04-25 11:31:09.065 [warning] [CodexMcpConnection] cli: message="codex_rollout::list: state db discrepancy during find_thread_path_by_id_str_in_subdir: falling_back"
2026-04-25 11:31:19.253 [error] [CodexMcpConnection] cli: message="2026-04-25T15:31:19.252471Z WARN sqlx::query: slow statement: execution time exceeded alert threshold summary=\"PRAGMA auto_vacuum = INCREMENTAL; …\" db.statement=\"\\n\\nPRAGMA auto_vacuum = INCREMENTAL; PRAGMA journal_mode = WAL; PRAGMA foreign_keys = ON; PRAGMA synchronous = NORMAL; \\n\" rows_affected=0 rows_returned=0 elapsed=10.17838329s elapsed_secs=10.17838329 slow_threshold=1s\n2026-04-25T15:31:19.252528Z WARN codex_state::runtime: failed to open state db at /home/joluseti/.codex/state_5.sqlite: error returned from database: (code: 15) locking protocol"
2026-04-25 11:31:19.255 [warning] [CodexMcpConnection] cli: message="sqlx::query: slow statement: execution time exceeded alert threshold summary=\"PRAGMA auto_vacuum = INCREMENTAL; …\" db.statement=\"\\n\\nPRAGMA auto_vacuum = INCREMENTAL; PRAGMA journal_mode = WAL; PRAGMA foreign_keys = ON; PRAGMA synchronous = NORMAL; \\n\" rows_affected=0 rows_returned=0 elapsed=10.170988952s elapsed_secs=10.170988952 slow_threshold=1s"
2026-04-25 11:31:19.274 [error] [CodexMcpConnection] cli: message="2026-04-25T15:31:19.273914Z WARN codex_rollout::list: state db discrepancy during find_thread_path_by_id_str_in_subdir: falling_back\n2026-04-25T15:31:19.273945Z WARN codex_state::runtime: failed to open state db at /home/joluseti/.codex/state_5.sqlite: error returned from database: (code: 15) locking protocol"
2026-04-25 11:31:19.739 [error] Error fetching httpStatus=400 requestId=9f1e64df0f9f2078-IAD statusText="Bad Request" url=/wham/environments/by-repo/github/johnolusetire/windtexter
Have a look to my workaround here:
https://github.com/openai/codex/issues/18993#issuecomment-4312587938
This worked initially, then it just went back to being slow at loading the conversation and then my codex cli became slow and it couldn't retrieve my old chat history. I just backed up my old .codex directory and deleted it for a fresh start. Luckily i was using it in one project, so much wasn't lost.
I am sticking to the codex cli for now, I haven't tried the extension since the reset. It just sucks because claude code extension works really well.
The only major difference i can see is that claude code only lets you continue a chat in a the workspace you started it like copilot chat, but codex allows you to open a previous chat anywhere. I wonder if this is the cause.
I hit what looks like the same issue on the VS Code remote extension with Codex extension
26.422.30944.Symptoms:
codex app-servercould read the thread successfully.The extension log showed repeated startup overload around apps/connectors, including:
Workaround that fixed it for me:
Then reload/reconnect VS Code so the extension starts a fresh app-server.
This appears to disable the connector/apps startup path that was wedging the extension. It is a workaround, not a root-cause fix, and it may temporarily disable app/connectors and workspace dependency features.
The same problem. I used Codex VSCode extension in WSL Ubuntu 22.04. The version is 26.422.30944.
I’m having the same problem too. I have to try several times without really understanding why it sometimes works.
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.5 LTS"
VISUAL STUDIO CODE = 1.118.1
I've faced the same problem after upgraded to codex vscode plugin version 26.313.41514+.
I hit a related resume/open-existing-conversation failure mode while investigating the VS Code extension on Windows with extension
26.506.31004.This may not be the only root cause for this issue, but there is a code path that looks risky and aligns with the slow SQLite/app-server symptoms reported above.
Observation
For an existing conversation, the custom editor resolver parses the URI and then awaits the conversation summary before initializing the webview:
If
getConversationSummary(i)is delayed by app-server startup, SQLite locking, slow migrations, or an overloaded queue, the editor webview is not initialized yet. From the user side this presents as a previous conversation that never loads / blank panel / needing repeated reloads.That seems consistent with the logs reported in this issue: slow
sqlxstatements, connection acquisition delays, state DB discrepancies, and lock errors.Local mitigation tested at bundle level
I patched the local installed bundle so the webview initializes first, and the summary/title update runs asynchronously after the panel is already mounted:
This is not a full fix for SQLite/app-server locking, but it prevents summary lookup from blocking initial webview creation. A more robust upstream version could use a race/timeout for summary loading, initialize the panel immediately with a fallback title/provider, and update metadata when the app-server responds.
UX workaround that also helped
I also built a small companion Activity Bar view that:
~/.codex/session_index.jsonl,openai-codex://route/local/<conversationId>+chatgpt.conversationEditor,vscode.openWitha small bounded number of times.This made the resume flow less dependent on the official session list rendering first. It would be useful if the official extension exposed a similar Activity Bar conversation picker directly.
Suggested upstream direction
resolveCustomEditorwebview initialization ongetConversationSummary()./local/<conversationId>) usable even when the session list provider is slow.New Chatand recent-session actions.Still got this bug.
Strangely, when I open Codex Desktop for Windows and open a conversation with it, it loads the conversation correctly in VS Code?!
This is very annoying :/