[Bug] Plugin cache unknown/ directory created without executable permissions on hook scripts

Resolved 💬 3 comments Opened Mar 25, 2026 by Delibread0601 Closed Mar 27, 2026

Bug Description
Title: SessionStart:startup hook error caused by plugin cache unknown/ directory missing executable permissions

Body:

Description

Every session startup shows SessionStart:startup hook error for plugins that define SessionStart hooks (e.g. explanatory-output-style,
learning-output-style).

Root Cause

Claude Code creates an unknown/ version directory under each plugin's cache at startup alongside the hash-versioned directory. The .sh files
in the unknown/ directory are created without executable permissions (-rw-r--r--), while the hash-versioned directory has correct permissions
(-rwxr-xr-x):

-rwxr-xr-x session-start.sh # b10b583de281/ (works)
-rw-r--r-- session-start.sh # unknown/ (fails)

The hook command ${CLAUDE_PLUGIN_ROOT}/hooks-handlers/session-start.sh is invoked directly (not via bash), so missing +x causes execution
failure.

Steps to Reproduce

  1. Enable explanatory-output-style@claude-plugins-official (or any plugin with SessionStart hooks)
  2. Start a new Claude…

Note: Content was truncated.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗