From a524fc545c94a9af335e0a618bd53f0e2c5acd9c Mon Sep 17 00:00:00 2001 From: Timo Clasen Date: Sun, 20 Jul 2025 01:20:07 +0200 Subject: [PATCH] fix(hooks): prevent session_complete hook from firing on subagent sessions (#1149) --- packages/opencode/src/config/hooks.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/opencode/src/config/hooks.ts b/packages/opencode/src/config/hooks.ts index 973575b7..8772c9c6 100644 --- a/packages/opencode/src/config/hooks.ts +++ b/packages/opencode/src/config/hooks.ts @@ -31,9 +31,13 @@ export namespace ConfigHooks { } }) - Bus.subscribe(Session.Event.Idle, async () => { + Bus.subscribe(Session.Event.Idle, async (payload) => { const cfg = await Config.get() if (cfg.experimental?.hook?.session_completed) { + const session = await Session.get(payload.properties.sessionID) + // Only fire hook for top-level sessions (not subagent sessions) + if (session.parentID) return + for (const item of cfg.experimental.hook.session_completed) { log.info("session_completed", { command: item.command,