[macOS] Visualize 1.0.16 materializes the live-disabled variant and does not register the native visualization path
Codex App bug-template fields
- What version of the Codex App are you using?
26.727.40816 (build 6067)
- What subscription do you have? ChatGPT subscription; exact tier is not exposed by
codex login status
- What platform is your computer?
Darwin 25.5.0 arm64 arm
Suggested labels
bug, app, skills
Environment
- Codex Desktop:
26.727.40816 (build 6067)
- Platform: macOS
- Bundled plugin:
visualize@openai-bundled 1.0.16
- User configuration: Visualize is enabled
Summary
On this build, the bundled Visualize plugin is enabled but its installed runtime materializes a live-disabled content variant. A fresh native-capability check then finds no native Visualize registration. The Plugins UI's Try now affordance launches a task carrying the native plugin chip, but that task reports that the Visualize skill was omitted and then compensates by manually writing two-value-explorer.html and emitting the generic ::codex-inline-vis directive. This makes the product appear available while the live/native route is absent.
This is not the renderer-path problem in #32054, the helper-path documentation problem in #35211, or the standalone-HTML routing problem in #33164: the failing boundary here is bundled-plugin materialization/registration for the current app build.
Reproduction
- Install Codex Desktop
26.727.40816 (build 6067) on macOS.
- Confirm that
visualize@openai-bundled is enabled in Codex configuration.
- Start a fresh Codex task so the tool/skill surface is discovered anew.
- Inspect the installed Visualize cache manifest and the runtime materialization state.
- Run the normal fresh native-capability discovery for Visualize.
- In the Plugins UI, select Visualize and use Try now.
Actual behavior
- The materialization key is
liveVisualizationSkillVariant=live-disabled.
- The installed cache manifest records
bundledContentVariant=live-disabled.
- Production feature dispatch contains
visualizeLive:false.
- Fresh native discovery is absent-after-discovery: no native Visualize registration is exposed.
- The task launched by Try now carries the plugin chip but reports that the native skill was omitted; its agent then manually writes
two-value-explorer.html and emits generic ::codex-inline-vis instead of invoking a registered native Visualize skill.
Expected behavior
With Visualize enabled, the shipped app should materialize the variant intended for its live/native experience, register that capability in a fresh task, and make Try now exercise the same supported path. In particular:
- the effective materialization key and cached manifest must agree with the enabled live/native feature;
- production dispatch must not leave the enabled plugin behind
visualizeLive:false;
- fresh discovery must expose the native capability when the product presents Visualize as enabled; and
- Try now should be a native-path canary, not a separate manual HTML/directive fallback that can succeed while native registration is absent.
Evidence and integrity controls
All filesystem locations below are intentionally generalized (<CODEX_HOME>, <APP_BUNDLE>) to avoid disclosing user-specific paths.
| Evidence layer |
Observed value |
| Configuration |
Visualize enabled |
| Materialization key |
liveVisualizationSkillVariant=live-disabled |
| Installed cache manifest |
bundledContentVariant=live-disabled |
| Production feature dispatch |
visualizeLive:false |
| Fresh-task native discovery |
absent-after-discovery |
| Native UI canary provenance |
Plugins UI -> Visualize -> Try now launches native-chip task -> task reports skill omitted -> agent manually writes two-value-explorer.html + generic ::codex-inline-vis |
| Version anchor |
app 26.727.40816 build 6067; plugin 1.0.16 |
The evidence was cross-checked across the enabled configuration, materialization key, cached plugin manifest, production dispatch, a fresh discovery surface, and the first-party Plugins UI. It therefore does not rely solely on a stale thread, a single cache directory, or agent interpretation of a prompt response.
Why reinstalling the same build or clearing cache is not a supported repair
The failing values originate in the current build's materialization/feature-selection path: the enabled configuration, live-disabled materialization key, cache manifest variant, and production visualizeLive:false all agree. Reinstalling the same build or clearing the cache would merely rematerialize the same selected variant; it does not change the build-provided feature dispatch or create a missing native registration. Users should not need to mutate caches or patch bundled assets to make an enabled first-party plugin work.
Requested repair
- Audit the macOS
26.727.40816 bundled Visualize release inputs so an enabled Visualize plugin selects and materializes the intended live/native variant.
- Make registration and availability derive from one authoritative variant/feature decision; reject or visibly diagnose contradictory states such as “enabled in UI/config” plus
live-disabled plus no native registration.
- Make the Plugins Try now flow invoke the registered native path, and show a clear unsupported/unavailable state if it is not registered. Do not silently substitute a generic inline-HTML example.
- Add release coverage that starts a fresh task and asserts: enabled config -> expected manifest/materialization variant -> enabled production dispatch -> discoverable native Visualize capability -> Try now exercises that same capability.
- Surface a user-actionable diagnostic in the plugin UI when the bundle is intentionally live-disabled, including the effective variant and reason.
Related, but not duplicates
- #35211 — Visualize helper-path documentation is wrong; it assumes Visualize is already installed/materialized.
- #36100 — bundled-plugin content-variant reconciliation mismatch causing startup delay; related variant machinery, but different symptom and plugins.
- #21936 — stale bundled marketplace cache hides Chrome on macOS.
- #21138 — cache refresh can retain stale bundled/local contents without a version bump.
- #25990 — resumed threads can retain stale dynamic tool metadata; this report includes a fresh-task control and is about Visualize materialization/registration.
- #32054 — renderer reads a different visualization directory.
- #33164 — Visualize over-triggers for standalone HTML.
Duplicate search decision
No exact duplicate found as of 2026-07-30. I searched openai/codex issues and pull requests by Visualize, visualization, Try now, codex-inline-vis, two-value-explorer, live-disabled, and native registration, then inspected the closest Visualize, cache, and dynamic-tool reports listed above. Those reports cover adjacent documentation, path resolution, cache freshness, marketplace visibility, reconciliation performance, or stale thread metadata—not an enabled Visualize live-disabled materialization paired with fresh native absence and a non-native Try now route.
[macOS] Visualize 1.0.16 materializes the
live-disabledvariant and does not register the native visualization pathCodex App bug-template fields
26.727.40816(build6067)codex login statusDarwin 25.5.0 arm64 armSuggested labels
bug,app,skillsEnvironment
26.727.40816(build6067)visualize@openai-bundled1.0.16Summary
On this build, the bundled Visualize plugin is enabled but its installed runtime materializes a
live-disabledcontent variant. A fresh native-capability check then finds no native Visualize registration. The Plugins UI's Try now affordance launches a task carrying the native plugin chip, but that task reports that the Visualize skill was omitted and then compensates by manually writingtwo-value-explorer.htmland emitting the generic::codex-inline-visdirective. This makes the product appear available while the live/native route is absent.This is not the renderer-path problem in #32054, the helper-path documentation problem in #35211, or the standalone-HTML routing problem in #33164: the failing boundary here is bundled-plugin materialization/registration for the current app build.
Reproduction
26.727.40816(build6067) on macOS.visualize@openai-bundledis enabled in Codex configuration.Actual behavior
liveVisualizationSkillVariant=live-disabled.bundledContentVariant=live-disabled.visualizeLive:false.two-value-explorer.htmland emits generic::codex-inline-visinstead of invoking a registered native Visualize skill.Expected behavior
With Visualize enabled, the shipped app should materialize the variant intended for its live/native experience, register that capability in a fresh task, and make Try now exercise the same supported path. In particular:
visualizeLive:false;Evidence and integrity controls
All filesystem locations below are intentionally generalized (
<CODEX_HOME>,<APP_BUNDLE>) to avoid disclosing user-specific paths.liveVisualizationSkillVariant=live-disabledbundledContentVariant=live-disabledvisualizeLive:falsetwo-value-explorer.html+ generic::codex-inline-vis26.727.40816build6067; plugin1.0.16The evidence was cross-checked across the enabled configuration, materialization key, cached plugin manifest, production dispatch, a fresh discovery surface, and the first-party Plugins UI. It therefore does not rely solely on a stale thread, a single cache directory, or agent interpretation of a prompt response.
Why reinstalling the same build or clearing cache is not a supported repair
The failing values originate in the current build's materialization/feature-selection path: the enabled configuration,
live-disabledmaterialization key, cache manifest variant, and productionvisualizeLive:falseall agree. Reinstalling the same build or clearing the cache would merely rematerialize the same selected variant; it does not change the build-provided feature dispatch or create a missing native registration. Users should not need to mutate caches or patch bundled assets to make an enabled first-party plugin work.Requested repair
26.727.40816bundled Visualize release inputs so an enabled Visualize plugin selects and materializes the intended live/native variant.live-disabledplus no native registration.Related, but not duplicates
Duplicate search decision
No exact duplicate found as of 2026-07-30. I searched
openai/codexissues and pull requests byVisualize,visualization,Try now,codex-inline-vis,two-value-explorer,live-disabled, andnative registration, then inspected the closest Visualize, cache, and dynamic-tool reports listed above. Those reports cover adjacent documentation, path resolution, cache freshness, marketplace visibility, reconciliation performance, or stale thread metadata—not an enabled Visualizelive-disabledmaterialization paired with fresh native absence and a non-native Try now route.