From 0558efb3763b5d324b67a0008de9220c1dc7b595 Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 7 Jul 2026 11:17:22 +0200 Subject: [PATCH] fix(plugin): remove redundant hooks path from manifest Claude Code auto-loads hooks/hooks.json by convention; declaring it explicitly in .claude-plugin/plugin.json makes it resolve twice and fails plugin load with "Duplicate hooks file detected". --- .claude-plugin/plugin.json | 1 - CHANGELOG.md | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 10f5e7d..ed27071 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -14,7 +14,6 @@ "agents": [ "./agents/purchasely-sdk-expert.md" ], - "hooks": "./hooks/hooks.json", "keywords": [ "purchasely", "sdk", diff --git a/CHANGELOG.md b/CHANGELOG.md index 37848af..4e8af9a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ All notable changes to this project are documented here. The format is based on ### Fixed +- `.claude-plugin/plugin.json` no longer declares `hooks: "./hooks/hooks.json"`. Claude Code loads `hooks/hooks.json` automatically by convention, so the explicit reference caused a "duplicate hooks file" load error on install. - Android references (`api-reference.md`, `migration-v6.md`, `concepts/paywall-actions.md`) no longer show a separate `import io.purchasely.ext.interceptAction` / `removeActionInterceptor`. As of SDK `6.0.0-rc.2`, both are inline member functions of `Purchasely` — importing `io.purchasely.ext.Purchasely` is enough. - iOS references (`api-reference.md`, `migration-v6.md`) align with the SDK v6 API renames: the interceptor presentation identifier is `info.presentation?.screenId` (was `.id`), and `readyToOpenDeeplink(_:)` / `isDeeplinkHandled(deeplink:)` are documented as **removed** in v6 (→ `allowDeeplink(_:)` / `handleDeeplink(_:)`) rather than deprecated-until-v7.