hookify plugin: Python 3.8 compatibility issue with type hints
Resolved 💬 3 comments Opened Jan 22, 2026 by jeffreyjose07 Closed Jan 25, 2026
Description
The hookify plugin fails to load on Python 3.8 due to use of PEP 585 style type hints (lowercase tuple as generic) which requires Python 3.9+.
Error
File "/Users/jeffrey.jose/.claude/plugins/cache/claude-plugins-official/hookify/e30768372b41/core/config_loader.py", line 87, in <module>
def extract_frontmatter(content: str) -> tuple[Dict[str, Any], str]:
TypeError: 'type' object is not subscriptable
Root Cause
Line 87 in core/config_loader.py uses:
def extract_frontmatter(content: str) -> tuple[Dict[str, Any], str]:
The lowercase tuple[...] syntax for generics was introduced in Python 3.9 (PEP 585). Python 3.8 requires using Tuple from the typing module.
Fix
- Add
Tupleto the typing imports:
from typing import List, Optional, Dict, Any, Tuple
- Change line 87 to use
Tuple:
def extract_frontmatter(content: str) -> Tuple[Dict[str, Any], str]:
Environment
- macOS Darwin 25.3.0
- Python version: likely 3.8.x (system default on some macOS versions)
- Claude Code with hookify plugin
Workaround
Users can manually edit the cached plugin file at:~/.claude/plugins/cache/claude-plugins-official/hookify/*/core/config_loader.py
But this fix is overwritten when the plugin updates.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗