Replies: 89 comments 33 replies
|
+1 on this feature. Would be quite useful to play a sound when the model finishes its response, which usually takes quite a long time. |
|
+1 on this feature |
|
I'd also really appreciate this. Even just a basic hook for "I'm done" so we could run a command (to play a sound or whatever) would make it a lot nicer to use. Save me switching windows as often just to check 'is it done yet? no. Is it done yet? no. Is it....'. |
|
it should a suble 'positive' ping sound yes +1 |
|
Agreed Claude Code has this! |
|
+1 |
|
+1 for this feature. I already use hooks with Claude Code by playing a sound when Claude is done or needs feedback (MacOS command |
|
+1 This is a must have now, Cursor just came out with their own Hooks support |
|
please |
|
for sure |
|
+1 |
|
+1 |
|
+1 |
|
This is already sort of a thing through the "notify" config setting it just needs more events than "agent-turn-complete". |
|
+1 |
|
This is currently in development as per @etraut-openai. See here: |
|
+1 |
|
|
Experimentally merged into
|
|
+1 |
|
+1 |
|
This would add a lot of value for external clients. From integrating against App Server, the stream is already rich, but a lot of it is still observational rather than actionable:
What works especially well today is when Codex emits a first-class server request. We’ve live-verified an external-client flow around
So from this side, the missing piece feels less like “more stream” and more like “clearer interruption semantics.” If App Server evolves in this direction, the highest-value additions for external supervisory clients would be a very small set of explicit lifecycle hooks like:
Especially My bias would be to keep this small and high-confidence rather than exposing more low-level item churn. |
|
+1 |
|
+1 |
|
Looks like it’s implemented, but I’d love it if it could work inside a plugin too, like Claude. |
|
👋
…On Sun, Mar 29, 2026 at 00:39 André Luis ***@***.***> wrote:
Looks like it’s implemented, but I’d love it if it could work inside a
plugin too, like Claude.
—
Reply to this email directly, view it on GitHub
<#2150?email_source=notifications&email_token=CAJBYVNDXOTXN2M7MLM3ZRD4TBPCLA5CNFSNUABIM5UWIORPF5TWS5BNNB2WEL2ENFZWG5LTONUW63SDN5WW2ZLOOQXTCNRTGYYTGMJTUZZGKYLTN5XKOY3PNVWWK3TUUVSXMZLOOSWGM33PORSXEX3DNRUWG2Y#discussioncomment-16361313>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/CAJBYVMFEWNHJZYETWD27K34TBPCLAVCNFSM6AAAAACDSEK3VCVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTMMZWGEZTCMY>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
|
Hey what's up?
…On Wed, Apr 8, 2026 at 18:30 N. Walker ***@***.***> wrote:
Ditto
—
Reply to this email directly, view it on GitHub
<#2150 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/CAJBYVIRMCGWLNOSR7LAZS34U2EFFAVCNFSM6AAAAACDSEK3VCVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTMNBZGI2DCNI>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
tool use hooks: synchronous vs. asynchronous PatternOne pattern worth copying from the Claude Code hooks design is distinguish synchronous PreToolUse (can block) from async PostToolUse (observe only). The blocking hook is the one that actually prevents the Codex branch-name command-injection class of issues - async logging doesn't. What I feel should be the shape of it:Input (stdin): {
"tool_name": "...",
"tool_input": {...},
"session_id": "...",
"cwd": "..."
}Output (stdout): {
"decision": "allow" | "deny",
"reason": "..."
}Exit codes:
Secret HandlingSecret handling deserves first-class support too: let the hook rewrite tool_input to substitute placeholders ( Disclosure: I maintain Prismor. |



Uh oh!
There was an error while loading. Please reload this page.
Hi, thanks for your hard work!
I think adding hook features, execute commands at certain events, would be quite useful.
Like when codex needs user to respond, or the process is finished, users can play sounds or send notifications.
All reactions