Inline prompts are copied into the action helper process argv
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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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