ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-24, Friday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

Claude Code Hooks: Config, Matchers සහ PreToolUse ආරක්ෂක ක්‍රමය

Claude Code Hooks: Config, Matchers සහ PreToolUse ආරක්ෂක ක්‍රමය

Claude Code හි Permission Prompt භාවිතා කරපු ඔබට, Hooks කියන තවත් තලයක් තියෙනවා. මෙය සෙස්සන් එකේ විශේෂ ස්ථානවලදී ක්‍රියාත්මක වන deterministic shell command, HTTP endpoint, MCP tool, prompt හෝ sub‑agent වගේ ක්‍රියාවලියක්. Hook එකක් අවසරය අනුමත, ප්‍රතික්ෂේප හෝ වෙනස් කරලා ඉදිරියට යන්න පුළුවන්.

Hooks ගොනුවේ සැකසුම තුනේ පළලින් සකස් කරයි – .claude/settings.json (project) හෝ ~/.claude/settings.json (user). JSON ව්‍යුහය මෙසේය:

{ "hooks": { "PreToolUse": [ { "matcher": "Bash", "hooks": [ { "type": "command", "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh", "if": "Bash(rm *)" } ] } ] } }

Hook event (PreToolUse) යනු tool එකක් ඇමතුමක් කිරීමට පෙර සිදු වන ලයිෆ්සයිකල් අවස්ථාවයි. Event වර්ග තුනක් තියෙනවා – SessionStart/SessionEnd (සෙෂන් එකකට එකවර), UserPromptSubmit/Stop (පාරිභෝගික ප්‍රශ්න එකකට), සහ PreToolUse/PostToolUse (tool call එකකට). Matcher ("matcher": "Bash") මගින් event එක ක්‍රියාත්මක විය යුතු tool නාමය තෝරයි. Hook handler (inner hooks) තුළ command, http, mcp_tool, prompt, agent වැනි වර්ග 5ක් ඇත.

Matcher regex වශයෙන් පරීක්ෂා කරයි. උදා: Edit කියන matcher එක NotebookEdit ටත් ගැලපේ, එමනිසා නිශ්චිත tool එකක් තෝරන්න ^Edit$ වැනි pattern භාවිතා කරන්න. MCP tool නම් mcp__memory__.* වගේ suffix එකක් දිය යුතුයි.

Hook එකේ ප්‍රතිඵල වාර්තා කිරීම දෙකක් ඇත. එකක් exit code පමණයි – 0 (සාර්ථක, කිසිම තීරණයක් නැත) හෝ 2 (බලපෑම, stderr හි පණිවුඩය Claude වෙත යවයි). අනෙක් එකේ exit 0 සමඟ stdout හි JSON මුද්‍රණය කරයි. PreToolUse සඳහා JSON ආකෘතිය මෙසේය:

{ "hookSpecificOutput": { "hookEventName": "PreToolUse", "permissionDecision": "deny", "permissionDecisionReason": "Recursive rm is blocked. Delete specific files instead." } }

ශ්‍රී ලංකාවට ඇති වැදගත්කම

  • සිසුන් – AI‑based coding assistant භාවිතා කරන විද්‍යාල/විශ්වවිද්‍යාල සිසුන්ට, Hook සැකසුම ඉගෙන ගැනීමෙන් tool permission වල ආරක්ෂාව සහ නිවැරදි පරිසර සැකසුම පිළිබඳ හොඳ අවබෝධයක් ලැබේ.
  • ඩෙවලොපර්ලා – ප්‍රොජෙක්ට් එකක CI/CD pipeline හෝ automation script එකක් තුළ Claude Code hooks එකතු කිරීමෙන්, අනිසි command (උදා: recursive rm) වැලැක්වීමේ security layer එකක් ගොඩනැගිය හැක.
  • ව්‍යාපාර – දත්ත ආරක්ෂාව, compliance, සහ operational risk management සදහා hooks භාවිතා කරමින්, AI‑driven tool usage එකේ governance එක තහවුරු කරගත හැක.

Hook configuration එකේ සුළු වැරදි (regex anchoring, JSON format) නිසා tool call එක වැරදි ලෙස අවහිර විය හැකි බැවින්, නිවැරදි සැකසුම අත්‍යවශ්‍යය. ඉදිරි කාලයේ Claude Code වැඩිදියුණු වන තරමට, developers ලා මෙම නවතම Hook විස්තර හොඳින් අධ්‍යයනය කරගෙන, තමන්ගේ projects වලට ආරක්ෂිත AI assistant එකක් එක් කරගත යුතුයි.

Hook එකක් නිවැරදිව සකස් කර, අනිසි command එකක් අවහිර කරලා, ඔබේ coding workflow එක තවත් නරඹන ලෙස නිර්මාණය කරගන්න.

💡 ඔබේ project එකේ Claude Code Hooks දැන් සකස් කර බලන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#Claude Code #Hooks #PreToolUse #Developers #Automation