Skip to content

fix: disable Codex's Visualize skill, whose output ACP clients show as raw text - #667

Merged
EugeneTheDev merged 1 commit into
mainfrom
eugenethedev/fix-visualize
Oct 23, 2026
Merged

EugeneTheDev merged 1 commit into
mainfrom
eugenethedev/fix-visualize

Conversation

@EugeneTheDev

@EugeneTheDev EugeneTheDev commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator

Codex's bundled Visualize skill (visualize@openai-bundled, installed by the ChatGPT and Codex desktop apps) ends a reply with a content reference that only the OpenAI apps render. ACP clients showed it as raw visualize{"path":...} text. Upstream: openai/codex#40525.

  • Every new, resumed, loaded, and forked thread gets the config rule skills.config = [{name: "visualize:visualize", enabled: false}]. Codex applies session rules after the user's config, and a later rule for the same selector replaces an earlier one, so this rule wins.
  • The skill commands and /skills leave the skill out, because skills/list still reports it as enabled.
  • Matching by name needs no skills/list request at session start, and still applies if the plugin is installed mid-session. Limitation: a skill of another plugin with the same qualified name is disabled too. Documented in readme-dev.md.
  • Tests for v1 and v2. Verified with real Codex 0.164.0: without the rule, the model lists visualize:visualize among its skills; with it, the skill is gone and the other skills stay.

…s raw text

Codex's bundled Visualize skill ends a reply with a content reference that
only the OpenAI apps render, so ACP clients showed raw `visualize{...}` text.
Each thread now disables the skill through a `skills.config` rule, and the
skill commands and `/skills` leave it out.

Skills are matched by name, so a skill of another plugin with the same
qualified name is disabled too.
@EugeneTheDev
EugeneTheDev merged commit 0ba94f5 into main Oct 23, 2026
7 checks passed
@EugeneTheDev
EugeneTheDev deleted the eugenethedev/fix-visualize branch October 23, 2026 12:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant