openai / openai/codex

[VS Code] New Codex editor tab hides navigation header until the first message is sent

Open
#44,100 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug extension
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

What version of the IDE extension are you using?

openai.chatgpt 26.903.61454-linux-x64

Bundled Codex CLI: not required to reproduce this UI issue.

What subscription do you have?

ChatGPT account authentication. The exact subscription tier was not recorded.

Which IDE are you using?

Visual Studio Code 1.136.1 with Remote SSH.

What platform is your computer?

Windows client with a Linux x86_64 remote extension host.

What issue are you seeing?

When Codex: New Codex Agent opens Codex as an editor tab, the empty/new-chat
screen does not render the Codex navigation header. The composer works, but
the following controls are unavailable:

  • Current chat title.
  • Recent-chat search and conversation list.
  • More-actions menu.
  • Refresh button.
  • Settings button.
  • New-chat button.

After sending any first message, the header appears immediately and all of
those controls become available. This makes users create a throwaway message
before they can open an earlier conversation or access extension settings.

The behavior is reproducible after reopening or restoring a fresh Codex editor
tab. It does not look like conversation loss: the extension discovers existing
conversations during startup, and they become visible after the first message.

What steps can reproduce the bug?
  1. Connect from VS Code on Windows to a Linux host using Remote SSH.
  2. Install or enable Codex IDE extension 26.903.61454 on the remote host.
  3. Run Codex: New Codex Agent so that Codex opens as an editor tab.
  4. Observe the empty new-chat screen before sending a message.
  5. The composer is visible, but the Codex navigation header is absent.
  6. Send any message.
  7. Observe that the header, recent-chat picker, settings button, refresh
    button, and new-chat button now appear.
What is the expected behavior?

The Codex navigation header should render as soon as the editor tab opens,
including in the empty/new-chat state. Recent chats, settings, refresh, and
new-chat controls should not depend on the existence of a current conversation
ID or require sending a message first.

Additional information

Sanitized startup log sequence:

React root render requested windowType=extension
[chatgpt-account-lookup] ... authenticatedAccountPresent=true ... result=succeeded
[startup][renderer] app routes mounted after 4957ms
websocket_reconnect_marked_threads_needing_resume conversationCount=5 ...
app_server_restart_recovery_done currentConversationId=null ...

Immediately after the first message:

IAB_LIFECYCLE webview captured browser use session route conversationId=<redacted>
Conversation created conversationId=<redacted> ...

The header appears at that transition. This suggests that the editor-tab
header is currently gated on an active conversation route instead of being
part of the persistent new-chat shell.

The extension also logs repeated 403 Forbidden responses for
/settings/user, both before and after the header appears. Therefore that
request may be worth investigating, but it does not by itself explain the
visibility transition.

The installed extension manifest exposes no setting for persistent header or
navigation visibility. OpenAI documentation describes the gear icon in the
top-right corner as the IDE entry point for Codex settings, so hiding the whole
header on the empty editor route also removes the documented settings entry
point.

Related but distinct: #44036 reports an existing conversation whose title
falls back to New chat. This report concerns a new editor tab where the
entire navigation header is missing until the first message is submitted.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue from the Codex: New Codex Agent command in a VS Code editor tab, using the empty/new-chat state before sending a message. Trace the navigation header rendering around the transition from currentConversationId=null to the first conversation, then verify that the header and its controls appear on initial tab load as well as after a message.

Written by the indexing model from the issue text.

Assessment

Tech stack
vscode
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.