feat(hooks): use extension dir files instead of tmp dir files#2478
feat(hooks): use extension dir files instead of tmp dir files#2478DennisYu07 merged 11 commits intomainfrom
Conversation
… into feat/hooks-plugin
📋 Review SummaryThis PR improves the variable replacement mechanism for Claude hooks extensions by moving it from the temporary directory to the extension installation directory, and fixes shell escaping issues with 🔍 General Feedback
🎯 Specific Feedback🟡 High
🟢 Medium
🔵 Low
✅ Highlights
|
Code Coverage Summary
CLI Package - Full Text ReportCore Package - Full Text ReportFor detailed HTML reports, please see the 'coverage-reports-22.x-ubuntu-latest' artifact from the main CI run. |
|
ralph loop install & test max iterations: ralph.loop.mp4 |


TLDR
Improves the variable replacement mechanism for Claude hooks extensions by moving it from the temporary directory to the extension installation directory, and fixes shell escaping issues with $ARGUMENTS.
Dive Deeper
performVariableReplacementwas executed during the Claude hooks extension conversion phase (in the temporary directory), this may cause:2.
$ARGUMENTSescaping Issue: In shellProcessor, the$ARGUMENTSreplacement did not properly handle shell escaping, which could cause execution errors with arguments containing special charactersKey Changes:
performVariableReplacementfromclaude-converter.tstoextensionManager.ts, executing it after the extension is installed to the target directory:${CLAUDE_PLUGIN_ROOT}with the actual extension path.claudedirectory references with.qwen$ARGUMENTSHandling: Split$ARGUMENTSby spaces and escape each argument individually to ensure special characters are handled safelyReviewer Test Plan
then verify:
~/.qwen/extensions)Testing Matrix