Summary
Running the design-interview skill inside Codex Desktop exposes two related integration failures:
- The skill generates an option-board URL as
file://..., but Codex Browser rejects file:// navigation with the Browser Use URL policy, leaving the in-app browser on about:blank.
- The skill expects a host interactive question tool (
AskUserQuestion / request_user_input) for selecting one of the board options, but in Codex Desktop Default mode that choice UI is not usable, so the user must type numbers manually.
Together these break the intended "show the board, then ask one multiple-choice question" flow.
Environment
- OS: Windows, Codex Desktop
- Workspace:
C:\Users\devsw\OneDrive\문서\design-interview
- Skill:
design-interview@0.1.0 from C:\Users\devsw\.claude\skills\design-interview
- OMO plugin:
@sisyphuslabs/omo-codex-plugin@4.11.1
- Browser plugin path:
C:\Users\devsw\.codex\plugins\cache\openai-bundled\browser\26.609.41114
- Codex version: unable to query locally;
codex --version failed with Access is denied
- Bundled Node used for skill CLI:
C:\Users\devsw\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exe
Repository Decision
- Target repository: current design-interview repo, or the Codex/LazyCodex integration repo that owns skill-host adapters.
- Why this belongs there: the failure is at the boundary between a bundled/installed skill contract and Codex Desktop host capabilities.
- LazyCodex / skill evidence:
design-interview/src/cli.js:240-241 prints res.url with the comment file:// 링크 — 호스트 브라우저로 바로 열 수 있는 보드 링크.
design-interview/src/board.js:349-350 returns pathToFileURL(out).href.
design-interview/core/interview.md:68-69 documents that Codex app should open the file:// option-board URL and that the board answer should be received through AskUserQuestion.
- Codex Browser evidence:
- Browser skill docs at
control-in-app-browser/SKILL.md:3 say local targets include file://.
- Runtime rejected the generated board URL with:
Browser Use cannot visit the requested page because its URL is blocked by the Browser Use URL policy.
- Serving the same HTML through
http://127.0.0.1:8787/design-interview/design-interview-option-board.html rendered correctly in the in-app browser.
Reproduction
- In Codex Desktop, run the
design-interview skill on an HTML file.
- Generate an option board:
& '...\node.exe' '...\design-interview\src\cli.js' board '.\design-interview-round1-options.json' --out '.\design-interview-option-board.html'
- Observe that the command returns a
file:///.../design-interview-option-board.html URL.
- Attempt to open that
file:// URL in the Codex in-app Browser.
- Observe that the browser remains on
about:blank and the runtime rejects the navigation.
- Continue the interview round in Default mode.
- Observe that no Codex App multiple-choice picker is available; the user must type
1, 2, 3, etc. in chat.
Expected Behavior
- The option board should open visibly inside Codex Desktop without requiring a manual workaround.
- The user should be able to select a choice through the host interactive question UI, or the skill should clearly and automatically fall back to typed-number chat.
Actual Behavior
file:// board navigation is blocked by Browser Use URL policy.
- The board does not appear until the agent starts a local static server and opens a
http://127.0.0.1:<port>/... URL.
- The intended interactive choice tool is unavailable in Codex Desktop Default mode, so the experience degrades into manual number entry.
Evidence
- Browser rejection:
Browser Use rejected this action due to browser security policy.
Reason: Browser Use cannot visit the requested page because its URL is blocked by the Browser Use URL policy.
- Working workaround:
http://127.0.0.1:8787/design-interview/design-interview-option-board.html
The in-app browser rendered option cards 1-5 after this localhost fallback.
- Source evidence:
design-interview/src/cli.js:241 console.log(res.url); // file:// ...
design-interview/src/board.js:350 return { path: out, url: pathToFileURL(out).href, ... }
design-interview/core/interview.md:62 answers are expected through AskUserQuestion
design-interview/core/interview.md:68 openBoard(url) receives a file:// link
Root Cause
The skill contract assumes file:// option-board URLs are valid Codex Browser targets and that Codex exposes a working interactive choice tool for skill interviews. In the observed Codex Desktop runtime:
file:// is blocked by Browser Use URL policy.
- The available interactive choice tool is not usable in Default mode for this skill flow.
The generated HTML itself is not the problem: the same board rendered correctly once served over 127.0.0.1.
Proposed Fix
- Add a Codex-specific
openBoard adapter:
- Prefer
http://127.0.0.1:<free-port>/... for generated board files in Codex Desktop.
- Keep
file:// only for hosts where it is actually supported.
- If Browser policy rejects a URL, surface a structured fallback reason and automatically retry through the localhost adapter.
- Update Browser plugin docs or policy:
- Either allow safe
file:// navigation for generated workspace artifacts, or remove file:// from the supported-local-target wording.
- Fix the choice tool surface:
- Expose
AskUserQuestion / request_user_input for skill-driven multiple-choice rounds in Codex Desktop Default mode, or
- Update the skill adapter to declare that Codex Desktop uses typed-number fallback and never imply that clickable choices will appear.
Verification Plan
- Generate a board with
node src/cli.js board ... --out ....
- In Codex Desktop, verify the board opens without a security rejection.
- Verify the browser URL is either an allowed
file:// URL or an automatically started http://127.0.0.1:<port>/... URL.
- Run a full
design-interview round and verify the user can select one of 3-5 options through the intended Codex UI or a clearly labeled typed fallback.
- Regression check: confirm GJC/Claude hosts that already support
file:// are not broken.
This issue or PR was generated by LazyCodex.
Tag: lazycodex-generated
Summary
Running the
design-interviewskill inside Codex Desktop exposes two related integration failures:file://..., but Codex Browser rejectsfile://navigation with the Browser Use URL policy, leaving the in-app browser onabout:blank.AskUserQuestion/request_user_input) for selecting one of the board options, but in Codex Desktop Default mode that choice UI is not usable, so the user must type numbers manually.Together these break the intended "show the board, then ask one multiple-choice question" flow.
Environment
C:\Users\devsw\OneDrive\문서\design-interviewdesign-interview@0.1.0fromC:\Users\devsw\.claude\skills\design-interview@sisyphuslabs/omo-codex-plugin@4.11.1C:\Users\devsw\.codex\plugins\cache\openai-bundled\browser\26.609.41114codex --versionfailed withAccess is deniedC:\Users\devsw\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\bin\node.exeRepository Decision
design-interview/src/cli.js:240-241printsres.urlwith the commentfile:// 링크 — 호스트 브라우저로 바로 열 수 있는 보드 링크.design-interview/src/board.js:349-350returnspathToFileURL(out).href.design-interview/core/interview.md:68-69documents that Codex app should open thefile://option-board URL and that the board answer should be received throughAskUserQuestion.control-in-app-browser/SKILL.md:3say local targets includefile://.Browser Use cannot visit the requested page because its URL is blocked by the Browser Use URL policy.http://127.0.0.1:8787/design-interview/design-interview-option-board.htmlrendered correctly in the in-app browser.Reproduction
design-interviewskill on an HTML file.file:///.../design-interview-option-board.htmlURL.file://URL in the Codex in-app Browser.about:blankand the runtime rejects the navigation.1,2,3, etc. in chat.Expected Behavior
Actual Behavior
file://board navigation is blocked by Browser Use URL policy.http://127.0.0.1:<port>/...URL.Evidence
Root Cause
The skill contract assumes
file://option-board URLs are valid Codex Browser targets and that Codex exposes a working interactive choice tool for skill interviews. In the observed Codex Desktop runtime:file://is blocked by Browser Use URL policy.The generated HTML itself is not the problem: the same board rendered correctly once served over
127.0.0.1.Proposed Fix
openBoardadapter:http://127.0.0.1:<free-port>/...for generated board files in Codex Desktop.file://only for hosts where it is actually supported.file://navigation for generated workspace artifacts, or removefile://from the supported-local-target wording.AskUserQuestion/request_user_inputfor skill-driven multiple-choice rounds in Codex Desktop Default mode, orVerification Plan
node src/cli.js board ... --out ....file://URL or an automatically startedhttp://127.0.0.1:<port>/...URL.design-interviewround and verify the user can select one of 3-5 options through the intended Codex UI or a clearly labeled typed fallback.file://are not broken.This issue or PR was generated by LazyCodex.
Tag: lazycodex-generated