Skip to content

[Night Shift] Fix Windows sandbox and rescue error output#360

Open
Pgarciapg wants to merge 7 commits into
openai:mainfrom
Pgarciapg:exec-assistant/2026-06-05
Open

[Night Shift] Fix Windows sandbox and rescue error output#360
Pgarciapg wants to merge 7 commits into
openai:mainfrom
Pgarciapg:exec-assistant/2026-06-05

Conversation

@Pgarciapg
Copy link
Copy Markdown

Summary

Test plan

  • All 92 existing tests pass
  • Manual: Verify on Windows that sandbox coercion activates
  • Manual: Trigger a companion error and verify the JSON envelope appears on stdout

🤖 Generated with Claude Code

Pgarciapg and others added 7 commits April 3, 2026 00:06
…olation

Add tests/args.test.mjs covering parseArgs (boolean flags, value options,
inline values, short aliases, passthrough positionals, missing value error)
and splitRawArgumentString (space splitting, single/double quotes, backslash
escaping, trailing backslash). Add tests/prompts.test.mjs covering
interpolateTemplate (single key, multiple keys, unknown key, no placeholders,
duplicate key).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Cover graceful output when codex returns empty stdout, correct error
message formatting on non-zero exit codes and signals, timeout/stall
handling with slow-task and interruptible-slow-task behaviors, cancel
interruption of running turns, parseStructuredOutput edge cases, and
binaryAvailable for missing binaries. Add "empty-stdout" behavior to
the fake codex fixture.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…EADME

The README documented all 7 commands and the rescue subagent but omitted
the three internal skills (codex-cli-runtime, codex-result-handling,
gpt-5-4-prompting) that ship with the plugin. Add them to the "After
install" section with a note that they are not user-invocable.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add a 5-second timeout to sendBrokerShutdown to prevent indefinite hangs
during SessionEnd hook. Implements proper cleanup matching the pattern
used in waitForBrokerEndpoint with timer.unref() for graceful shutdown.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add --context flag to allow users to pass additional context string when
delegating tasks. The context is appended to the prompt with a separator.
Updates argument parsing, passes context through task request flow, and
documents the flag in SKILL.md and commands.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…GIN_DATA

The session-lifecycle-hook was exporting CLAUDE_PLUGIN_DATA which is
a shared namespace used by all Claude Code plugins. This could cause
conflicts when multiple plugins are installed.

Changes:
- Export plugin data dir as CODEX_PLUGIN_DATA instead of CLAUDE_PLUGIN_DATA
- Update state.mjs to read CODEX_PLUGIN_DATA first, falling back to CLAUDE_PLUGIN_DATA
- Update tests to expect the new env var name

Fixes openai#338

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds coerceWindowsSandbox() function to map sandbox modes to
danger-full-access on Windows where sandboxed execution is unsupported.
Applied to both buildThreadParams and buildResumeParams (openai#349).

Fixes codex-rescue empty output bug by emitting a structured JSON
envelope to stdout when the companion script fails, allowing the agent
to capture and report errors that previously went only to stderr (openai#350).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@Pgarciapg Pgarciapg requested a review from a team June 5, 2026 05:07
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4500e48543

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

}

const contextSuffix = request.context ? `\n\n---\n\nAdditional context:\n${request.context}` : "";
const fullPrompt = request.prompt ? `${request.prompt}${contextSuffix}` : "";
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve --context when resuming without a prompt

When users run task --resume/--resume-last --context "..." without a positional prompt, this sets fullPrompt to an empty string, so runAppServerTurn falls back to the generic continue prompt and the supplied context is never sent to Codex. That makes the new documented --context flag ineffective for the common resume flow where the extra context is the only instruction for the follow-up.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant