v1.24.45 · Aug 12, 2026
Fix the plugins quiz q1 (manifest is optional, not required) and clarify subagent resumption, superseding audit PRs #433 and #434
Two auto-generated audit PRs each landed a correct-but-incomplete fix. PR #433 rewrote only the plugins quiz q1 option (b) explanation to say the plugin.json manifest is optional, but left the question asking for the 'only required file' and options (a), (c), (d) still asserting the manifest is required — an internal contradiction both CodeRabbit and Codex flagged (option b was still graded correct for choosing a supposedly-required file that the explanation now called optional). PR #434 replaced the subagents module's vague 'agents are resumable by ID' claim with the SendMessage mechanism but pinned it to 'as of v2.1.76'; that version's official changelog records no Agent resume-parameter removal, and an internal audit note dated the change to v2.1.77 instead, so the version pin was inconsistent and unconfirmed. This PR supersedes both. Verified against the official plugins docs (code.claude.com/docs/en/plugins), which mark .claude-plugin/plugin.json as 'optional if components use default locations': rewrote plugins quiz q1 end-to-end in both languages so the question asks what role the manifest plays (not which file is required), the correct answer is that it is optional with auto-discovery from default locations, and every option and explanation is internally consistent; and corrected the plugin-manifest template description (EN + AR) from 'required' to 'optional'. For subagents, reworded the resume sentence (EN + AR) to describe the observable mechanism — SendMessage({to: agentId}) resumes an agent with its context intact while a fresh Agent call starts new — without pinning a version. Closes #433 and #434. Full EN + AR parity. Patch bump.
Fixed
plugins: rewrite quiz q1 so the manifest reads as optional, not the 'only required file' (EN + AR)
Quiz q1 asked for the 'only required file' and marked .claude-plugin/plugin.json correct, while a partial audit fix had already changed its explanation to say the manifest is optional — a contradiction where the graded answer rewarded picking a supposedly-required file the explanation called optional. Verified against the official plugins docs (manifest 'optional if components use default locations'), the question now asks what role the manifest plays, the correct answer is that it's optional with auto-discovery from default locations, and all four options and explanations are internally consistent. Also swept the rest of the quiz for the same stale wording: q3's decoy no longer claims plugins 'require the plugin manifest', and q1 option (d) now distinguishes the manifest's identity/configuration fields (name, version, author, userConfig) from the skill and hook definitions that live in separate files, rather than calling it 'only metadata'. Supersedes audit PR #433.
plugins: correct the plugin-manifest template description from 'required' to 'optional' (EN + AR)
The plugin.json template card described the manifest as 'The required .claude-plugin/plugin.json manifest', contradicting the module prose and the official docs. Changed it to 'optional' in both languages so the template surface matches.
subagents: describe agent resumption via SendMessage without an unconfirmed version pin (EN + AR)
The module claimed agents are 'resumable by ID' (vague) and an audit fix pinned the mechanism to 'as of v2.1.76'; that version's official changelog records no Agent resume-parameter removal, and an internal note dated the change to v2.1.77 instead, so the version pin was inconsistent and unconfirmed. Reworded to the observable mechanism — SendMessage({to: agentId}) resumes an agent with its context intact, while a fresh Agent call starts a new conversation — in both languages, dropping the version pin. Supersedes audit PR #434.