jev-unpack-hook
Codex and Claude Code Stop hook that asks Jev how many asks and points a long agent message has, pacing multi-ask messages.
Overview
Jev Unpack is a Stop hook for Codex and Claude Code aimed at reducing cognitive fatigue when agents hand control back to users. Long-running agents often interrupt with a single message listing several unrelated questions or approvals without enough context. A skill telling the agent to pace these is quickly forgotten, and having the agent check every message is slow and expensive, so the hook delegates detection to Jev.
Short messages are ignored. For longer ones, the hook sends the agent's latest message to jev-latest with two Choice questions: how many asks it contains (Zero, One or Two_or_more) and how many points (Single_point, Two_or_three_points or More_than_three_points). Following TypeSafe's confidence-gated routing pattern, if both answers indicate a multi-ask, multi-point message with confidence at least 0.80, the hook blocks the stop and instructs the agent to continue one issue at a time with context; between 0.50 and 0.80 it blocks with a prompt asking the user whether to go through the points one at a time. Otherwise the stop proceeds.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | How many asks does the message contain? | Zero · One · Two_or_more |
| Choice | How many points does it contain? | Single_point · Two_or_three_points · More_than_three_points |
How it works
- Stop event delivers the agent's latest message; short messages skipped
- Jev answers the two Choice questions
- Both >= 0.80: block and instruct one-ask-at-a-time continuation
- 0.50-0.80: block with a confirmation prompt; otherwise allow the stop
Strengths
- Cheap enough to check every long message
- Confidence-gated so uncertain cases ask the user
- Works with both Codex and Claude Code
Caveats
- Requires a TypeSafe key
- No accuracy evaluation reported
At a glance
- Type
- Hook
- Status
- beta
- Language
- Python
- Runtime
- Codex / Claude Code Stop hook
- Has code
- yes
Use cases and integrations
How curated lists describe it
A Jev System One hook for CodeX & Claude Code that detects overloaded multi-topic multi-ask agent messages and paces conversations one ask at a time, adding useful context and info.
yibie/awesome-jevA Jev powered hook that detects overloaded multi-topic multi-question messages…
wh000wh000/awesome-jev-liveCodex and Claude Code Stop hook that asks Jev two Choice questions about each long agent message (how many asks, how many points); code blocks the stop at 0.8 confidence, or asks the user to confirm between 0.5 and 0.8, so the agent raises one ask at a time.
cobanov/awesome-jev
Frequently asked questions
What triggers the hook to intervene?
A long message Jev classifies as two or more asks and more than three points, gated by confidence.
What happens at medium confidence?
Between 0.50 and 0.80 the hook asks the user whether to go through points one at a time.
Why a hook instead of a skill?
The README says skill instructions are forgotten after a few turns, while a hook checks every message.
Related projects
Agent skill where Jev flags 35 AI-writing patterns per paragraph and the model edits only the flagged spots.
ProjectbetaPythonFail-open Codex UserPromptSubmit hook that asks Jev for task type, complexity, risk and execution mode and injects it as advisory context.
HookbetaPythonFork of codex-with-chatgpt where Jev plus fixed rules decide when to bring in web ChatGPT to plan or review and when Codex just acts.
ProjectbetaSoftware-factory supervisor where Jev independently judges coding agents' completion, test sufficiency, progress and need for a human.
ProjectbetaPythonClaude Code Stop hook that blocks an unverified done: one four-question Jev call only when files changed and no check passed.
PluginbetaTypeScriptDeterministic-first 'System 1.5' gate for coding agents: triages test failures, breaks doom loops and governs effort, with optional Jev.
CLIbetaPython