VS Code extension stable channel does not render LaTeX math while prerelease does

Open 💬 0 comments Opened Jun 21, 2026 by yinbinhan

What variant of Codex are you using?

VS Code extension (openai.chatgpt / Codex extension)

What version of Codex is running?

Observed locally with these installed extension versions:

  • Stable: openai.chatgpt@26.616.51431
  • Pre-release: openai.chatgpt@26.5616.51431
  • VS Code product version shown in install logs: 1.125.1
  • Platform: macOS arm64

What issue are you seeing?

LaTeX/math rendering in the Codex VS Code extension behaves differently depending on whether the extension is installed from the stable channel or the pre-release channel:

  • The pre-release extension renders math correctly.
  • The stable extension does not render math correctly.

This is surprising because a local read-only comparison of the unpacked extension directories found that the stable and pre-release payloads are effectively identical. A recursive diff between the two installed directories only showed differences in package.json and .vsixmanifest; the webview assets, Markdown renderer, KaTeX bundle, and parser chunks were byte-identical.

The pre-release manifest adds the VS Code pre-release marker, while the stable manifest does not. This suggests the failure may be caused by channel/profile/cache/feature-gating behavior rather than by different bundled renderer code.

Additional local inspection details

The bundled Markdown/math renderer appears to include KaTeX and a custom math tokenizer. In the installed webview assets inspected locally:

  • inline math is recognized as \(...\)
  • display math is recognized as \[...\] and $$...$$
  • inline $...$ does not appear to be supported by this tokenizer

That delimiter behavior appears shared by the stable and pre-release builds currently installed locally, so it does not explain the stable-vs-prerelease difference by itself.

Older installed builds had a different chunk layout and, in at least one older build, a looser display-math block tokenizer. This may be related to why the problem appeared at some point in the past, but the current stable/pre-release difference is not explained by the local JS bundle content.

Expected behavior

The stable and pre-release VS Code extensions should render supported LaTeX/math delimiters consistently when their renderer assets are identical, or the difference should be documented if behavior is intentionally channel-gated.

Actual behavior

Stable channel fails to render math correctly; pre-release channel renders it correctly on the same machine/profile after switching channels.

Notes

I have not yet done a destructive controlled reinstall test because switching the real VS Code profile changes extension state. A useful next diagnostic may be comparing stable vs pre-release in a fresh temporary VS Code profile and clearing any webview/session cache keyed by extension channel/version.

View original on GitHub ↗