You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Review gate setup writes to temp dir, but Stop hook reads from persistent dir #59
The setup command runs via Bash (invoked by Claude), where CLAUDE_PLUGIN_DATA is not set → writes stopReviewGate: true to the temp directory.
The Stop hook runs via Claude Code's hook system, where CLAUDE_PLUGIN_DATAis set → reads from the persistent plugin data directory, which still has the default stopReviewGate: false.
Evidence
# Temp dir (written by setup) — gate enabled
/var/folders/.../codex-companion/feat-emoji-<hash>/state.json
→ { "config": { "stopReviewGate": true } }
# Persistent dir (read by hook) — gate still disabled
~/.claude/plugins/data/codex-openai-codex/state/feat-emoji-<hash>/state.json
→ { "config": { "stopReviewGate": false } }
Suggested fix
The setup subcommand in codex-companion.mjs should resolve the persistent plugin data directory the same way hooks do. Options:
Have the skill pass CLAUDE_PLUGIN_DATA as an env var when invoking the setup Bash command.
Have codex-companion.mjs setup detect ~/.claude/plugins/data/codex-openai-codex/ as a fallback when CLAUDE_PLUGIN_DATA is unset.
Write to both directories during setup so either reader finds the correct value.
Implemented in #125 - resolveStateDir() now checks the tmpdir fallback when CLAUDE_PLUGIN_DATA is set but no state.json exists at the primary location.
Activity
tmchow commentedon Apr 3, 2026
Implemented in #125 - resolveStateDir() now checks the tmpdir fallback when CLAUDE_PLUGIN_DATA is set but no state.json exists at the primary location.
docs(ultraplan): handoff §4.4 current limitations + §5 B2 re-verifica…
fix(plugin): close upstream OPEN backlog — openai#59 state migration, o…
Merge pull request #7: close upstream OPEN backlog (openai#59 / opena…
docs(changelog): sync Unreleased with PR #3-#8