aboutsummaryrefslogtreecommitdiff
path: root/src/integration/assets/claude
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-06-21 02:38:14 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-06-21 02:42:39 +0300
commit92a10fc044d42b216317696a4e8e6f70d7cc7a7d (patch)
treea45fb881c85e66ff8641fa84bb2a1bf0ead584ed /src/integration/assets/claude
parent73b137a4ae75cb1465e8d4ddfc293ff7366d8133 (diff)
fix: protect root agent restore sessions
refs #712
Diffstat (limited to 'src/integration/assets/claude')
-rw-r--r--src/integration/assets/claude/herdr-agent-state.ps13
-rw-r--r--src/integration/assets/claude/herdr-agent-state.sh4
2 files changed, 5 insertions, 2 deletions
diff --git a/src/integration/assets/claude/herdr-agent-state.ps1 b/src/integration/assets/claude/herdr-agent-state.ps1
index dc78efd2..dcc9d4df 100644
--- a/src/integration/assets/claude/herdr-agent-state.ps1
+++ b/src/integration/assets/claude/herdr-agent-state.ps1
@@ -2,7 +2,7 @@
# managed by herdr; reinstalling or updating the integration overwrites this file.
# add custom hooks beside this file instead of editing it.
# HERDR_INTEGRATION_ID=claude
-# HERDR_INTEGRATION_VERSION=6
+# HERDR_INTEGRATION_VERSION=7
param([string]$Action = "")
@@ -17,6 +17,7 @@ try {
exit 0
}
+if (-not [string]::IsNullOrWhiteSpace($payload.agent_id)) { exit 0 }
if ($payload.hook_event_name -eq "SubagentStop") { exit 0 }
$sessionId = $payload.session_id
diff --git a/src/integration/assets/claude/herdr-agent-state.sh b/src/integration/assets/claude/herdr-agent-state.sh
index ce072189..cb5e840d 100644
--- a/src/integration/assets/claude/herdr-agent-state.sh
+++ b/src/integration/assets/claude/herdr-agent-state.sh
@@ -3,7 +3,7 @@
# managed by herdr; reinstalling or updating the integration overwrites this file.
# add custom hooks beside this file instead of editing it.
# HERDR_INTEGRATION_ID=claude
-# HERDR_INTEGRATION_VERSION=6
+# HERDR_INTEGRATION_VERSION=7
set -eu
@@ -50,6 +50,8 @@ if hook_input_file:
hook_event_name = str(hook_input.get("hook_event_name") or "")
is_subagent = bool(hook_input.get("agent_id"))
+if is_subagent:
+ raise SystemExit(0)
if hook_event_name == "SubagentStop":
# SubagentStop is a completion event. Older Herdr integrations mapped it
# to durable working, but Claude recap/away-summary can emit it after the