vscode codex extention show blank UI when azure openai provider setted.

Resolved 💬 19 comments Opened Oct 28, 2025 by lx1054331851 Closed Oct 29, 2025
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

What version of the VS Code extension are you using?

0.50.0

What subscription do you have?

I use azure openai with config.toml and .env

Which IDE are you using?

vs code

What platform is your computer?

Darwin 24.6.0 arm64 arm

What issue are you seeing?

<img width="2038" height="1890" alt="Image" src="https://github.com/user-attachments/assets/8261e35b-e40b-4f31-a554-70d5478569ea" />

codex cli is running properly, but codex extention is show nothing.

few days ago, it is work fine.

What steps can reproduce the bug?

install codex extention, open the extention, it needs to login to chatgpt.

set .env and config.toml, restart vscode and reopen codex extention, it is show nothing.

What is the expected behavior?

_No response_

Additional information

_No response_

View original on GitHub ↗

19 Comments

github-actions[bot] contributor · 8 months ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #4982
  • #5555

Powered by Codex Action

LarchLiu · 8 months ago

I have the same issue, and downgrading the extention to version 0.4.21 worked for me.

mhsong55 · 8 months ago

Same issue here. As @LarchLiu mentioned, downgrading the extension to version 0.4.21 fixed it for me.

bolinfest collaborator · 8 months ago

Can one of you share what your config.toml looks like? Is it something like (in particular, is model_provider set to the custom provider you have defined?):

model_provider = "azure"

[model_providers.azure]
name = "Azure"
# Make sure you set the appropriate subdomain for this URL.
base_url = "https://YOUR_PROJECT_NAME.openai.azure.com/openai"
env_key = "AZURE_OPENAI_API_KEY"  # Or "OPENAI_API_KEY", whichever you use.
query_params = { api-version = "2025-04-01-preview" }
wire_api = "responses"
illgitthat · 8 months ago
Can one of you share what your config.toml looks like? Is it something like (in particular, is model_provider set to the custom provider you have defined?): model_provider = "azure" [model_providers.azure] name = "Azure" # Make sure you set the appropriate subdomain for this URL. base_url = "https://YOUR_PROJECT_NAME.openai.azure.com/openai" env_key = "AZURE_OPENAI_API_KEY" # Or "OPENAI_API_KEY", whichever you use. query_params = { api-version = "2025-04-01-preview" } wire_api = "responses"

@bolinfest

Yes - I have a similar config.toml

model_provider = "azure"
model = "gpt-5-codex"
model_reasoning_effort = "medium"

[model_providers.azure]
name = "Azure"
base_url = "https://deploymentname.openai.azure.com/openai"
env_key = "AZURE_OPENAI_API_KEY"                               # Or "OPENAI_API_KEY", whichever you use.
query_params = { api-version = "2025-04-01-preview" }
wire_api = "responses"

This regression started after 0.4.21 and is present in both the pre-release and stable version of the extension.

bolinfest collaborator · 8 months ago

@illgitthat OK, I set a "fake" custom provider:

model_provider = "azure"

[model_providers.azure]
name = "Azure"
base_url = "https://api.openai.com/v1"
env_key = "AZURE_OPENAI_API_KEY"
wire_api = "responses"

and defined AZURE_OPENAI_API_KEY in my ~/.codex/.env as my OPENAI_API_KEY, but the sidebar loads as normal for me using 0.5.30 in stable VS Code (1.105.1).

Can you add this to settings.json:

"chatgpt.logLevel": "debug",

and then go to the Output pane at the bottom and select Codex from the dropdown and report if there's anything unexpected in those logs?

Alternatively, do Open Webview Developer Tools and see if there is anything suspicious in the console there?

illgitthat · 8 months ago

@bolinfest
Here are some selected logs from Output >> Codex. I tested vscode insiders and vscode stable.

Potentially relevant:

<img width="1175" height="340" alt="Image" src="https://github.com/user-attachments/assets/683dc889-bd7f-4ab9-b2e9-4c5b139665bc" />

2025-10-28 15:59:34.568 [info] Activating Codex extension
2025-10-28 15:59:34.568 [info] [startCodexProcess] spawning codex app-server
2025-10-28 15:59:34.568 [info] Codex chat session item provider not registered: Extension 'openai.chatgpt' CANNOT use API proposal: chatSessionsProvider.
Its package.json#enabledApiProposals-property declares:  but NOT chatSessionsProvider.
 The missing proposal MUST be added and you must start in extension development mode or use the following command line switch: --enable-proposed-api openai.chatgpt
2025-10-28 15:59:47.182 [info] Received MCP result: 82e891b6-0a46-465d-9dde-aedb07c35316 {"items":[{"conversationId":"019a283a-4298-7170-8ed7-88579c91a10f","path":"/home/adam/.codex/sessions/2025/10/27/rollout-2025-10-27T20-31-38-019a283a-4298-7170-8ed7-88579c91a10f.jsonl","preview":"--redacted--","timestamp":"2025-10-26T06:45:53.163Z","modelProvider":"azure"},{"conversationId":"019a1ed4-f25a-75c1-9356-642a1d1ee7c0","path":"/home/adam/.codex/sessions/2025/10/26/rollout-2025-10-26T00-44-23-019a1ed4-f25a-75c1-9356-642a1d1ee7c0.jsonl","preview":"say hi","timestamp":"2025-10-26T04:44:23.514Z","modelProvider":"azure"},{"conversationId":"019a1ed3-6d14-78d2-b760-05af40e3d899","path":"/home/adam/.codex/sessions/2025/10/26/rollout-2025-10-26T00-42-43-019a1ed3-6d14-78d2-b760-05af40e3d899.jsonl","preview":"what's this project","timestamp":"2025-10-26T04:42:43.860Z","modelProvider":"azure"}]}
2025-10-28 15:59:47.182 [info] Received MCP result: c025e30b-2a22-43c0-867a-49a94fa22e45 {"requiresOpenaiAuth":false}
2025-10-28 15:59:47.230 [info] Received MCP result: d9893daf-6eb0-485a-995b-010674dc43bf {"requiresOpenaiAuth":false}
2025-10-28 15:59:47.546 [info] [detectHasWsl] platform: linux
2025-10-28 15:59:47.546 [info] Received MCP result: a2b0bd10-a561-4793-9c25-be27cdbc5d23 {"config":{"approvalPolicy":"on-request","model":"gpt-5-codex","modelReasoningEffort":"medium","profiles":{}}}
bolinfest collaborator · 8 months ago

@illgitthat so the link you sent me to notes that:

I finally confirmed that is a DNS resolve issue from msul implementation.

So are you on Linux or WSL? I guess from the logs, it appears to be Windows/WSL?

bolinfest collaborator · 8 months ago

@illgitthat the log setting is used in the code, but not declared in package.json (to reduce noise), so that's why it appears faded.

@lx1054331851 you noted that the CLI is working, but 0.50.0 is not the one bundled with the extension. On my Mac, the CLI bundled with the extension would is here:

$ ~/.vscode/extensions/openai.chatgpt-0.5.30-darwin-arm64/bin/macos-aarch64/codex --ve
rsion
codex-cli 0.51.0-alpha.2

So for versions 0.5.30 and 0.4.30 of the extension, the CLI is 0.51.0-alpha.2, so I'm curious if that works or not.

illgitthat · 8 months ago

@bolinfest yes, I'm on Windows using WSL.

And both versions of the CLI work.

adam@DESKTOP1:~$ codex exec "say hi" --skip-git-repo-check
OpenAI Codex v0.50.0 (research preview)
--------
workdir: /home/adam
model: gpt-5-codex
provider: azure
approval: never
sandbox: read-only
reasoning effort: medium
reasoning summaries: auto
session id: 019a2c98-c5c4-7151-bce9-9e6c2b94a425
--------
user
say hi

thinking
**Responding to simple task**

I'll quickly respond with a friendly "hi" since the task is trivial and requires no additional planning!
codex
hi
tokens used
89
hi
adam@DESKTOP1:~$ /mnt/c/Users/adbloom/.vscode-insiders/extensions/openai.chatgpt-0.5.30-win32-x64/bin/linux-x86_64/codex exec "say hi" --skip-git-repo-check
OpenAI Codex v0.51.0-alpha.2 (research preview)
--------
workdir: /home/adam
model: gpt-5-codex
provider: azure
approval: never
sandbox: read-only
reasoning effort: medium
reasoning summaries: auto
session id: 019a2c98-f83a-7372-b7e7-233fa70355eb
--------
user
say hi

thinking
**Responding with greeting**
codex
Hi there!
tokens used
91
Hi there!
dylan-hurd-oai contributor · 8 months ago

@illgitthat to clarify, are you using the WSL extension in VS Code?

bolinfest collaborator · 8 months ago

@illgitthat thanks, confirming that is extremely helpful! That makes it more likely that a recent change in the extension (as opposed to the CLI) is responsible.

I'm guessing that I know what the answer will be, but if you use the latest Insiders and add these to your settings.json:

  "github.copilot.chat.useResponsesApi": true,
  "chat.agentSessionsViewLocation": "view",

Do you see the new icon in the Activity Bar that brings up the new Agent Sessions pane? If so, do you have the OpenAI Codex header in the pane, which hopefully has a list of recent conversations:

<img width="1840" height="1167" alt="Image" src="https://github.com/user-attachments/assets/cc14f400-a512-4f4a-87bb-e5d4190ff2bb" />

Clicking on a conversation should open it in an editor pane, though given what you're seeing in the sidebar, I assume that shows up blank, as well?

The one other thing that might be revealing is Open Webview Developer Tools from the command palette:

<img width="1840" height="1167" alt="Image" src="https://github.com/user-attachments/assets/324db5bd-a80a-42f6-ad0e-d354ca7cf5e7" />

And then perhaps the Console of that pane has an error message that explains why the UI isn't loading in the sidebar?

<img width="1840" height="1167" alt="Image" src="https://github.com/user-attachments/assets/3775effb-10f0-4e50-8405-aee2674fe301" />

bolinfest collaborator · 8 months ago

@illgitthat I just created an Azure Responses API account and I still can't repro...

bolinfest collaborator · 8 months ago

@illgitthat On one machine here, we can repro the issue in the sidebar, but not the editor panel. Another option is trying the following in the command palette: Codex: New Codex Editor View.

Do you get a blank screen in the editor view that comes up, as well?

LucasSchelkes-BA · 8 months ago

Getting the same issue.. am connected to local ollama model.. the error message in developer tools console is:

_Extension 'openai.chatgpt' wants API proposal 'languageModelProxy' but that proposal DOES NOT EXIST. Likely, the proposal has been finalized (check 'vscode.d.ts') or was abandoned._

Downgrading to 0.4.21. solved the issue

bolinfest collaborator · 8 months ago

OK, we root caused it: working on landing the fix and publishing a new release.

bolinfest collaborator · 8 months ago

Both the pre-release 0.5.31 and the stable release 0.4.31 should have the fix. I just uploaded both to the Marketplace, but sometimes it takes a few minutes to propagate.

Going through the menu shown in the screenshot to install a specific version of an extension usually finds the latest release faster, in my experience (menu items at the bottom of the list):

<img width="1110" height="913" alt="Image" src="https://github.com/user-attachments/assets/3c20fe7b-8afc-4eb1-9f61-233b4c4c0479" />

illgitthat · 8 months ago

@bolinfest this fixed it for me. Thank you for the quick fix here.

bolinfest collaborator · 8 months ago

@illgitthat Awesome, thrilled to hear it worked! And thanks so much for indulging us and sharing so much debugging info.

I can't share the full extension code, but the tl;dr is that the #[serde(skip_serializing_if = "Option::is_none")] on auth_method here:

https://github.com/openai/codex/blob/36113509f2fa0df910519556d988876a21acfa57/codex-rs/app-server-protocol/src/protocol.rs#L615-L616

Currently becomes the following TypeScript type due to the way we use https://crates.io/crates/ts-rs:

authMethod: AuthMode | null;

but because the field is omitted when null, it should really be:

authMethod?: AuthMode | null;

When you use a custom provider that doesn't require the auth flow in the extension, authMethod is None in Rust or undefined in the TypeScript. But based on the type definition, our code only checked for case null in switch (authMethod), which is how this slipped through and got the UI into an invalid state.