openai / openai/codex

[VS Code/macOS][Presentations] load_workspace_dependencies not exposed despite Presentations skill being loaded

Open
#42,183 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug extension skills tool-calls
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.825.51511

What subscription do you have?

ChatGPT Plus

Which IDE are you using?

VS Code

What platform is your computer?

Darwin 24.6.0 arm64 arm

What issue are you seeing?

Summary

The Presentations skill is available in a Codex VS Code session on macOS, but its required load_workspace_dependencies capability is not exposed.

As a result, the skill cannot obtain RUNTIME_NODE, RUNTIME_NODE_MODULES, or RUNTIME_BIN_DIR, so PowerPoint editing cannot initialize even though @oai/artifact-tool is installed and works with the bundled Codex Node runtime.

This appears related to existing reports of load_workspace_dependencies / runtime provisioning failures, including #39021, #37331, #36606, and the dynamic-tool provisioning behavior discussed in #24280.

This report adds a current Presentations + VS Code + macOS arm64 reproduction.

Environment

macOS: 15.7.7, arm64

ChatGPT desktop: 26.831.20005

VS Code extension: openai.chatgpt@26.825.51511

Codex CLI: 0.152.0

Presentations plugin: 26.826.12353

Bundled Node: v24.19.0

Sandbox: restricted filesystem + restricted network, approval OnRequest

codex doctor reports:

20 ok · 1 idle · 3 notes · 2 warn · 0 fail

The warnings concern missing rg and thread inventory inconsistencies and do not appear presentation-related.

What steps can reproduce the bug?

Reproduction

Open Codex in VS Code on macOS.

Start a session where the Presentations skill is exposed.

Ask Codex to edit an existing .pptx.

Codex reports that it cannot safely edit the deck because the required presentation runtime is unavailable.

Ask Codex to call the dependency loader required by the installed Presentations skill.

Result:

Call available: No
Call succeeds: No — load_workspace_dependencies is not exposed in this session
RUNTIME_NODE: Unavailable
RUNTIME_NODE_MODULES: Unavailable
RUNTIME_BIN_DIR: Unavailable

Why this appears to be provisioning rather than a missing package

The installed Presentations SKILL.md explicitly says:

Call load_workspace_dependencies before running presentation builders or helper scripts.

and requires the returned paths:

RUNTIME_NODE
RUNTIME_NODE_MODULES
RUNTIME_BIN_DIR

The Presentations plugin itself is installed and current. Codex desktop logs contain:

plugin_install_succeeded ... pluginName=presentations

and subsequent launches report:

bundled_plugin_install_skipped_current pluginName=presentations

@oai/artifact-tool is also physically present under the primary runtime:

~/.cache/codex-runtimes/codex-primary-runtime/dependencies/node/node_modules/@oai/artifact-tool

Using the Node executable bundled with that runtime, importing @oai/artifact-tool succeeds.

The installed Presentations plugin also contains its expected runtime helpers, including:

skills/presentations/container_tools/render_presentation.mjs
skills/presentations/container_tools/runtime_helpers.mjs

render_presentation.mjs loads the artifact runtime using:

const { FileBlob, PresentationFile } =
await importRuntimeModule("@oai/artifact-tool");

So the package and presentation tooling appear to be present. The missing piece is that the VS Code session does not expose the skill's required load_workspace_dependencies capability.

What is the expected behavior?

Expected behavior

If the Presentations skill is exposed to the session, its required dependency-loader capability should also be exposed.

The skill should be able to obtain:

RUNTIME_NODE
RUNTIME_NODE_MODULES
RUNTIME_BIN_DIR

and then use the bundled artifact runtime for PPTX operations.

Actual behavior

The session exposes:

Presentations skill ✓

but not:

load_workspace_dependencies ✗
RUNTIME_NODE ✗
RUNTIME_NODE_MODULES ✗
RUNTIME_BIN_DIR ✗

despite the underlying runtime/package being installed.

This leaves the session in an internally inconsistent state:

Presentations skill exposed

load_workspace_dependencies missing

required runtime paths unavailable

Presentations workflow cannot initialize

Additional information

Related issues

This looks closely related to:

#39021 — similar missing load_workspace_dependencies behavior affecting the Spreadsheets skill

#37331 — similar dependency-loader absence on macOS arm64

#36606 — VS Code session/runtime provisioning issue affecting Node-backed skills

#24280 — discussion/reproduction of dynamic load_workspace_dependencies provisioning differences between session/thread creation paths

The distinction here is that this reproduces specifically with the Presentations skill in the current VS Code extension on macOS arm64, while the artifact package itself has been verified to exist and import successfully using the bundled runtime.

I can provide the full codex doctor report and relevant desktop/VS Code logs if useful.

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

Start with the Presentations SKILL.md requirement for load_workspace_dependencies and the VS Code session capability exposure. Compare the provisioning behavior discussed in #24280 and related issues, then review skills/presentations/container_tools/render_presentation.mjs and runtime_helpers.mjs. Done means the exposed skill can obtain RUNTIME_NODE, RUNTIME_NODE_MODULES, and RUNTIME_BIN_DIR and initialize PPTX operations.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, node.js, vscode
Domain
developer-experience, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.