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

  1. Add Tuple to the typing imports:
from typing import List, Optional, Dict, Any, Tuple
  1. 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.

View original on GitHub ↗

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