Skip to content

[Night Shift] Fix session env leak #338#339

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

[Night Shift] Fix session env leak #338#339
Pgarciapg wants to merge 6 commits into
openai:mainfrom
Pgarciapg:exec-assistant/2026-05-20

Conversation

@Pgarciapg
Copy link
Copy Markdown

Summary

  • Fixed session-lifecycle-hook exporting CLAUDE_PLUGIN_DATA which polluted global session environment
  • Now exports as CODEX_PLUGIN_DATA to use a codex-specific namespace
  • Updated state.mjs to read CODEX_PLUGIN_DATA first, falling back to CLAUDE_PLUGIN_DATA for backwards compatibility

Work Items Completed

Work Items Skipped

Test plan

  • All 92 existing tests pass
  • Session start hook test updated to verify new env var name
  • Backwards compatibility maintained via fallback to CLAUDE_PLUGIN_DATA

🤖 Generated with Claude Code

Pgarciapg and others added 6 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>
@Pgarciapg Pgarciapg requested a review from a team May 20, 2026 05:10
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