Visualize skill saves files to workspace path, but renderer reads from ~/.codex
What version of the Codex App are you using (From “About Codex” dialog)?
26.707.31428
What subscription do you have?
Pro
What platform is your computer?
Darwin 25.5.0 arm64 arm
What issue are you seeing?
Codex Thread Feedback ID: 019f4a7d-235b-7250-9d6c-859bb18feefd
The Visualize skill instructs agents to save inline visualization files under .codex/visualizations/YYYY/MM/DD/<thread-id> in the thread-scoped writable roots. In a projectless Codex App task, this is naturally resolved relative to the current workspace, so the file is written under <workspace>/.codex/visualizations/....
However, the inline visualization renderer looks for the file under $HOME/.codex/visualizations/.... The directive is recognized and briefly shows “Loading visualization,” but the renderer then returns nothing because the expected file is not present in the home-level directory. Moving the unchanged file to ~/.codex/visualizations/... makes the visualization render immediately.
What steps can reproduce the bug?
- Open a projectless task in the Codex App.
- Ask Codex to create a chart using the Visualize skill/plugin.
- The agent follows the documented path
.codex/visualizations/YYYY/MM/DD/<thread-id>/<name>.htmland resolves it relative to the workspace writable root. - The agent responds with
::codex-inline-vis{file="<name>.html"}. - Observe that “Loading visualization” appears briefly, then disappears with no chart or error.
- Move the same file to
$HOME/.codex/visualizations/YYYY/MM/DD/<thread-id>/<name>.html. - Repeat the directive and observe that the visualization renders successfully.
What is the expected behavior?
The Visualize instructions should explicitly specify the absolute home-relative location, $HOME/.codex/visualizations/YYYY/MM/DD/<thread-id>, rather than an ambiguous relative .codex path. Alternatively, the renderer could resolve the visualization directory from the task's declared writable root. If the file cannot be found, the UI should preserve the placeholder and display a clear file-not-found error instead of silently returning nothing.
Additional information
Confirmed in Codex App 26.707.31428 on macOS (Darwin 25.5.0, arm64). The visualization content was unchanged between the failing workspace location and the working home-level location, isolating the problem to path resolution and error reporting.