frappe-errors-hooks
Originally fromopenaec-foundation/frappe_claude_skill_package
Installation
SKILL.md
Frappe Hooks Error Diagnosis & Resolution
Cross-ref: frappe-syntax-hooks (syntax), frappe-impl-hooks (workflows), frappe-errors-controllers (controller errors).
Error-to-Fix Mapping Table
| Error / Symptom | Cause | Fix |
|---|---|---|
| Hook not firing at all | Typo in dotted path | Verify module path matches actual file location |
ImportError on bench start |
Wrong module path or circular import | Fix import path; break circular dependency |
AttributeError: module has no attribute |
Function name typo in hooks.py | Match function name exactly to Python definition |
app_include_js not loading |
Path missing assets/ prefix or wrong extension |
Use "assets/myapp/js/file.js" format |
| scheduler_events not running | Scheduler disabled or workers down | bench scheduler enable, check bench doctor |
| doc_events handler never called | DocType name misspelled in dict key | Use exact DocType name with spaces: "Sales Invoice" |
permission_query_conditions breaks list view |
SQL syntax error or frappe.throw() in handler | Return valid SQL string; NEVER throw |
override_doctype_class import failure |
Parent class import path changed between versions | Pin import to correct module path for target version |
extend_doctype_class [v16+] method conflict |
Two extensions define same method name | Rename conflicting methods; check hook resolution order |
Related skills