Skip to content

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.

Hookbeta

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

TypeQuestionAnswers
ChoiceHow many asks does the message contain?Zero · One · Two_or_more
ChoiceHow many points does it contain?Single_point · Two_or_three_points · More_than_three_points

How it works

  1. Stop event delivers the agent's latest message; short messages skipped
  2. Jev answers the two Choice questions
  3. Both >= 0.80: block and instruct one-ask-at-a-time continuation
  4. 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-jev
  • A Jev powered hook that detects overloaded multi-topic multi-question messages…

    wh000wh000/awesome-jev-live
  • Codex 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.

    ProjectbetaPython
  • Fail-open Codex UserPromptSubmit hook that asks Jev for task type, complexity, risk and execution mode and injects it as advisory context.

    HookbetaPython
  • Fork 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.

    Projectbeta
  • Software-factory supervisor where Jev independently judges coding agents' completion, test sufficiency, progress and need for a human.

    ProjectbetaPython
  • Claude Code Stop hook that blocks an unverified done: one four-question Jev call only when files changed and no check passed.

    PluginbetaTypeScript
  • Deterministic-first 'System 1.5' gate for coding agents: triages test failures, breaks doom loops and governs effort, with optional Jev.

    CLIbetaPython