Click: a Codex plugin that prevents repeated planning and over-verification #41319
grapefruit0205
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hi everyone,
I built an open-source Codex plugin called Click to address a behavior I kept seeing in high-reasoning coding agents:
The implementation would already be complete, but the agent would continue to:
The problem was not that the model was incapable. In many cases, it was capable enough to identify too many possible risks and did not know when to stop.
Prompt instructions such as “do not overthink” or “verify only once” helped with short tasks, but they were not reliable during longer runs. So I moved the constraint outside the prompt and implemented it with Codex Hooks and persistent state.
What Click does
For a software change, Click creates one compact execution contract containing:
The contract is shown first, and the user approves it in a later turn. The initial request is never treated as approval of an unseen contract.
After approval, Click can enforce the following observable behavior:
update_plancalls;Verification budgets
Click supports three verification scales:
quick: 1 unitfocused: 4 unitsfull: 10 unitsEach check is classified as:
targeted: 1 unitbroad: 3 unitsdeep: 5 unitsThe Hook does not blindly trust the submitted class. It infers a minimum cost from the actual argv and target scope.
For example:
This prevents a complete test suite from being submitted as a cheap targeted check.
Structured capabilities
During active work, Click uses versioned
inspect,mutate, andverifyrequests with argv arrays.Accepted commands are executed without a shell, so pipelines, redirects, command substitution, and shell wrappers cannot be hidden inside the capability request.
Click also detects when final verification unexpectedly modifies protected Git content. In that case, the verification result becomes stale instead of being recorded as successful.
Modes
Click supports:
@Click;Installation
All reactions