openai / openai/codex-plugin-cc

codex-cli-runtime skill should instruct agents to use --prompt-file for shell-safe prompt passing

Open Beginner friendly
#388 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
33.3k
Forks
2.3k
PR merge metrics
No merged PRs in 30d

Description

Problem

The codex-cli-runtime skill instructs the codex:codex-rescue subagent to pass task prompts as positional arguments:

node "$CODEX_COMPANION" task "<raw arguments>"

When the prompt contains shell metacharacters (backticks, ${}, (), file paths), zsh interprets them before node receives the argument. This causes the Codex task to fail silently.

Observed errors

(eval):1: permission denied: app/services/results/serial_codes/destroy_service.rb
(eval):1: command not found: find_serial_code
(eval):1: no matches found: .record_limit(count)
(eval):1: parse error near `}'
(eval):1: parse error in command substitution

Root cause

The skill definition (skills/codex-cli-runtime/skill.md) only mentions positional argument passing. However, codex-companion.mjs already supports --prompt-file (line 614, readTaskPrompt function) and piped stdin (readStdinIfPiped).

Suggested fix

Update skills/codex-cli-runtime/skill.md to instruct agents to:

  1. Write the prompt to a temp file
  2. Pass it via --prompt-file /path/to/file instead of as a positional argument

This avoids shell metacharacter expansion entirely.

Environment

  • Claude Code 2.1.185
  • codex plugin 1.0.4
  • macOS (zsh)

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

Read skills/codex-cli-runtime/skill.md and the existing --prompt-file handling in codex-companion.mjs, including readTaskPrompt and readStdinIfPiped. Update the skill instructions to use a temporary prompt file rather than positional prompt arguments, and confirm the documented invocation avoids shell metacharacter expansion.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
documentation
Issue type
Documentation
Difficulty
1/5
Estimated time
Under an hour
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
78/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.