openai / openai/codex-action

Inline prompts are copied into the action helper process argv

Open
#154 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
1.2k
Forks
170
PR merge metrics
No merged PRs in 30d

Description

Summary

The composite action copies the complete inline prompt input from CODEX_PROMPT into the argument vector of the internal Node helper:

node "$ACTION_PATH/dist/main.js" run-codex-exec \
  --prompt "${CODEX_PROMPT}" \
  ...

runCodexExec() later sends the same text to codex exec over stdin, so putting the prompt in the intermediate helper argv is unnecessary.

Reproduction / evidence

Current main is 86365089eb2b84e0a8fb0717b304f8bdcb13b20e.

Any workflow using the inline prompt input exposes the expanded prompt in the dist/main.js process command line for the lifetime of the helper. On Windows the intermediate CreateProcess invocation also consumes the platform command-line limit before Codex starts; long multiline prompts can therefore fail at wrapper launch even though the downstream Codex interface is stdin-based.

prompt-file does not have this problem because only its path is passed.

Expected behavior

Keep inline prompt bytes out of the helper argv. The composite step can leave the value in its existing environment variable and pass only a fixed source selector or variable name to the internal helper, which should then read the value before spawning Codex.

Suggested fix

Add an internal environment-backed prompt source for run-codex-exec, switch action.yml to pass only the fixed environment variable name, retain the existing inline and file helper interfaces for compatibility, and add regression coverage for multiline prompt selection and mutually exclusive sources.

Impact

This avoids command-line length failures, reduces unnecessary prompt exposure through process listings, and preserves the intended stdin boundary between the action wrapper and Codex.

Contributor guide

No contributing guide indexed for this repository

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 action.yml and the runCodexExec() entry point in the internal Node helper; trace how inline and file prompt sources reach dist/main.js and then codex exec. Add the environment-backed source while preserving existing interfaces, and run the regression coverage for multiline selection and mutually exclusive sources.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, nodejs, typescript
Domain
ci-cd, devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.