சுருக்கமான சுருக்கம்: Claude Code hooks என்பது AI கோடிங் அமர்வுகளின் போது குறிப்பிட்ட வாழ்க்கைச் சுழற்சி புள்ளிகளில் செயல்படும் ஆட்டோமேஷன் ஸ்கிரிப்ட்கள் ஆகும், டெவலப்பர்கள் தனிப்பயன் கட்டளைகளை இயக்க, செயல்களைச் சரிபார்க்க, குறியீட்டை வடிவமைக்க, அறிவிப்புகளை அனுப்ப மற்றும் திட்ட விதிகளைச் செயல்படுத்த அனுமதிக்கிறது. இந்த hooks SessionStart, PreToolUse மற்றும் PostToolUse போன்ற நிகழ்வுகள் மூலம் Claude's பணிகளை ஒருங்கிணைக்கிறது, கட்டளை அடிப்படையிலான, HTTP அடிப்படையிலான மற்றும் ப்ராம்ப்ட் அடிப்படையிலான செயலாக்க முறைகளை கட்டமைக்கக்கூடிய காலக்கெடு மற்றும் வெளியேறும் குறியீடு நடத்தை மூலம் ஆதரிக்கிறது.
Claude Code's hook system, AI கோடிங் உதவியாளரை ஒரு பயனுள்ள கருவியிலிருந்து முழுமையான தானியங்கு மேம்பாட்டு சூழலாக மாற்றுகிறது. பெரும்பாலான டெவலப்பர்கள் hooks மூலம் கிடைக்கும் கட்டுப்பாட்டின் அளவை உணர்வதில்லை.
ஆனால் இங்குள்ள விஷயம் என்னவென்றால் - hooks கோப்பு திருத்தங்களுக்குப் பிறகு ஸ்கிரிப்ட்களை இயக்குவது மட்டுமல்ல. அவை Claude's முழு முடிவு எடுக்கும் செயல்முறை முழுவதும் இடைமறிப்பு புள்ளிகளை வழங்குகின்றன. ஒரு கட்டளையைச் செயல்படுத்துவதற்கு முன்பு. ஒரு கருவி அழைப்பு தோல்வியடைந்த பிறகு. அதற்கு அனுமதி தேவைப்படும்போது. பயனர் ப்ராம்ப்ட்களைச் செயலாக்குவதற்கு முன்புகூட.
இந்த வழிகாட்டி அதிகாரப்பூர்வ ஆவணங்களில் உள்ள அனைத்தையும், மேலும் சமூக விவாதங்கள் உண்மையில் உற்பத்தி சூழல்களில் வேலை செய்வதாக வெளிப்படுத்தும் நடைமுறை முறைகளையும் உள்ளடக்கியது.
Claude Code Hooks உண்மையில் என்ன செய்கின்றன
அதிகாரப்பூர்வ Claude Code ஆவணங்களின்படி, hooks என்பது பயனர் வரையறுத்த ஷெல் கட்டளைகள், HTTP எண்ட்பாயிண்ட்கள் அல்லது ப்ராம்ப்ட் ஊடுருவல்கள் ஆகும், அவை Claude Code's வாழ்க்கைச் சுழற்சியில் குறிப்பிட்ட புள்ளிகளில் செயல்படுகின்றன. அவை stdin வழியாக கட்டமைக்கப்பட்ட JSON உள்ளீட்டைப் பெறுகின்றன மற்றும் வெளியேறும் குறியீடுகள் அல்லது HTTP பதில்கள் மூலம் பணிப்பாய்வைக் கட்டுப்படுத்துகின்றன.
பெரும்பாலான வழிகாட்டிகள் பரிந்துரைப்பதை விட ஆட்டோமேஷன் ஆழமானது. Hooks கருவி செயலாக்கத்தை முழுமையாகத் தடுக்கலாம், Claude's காரணங்களில் கூடுதல் சூழலைச் செருகலாம், வெளிப்புற சேவைகளைத் தூண்டலாம் மற்றும் Claude மதிக்க வேண்டிய சரிபார்ப்பு விதிகளைச் செயல்படுத்தலாம்.
மூன்று முக்கிய hook வகைகள் உள்ளன:
- கட்டளை hooks: stdout, stderr மற்றும் வெளியேறும் குறியீடுகள் மூலம் தொடர்பு கொள்ளும் ஷெல் ஸ்கிரிப்ட்கள்
- HTTP hooks: POST கோரிக்கைகளைப் பெற்று JSON பதில்களைத் திரும்ப அனுப்பும் தொலைநிலை எண்ட்பாயிண்ட்கள்
- ப்ராம்ப்ட் hooks: குறிப்பிட்ட நிகழ்வுகளில் Claude's சூழலில் செருகப்பட்ட டைனமிக் அறிவுறுத்தல்கள்
ஒவ்வொரு வகையும் வெவ்வேறு ஆட்டோமேஷன் முறைகளுக்கு சேவை செய்கிறது. கட்டளை hooks உள்ளூர் சரிபார்ப்பு மற்றும் வடிவமைப்பைக் கையாளுகின்றன. HTTP hooks வெளிப்புற சேவைகள் மற்றும் தரவுத்தளங்களுடன் ஒருங்கிணைக்கின்றன. ப்ராம்ப்ட் hooks வெளிப்புற செயல்முறைகள் இல்லாமல் Claude's நடத்தையை மாற்றியமைக்கின்றன.
Hook வாழ்க்கைச் சுழற்சி மற்றும் நிகழ்வு அமைப்பு
அதிகாரப்பூர்வ ஆவணங்கள் Claude Code's செயலாக்க ஓட்டத்தில் (SessionStart, UserPromptSubmit, PreToolUse, PermissionRequest, PostToolUse, PostToolUseFailure, Notification மற்றும் பிற) நிகழும் பல hook நிகழ்வுகளை வரையறுக்கின்றன. ஒவ்வொரு நிகழ்வும் எப்போது நிகழ்கிறது என்பதைப் புரிந்துகொள்வது எந்த ஆட்டோமேஷன் சாத்தியமாகும் என்பதை தீர்மானிக்கிறது.

| நிகழ்வு | இது எப்போது நிகழும் | தடுக்க முடியுமா |
|---|---|---|
| SessionStart | ஒரு அமர்வு தொடங்கும் அல்லது மீண்டும் தொடங்கும் போது | இல்லை |
| UserPromptSubmit | நீங்கள் ஒரு ப்ராம்ப்ட்டை சமர்ப்பிக்கும்போது, Claude அதைச் செயலாக்குவதற்கு முன்பு | ஆம் |
| PreToolUse | ஒரு கருவி அழைப்பு செயல்படுவதற்கு முன்பு | ஆம் |
| PermissionRequest | அனுமதி உரையாடல் தோன்றும் போது | ஆம் |
| PostToolUse | ஒரு கருவி அழைப்பு வெற்றிகரமாக முடிந்த பிறகு | இல்லை |
| PostToolUseFailure | ஒரு கருவி அழைப்பு தோல்வியடைந்த பிறகு | இல்லை |
| Notification | Claude Code ஒரு அறிவிப்பை அனுப்பும்போது | இல்லை |
| SubmitMessage | Claude பயனருக்கு ஒரு செய்தியை சமர்ப்பிக்கும்போது | இல்லை |
| ContextCompaction | சூழல் சாளரம் வரம்புகளை நெருங்கும் போது | இல்லை |
தடுக்கும் திறன் மிகவும் முக்கியமானது. PreToolUse hooks அபாயகரமான செயல்பாடுகளை அவை செயல்படுவதற்கு முன்பே தடுக்கலாம். Exit code 1 செயலைத் தடுக்கிறது. Exit code 0 அதை அனுமதிக்கிறது. Exit code 2 Claude ஐ மீண்டும் பரிசீலிக்க தூண்டுகிறது.
ஆனால் காத்திருங்கள். PostToolUse hooks செயல்களை மாற்றியமைக்க முடியாது, ஏனெனில் கருவி ஏற்கனவே செயல்பட்டுவிட்டது. இந்த வரம்பு சரிபார்ப்பு தர்க்கம் எவ்வாறு கட்டமைக்கப்படுகிறது என்பதை வடிவமைக்கிறது. முக்கியமான சோதனைகள் PreToolUse இல் இருக்க வேண்டும். சுத்தம் செய்தல் மற்றும் வடிவமைத்தல் PostToolUse இல் இருக்க வேண்டும்.

Claude Code அமைக்கும்போது AI கருவி சலுகைகளை உலாவுக
நீங்கள் Claude Code hooks உடன் வேலை செய்கிறீர்கள் என்றால், உங்கள் பணிப்பாய்வைச் சுற்றி மற்ற AI கருவிகளையும் நீங்கள் தேர்வு செய்யலாம். Get AI Perks AI மற்றும் கிளவுட் கருவிகளுக்கான ஸ்டார்ட்அப் கிரெடிட்கள் மற்றும் மென்பொருள் தள்ளுபடிகளை ஒரே இடத்தில் சேகரிக்கிறது. இந்த தளம் 200+ சலுகைகளைக் கொண்டுள்ளது, ஒவ்வொன்றுக்கும் சலுகை நிபந்தனைகள் மற்றும் கோரிக்கை வழிகாட்டுதல்கள் உள்ளன.
Claude அல்லது பிற AI கருவி சலுகைகளைத் தேடுகிறீர்களா?
Get AI Perks ஐச் சரிபார்க்கவும்:
- Claude மற்றும் பிற AI கருவி சலுகைகளை உலாவவும்
- விண்ணப்பிக்கும் முன் சலுகை நிபந்தனைகளை ஒப்பிடவும்
- உங்கள் கருவி அடுக்கில் ஸ்டார்ட்அப் தள்ளுபடிகளைக் கண்டறியவும்
👉 தற்போதைய AI மென்பொருள் சலுகைகளை ஆராய Get AI Perks ஐப் பார்வையிடவும்.
கட்டமைப்பு மற்றும் கோப்பு அமைப்பு
Hooks ஒரு திட்டத்திற்குள் .claude/settings.json கோப்பில் வரையறுக்கப்படுகின்றன. கட்டமைப்பு ஸ்கீமா உலகளாவிய hooks மற்றும் கருவி-குறிப்பிட்ட மேட்சர்களை ஆதரிக்கிறது, அவை hooks எப்போது செயல்படும் என்பதை வடிகட்டுகிறது.
அடிப்படை கட்டளை hook அமைப்பு:
| { “hooks”: [ { “event”: “PostToolUse”, “command”: “prettier –write”, “args”: [“${file}”] } ] } |
The ${file} variable கருவி உள்ளீட்டிலிருந்து உண்மையான கோப்பு பாதையாக விரிவடைகிறது. அதிகாரப்பூர்வ ஆவணங்களின்படி, hooks கட்டளை மற்றும் args புலங்களில் இந்த மாறி விரிவாக்கங்களை ஆதரிக்கிறது.
Hook இருப்பிட படிநிலை
Claude Code hook வரையறைகளுக்கு பல இடங்களைச் சரிபார்க்கிறது, ஒரு தெளிவான முன்னுரிமை வரிசையுடன்:
- திட்ட-நிலை: தற்போதைய பணிப்பாய்வில் .claude/settings.json
- பயனர்-நிலை: அனைத்து அமர்வுகளுக்கும் ~/.claude/settings.json
- செருகுநிரல்-வழங்கிய: நிறுவப்பட்ட செருகுநிரல்களுடன் தொகுக்கப்பட்ட Hooks
திட்ட hooks அதே நிகழ்வுக்கு பயனர் hooks ஐ மேலெழுதுகின்றன. இது உலகளாவிய அறிவிப்பு கையாளுபவர்களைப் பராமரிக்கும் போது திட்ட-குறிப்பிட்ட வடிவமைப்பு விதிகளை அனுமதிக்கிறது.
தேர்ந்தெடுக்கப்பட்ட செயலாக்கத்திற்கான Matcher வடிவங்கள்
The matcher system hooks ஐ குறிப்பிட்ட கருவிகள் அல்லது நிபந்தனைகளுக்கு வடிகட்டுகிறது. Matchers இல்லாமல், hooks அவற்றின் நிகழ்வின் ஒவ்வொரு நிகழ்விற்கும் செயல்படும்.
| { “hooks”: [ { “event”: “PreToolUse”, “matcher”: { “toolName”: “edit_file”, “pathPattern”: “src/**/*.ts” }, “command”: “./scripts/validate-typescript.sh” } ] } |
The pathPattern field glob syntax ஐ ஏற்றுக்கொள்கிறது. The toolName field edit_file, execute_command, read_file மற்றும் create_directory போன்ற Claude's உள்ளமைக்கப்பட்ட கருவிகளுக்கு எதிராகப் பொருந்துகிறது.
சமூக விவாதங்கள் matcher சேர்க்கைகள் AND தர்க்கத்துடன் வேலை செய்வதாக வெளிப்படுத்துகின்றன. hook செயல்பட அனைத்து குறிப்பிடப்பட்ட matchersம் பொருந்த வேண்டும்.
கட்டளை Hooks: ஷெல் ஸ்கிரிப்ட் ஒருங்கிணைப்பு
கட்டளை hooks ஷெல் கட்டளைகள் அல்லது ஸ்கிரிப்ட்களை கட்டமைக்கப்பட்ட JSON உள்ளீட்டுடன் செயல்படுத்துகின்றன. அவை உள்ளூர் ஆட்டோமேஷனுக்கான மிகவும் பொதுவான hook வகையாகும்.
அதிகாரப்பூர்வ ஆவணங்கள் கட்டளை hooks stdin வழியாக JSON ஐப் பெறுகின்றன என்று குறிப்பிடுகின்றன:
| { “event”: “PreToolUse”, “toolName”: “edit_file”, “toolInput”: { “path”: “src/app.ts”, “content”: “…” }, “sessionId”: “abc123”, “turnId”: “turn-456” }Scripts இந்த உள்ளீட்டை முடிவுகளை எடுக்க பாகுபடுத்துகின்றன. ஒரு Python சரிபார்ப்பு hook இவ்வாறு இருக்கலாம்:#!/usr/bin/env python3 import sys import json input_data = json.load(sys.stdin) tool_input = input_data.get(‘toolInput’, {}) file_path = tool_input.get(‘path’, ”) if file_path.startswith(‘protected/’): print(“Cannot edit protected files”, file=sys.stderr) sys.exit(1) sys.exit(0) |
Exit code 0 செயல்பாட்டை அனுமதிக்கிறது. Exit code 1 அதைத் தடுக்கிறது மற்றும் stderr செய்தியை Claude க்கு காட்டுகிறது. Exit code 2 நிகழ்வைப் பொறுத்து சிறப்பு நடத்தையைத் தூண்டுகிறது.
Exit Code 2 நடத்தை
அதிகாரப்பூர்வ hooks குறிப்பு ஆவணங்களின்படி, exit code 2 க்கு நிகழ்வு-குறிப்பிட்ட பொருள் உண்டு (PreToolUse: தடுக்கிறது மற்றும் மறுபரிசீலனைக்கு தூண்டுகிறது; UserPromptSubmit: தடுக்காமல் சூழலை வழங்குகிறது; PermissionRequest: அனுமதியைத் தடுக்கிறது):
- PreToolUse: கருவியைத் தடுத்து, stderr செய்தியை சூழலாகப் பயன்படுத்தி Claude ஐ மறுபரிசீலனை செய்யத் தூண்டுகிறது
- UserPromptSubmit: stderr வெளியீட்டை தடுப்பு இல்லாமல் கூடுதல் சூழலாக வழங்குகிறது
- PermissionRequest: அனுமதி வழங்கலைத் தடுக்கிறது
இது கடினமான தடுப்புக்கும் அனுமதிக்கும் இடையில் ஒரு நடுத்தர நிலையை உருவாக்குகிறது. Claude ஏன் செயல்பாடு சிக்கலாக இருக்கலாம் என்பது பற்றிய பின்னூட்டத்தைப் பெறுகிறது மற்றும் அதன் அணுகுமுறையை சரிசெய்ய முடியும்.
Asynchronous Command Hooks
The async: true flag hooks ஐ Claude's பணிப்பாய்வைத் தடுக்காமல் பின்னணியில் இயக்குகிறது. இது வரிசைப்படுத்தல் அறிவிப்புகள் அல்லது மெட்ரிக் சேகரிப்பு போன்ற மெதுவான செயல்பாடுகளுக்கு முக்கியமானது.
| { “event”: “PostToolUse”, “matcher”: { “toolName”: “execute_command” }, “command”: “./scripts/log-to-analytics.sh”, “async”: true, “timeout”: 30 } |
ஒரு async hook செயல்படும் போது, Claude Code செயல்முறையைத் தொடங்கி உடனடியாகத் தொடரும். The timeout field வினாடிகளில் அதிகபட்ச செயலாக்க நேரத்தை அமைக்கிறது. குறிப்பிடப்படாவிட்டால், async hooks 10 நிமிட இயல்புநிலை காலக்கெடுவைப் பயன்படுத்தும்.
உண்மையான பேச்சு: async hooks செயல்பாடுகளைத் தடுக்க முடியாது, ஏனெனில் அவை Claude தொடர்ந்த பிறகு செயல்படுகின்றன. அவை பதிவுகள், அறிவிப்புகள் மற்றும் சுத்தம் செய்ய வேலை செய்கின்றன - சரிபார்ப்புக்கு அல்ல.
HTTP Hooks: வெளிப்புற சேவை ஒருங்கிணைப்பு
HTTP hooks remote endpoints க்கு JSON payload களை POST செய்கின்றன மற்றும் முடிவு கட்டுப்பாட்டிற்கான பதில்களைப் பாகுபடுத்துகின்றன. அவை சரிபார்ப்பு சேவைகள், தரவுத்தளங்கள் மற்றும் மூன்றாம் தரப்பு கருவிகளுடன் ஒருங்கிணைப்பை செயல்படுத்துகின்றன.
அடிப்படை HTTP hook கட்டமைப்பு:
| { “event”: “PreToolUse”, “url”: “api.example.com/validate”, “headers”: { “Authorization”: “Bearer ${API_TOKEN}” }, “timeout”: 5 } |
The payload structure கட்டளை hook உள்ளீட்டுடன் பொருந்துகிறது ஆனால் HTTP POST body ஆக வருகிறது. The response Claude's அடுத்த செயலைத் தீர்மானிக்கிறது.
HTTP பதில் கையாளுதல்
அதிகாரப்பூர்வ ஆவணங்களின்படி, HTTP hooks நிலை குறியீடு மற்றும் body உள்ளடக்கம் அடிப்படையில் பதில்களை விளக்குகின்றன:
| நிலை குறியீடு | விளைவு | செய்தி ஆதாரம் |
|---|---|---|
| 200 | செயல்பாட்டை அனுமதி | பதில் body (விருப்பத்தேர்வு) |
| 400 | செயல்பாட்டைத் தடு | Claude க்கு காட்டப்படும் பதில் body |
| 500 | Hook பிழை, செயல்பாட்டை அனுமதி | பதிவு செய்யப்பட்டது ஆனால் Claude க்கு காட்டப்படவில்லை |
| மற்றவை | செயல்பாட்டை அனுமதி | Hook தோல்வி பணிப்பாய்வைத் தடுக்காது |
The response body இல் Claude காணும் ஒரு செய்தி புலம் இருக்கலாம். இது சரிபார்ப்பு சேவைகளை ஒரு செயல்பாடு ஏன் தடுக்கப்பட்டது என்பதை விளக்க அனுமதிக்கிறது.
சுற்றுச்சூழல் மாறி இடைப்பொருகை
HTTP hooks url, headers மற்றும் பிற string புலங்களில் ${VAR} syntax ஐ ஆதரிக்கின்றன. Claude Code இயங்கும் சூழலில் இருந்து மாறிகள் விரிவடைகின்றன.
அதிகாரப்பூர்வ MCP ஆவணங்களின்படி, சுற்றுச்சூழல் மாறி விரிவாக்கம் ஒரு இயல்புநிலை பின்வாங்கல் syntax ஐ உள்ளடக்கியது: ${VAR:-default} அமைக்கப்பட்டால் VAR ஐ விரிவுபடுத்துகிறது, இல்லையெனில் இயல்புநிலை மதிப்பைப் பயன்படுத்துகிறது.
பாதுகாப்பு கட்டுப்பாடு: GitHub சிக்கல் #28044 படி, HTTP hooks allowedEnvVars கட்டமைப்பு புலத்தில் வெளிப்படையாக பட்டியலிடப்பட்ட சுற்றுச்சூழல் மாறிகளை மட்டுமே அணுக முடியும். இது தற்செயலான நற்சான்றிதழ் வெளிப்பாட்டைத் தடுக்கிறது.
Prompt Hooks: Context Injection
Prompt hooks Claude's context இல் குறிப்பிட்ட நிகழ்வுகளில் டைனமிக் அறிவுறுத்தல்களைச் செருகுகின்றன. அவை வெளிப்புற செயல்முறைகள் அல்லது API அழைப்புகள் இல்லாமல் நடத்தையை மாற்றியமைக்கின்றன.
| { “event”: “SessionStart”, “prompt”: “You are working on a TypeScript project. Always use strict null checks and prefer async/await over promises.” } |
The injected text அந்த அமர்விற்கான Claude's system instructions இன் ஒரு பகுதியாக மாறும். ப்ராம்ப்ட் hooks நிகழ்வு தரவு அடிப்படையில் விரிவடையும் டெம்ப்ளேட் மாறிகளையும் பயன்படுத்தலாம்.
டைனமிக் ப்ராம்ப்ட் உருவாக்கம்
அதிகாரப்பூர்வ ஆவணங்களின்படி, prompt hooks டைனமிக் ப்ராம்ப்ட்களை உருவாக்கும் கட்டளை புலங்களை ஆதரிக்கின்றன:
| { “event”: “ContextCompaction”, “type”: “prompt”, “command”: “./scripts/generate-context-summary.sh” } |
The command standard JSON input ஐ stdin வழியாகப் பெற்று, stdout க்கு ப்ராம்ப்ட் உரையை வெளியிடுகிறது. இது திட்ட நிலையின் அடிப்படையில் சூழல்-விழிப்புணர்வு அறிவுறுத்தல் உருவாக்கத்தை செயல்படுத்துகிறது.
Agent-Based Hooks
Agent hooks நேரடி ப்ராம்ப்ட் செருகலுக்கு பதிலாக நிகழ்வைக் கையாளும் ஒரு துணை ஏஜெண்டைக் குறிப்பிடுகின்றன. துணை ஏஜெண்ட் நிகழ்வு பற்றிய சூழலைப் பெற்று, பல-படி காரணத்தைச் செய்ய முடியும்.
| { “event”: “PostToolUseFailure”, “agent”: “debugger”, “agentPrompt”: “A tool call failed. Analyze the error and suggest fixes.” } |
The named subagent திட்ட கட்டமைப்பில் வரையறுக்கப்பட வேண்டும். Agent hooks எளிய ப்ராம்ப்ட் செருகல் வழங்க முடியாத சிக்கலான முடிவு தர்க்கத்தை செயல்படுத்துகின்றன.
நடைமுறை Hook முறைகள்
சமூக விவாதங்கள் மற்றும் அதிகாரப்பூர்வ எடுத்துக்காட்டுகள் உற்பத்தி சூழல்களில் நம்பகத்தன்மையுடன் வேலை செய்யும் குறிப்பிட்ட ஆட்டோமேஷன் முறைகளை வெளிப்படுத்துகின்றன.
திருத்தங்களுக்குப் பிறகு தானியங்கு-வடிவ குறியீடு
மிகவும் பொதுவான முறை Claude கோப்புகளைத் திருத்திய பிறகு குறியீட்டை தானாகவே வடிவமைக்கிறது:
| { “event”: “PostToolUse”, “matcher”: { “toolName”: “edit_file”, “pathPattern”: “**/*.{js,ts,jsx,tsx}” }, “command”: “prettier”, “args”: [“–write”, “${toolInput.path}”] } |
The ${toolInput.path} variable திருத்தப்பட்ட கோப்பு பாதைக்கு விரிவடைகிறது. PostToolUse வெற்றிகரமான திருத்தங்களுக்குப் பிறகு வடிவமைப்பு நடப்பதை உறுதி செய்கிறது ஆனால் Claude's பணிப்பாய்வைத் தடுக்காது.
பாதுகாக்கப்பட்ட கோப்பு மாற்றங்களைத் தடு
PreToolUse hooks கோப்பு பாதுகாப்பு விதிகளைச் செயல்படுத்துகின்றன:
| { “event”: “PreToolUse”, “matcher”: { “toolName”: “edit_file” }, “command”: “./scripts/check-protected.sh” } |
The script இலக்கு பாதையை பாதுகாக்கப்பட்ட வடிவங்களுக்கு எதிராகச் சரிபார்த்து, தடைசெய்யப்பட்ட திருத்தங்களைத் தடுக்க குறியீடு 1 உடன் வெளியேறுகிறது.
Claude க்கு உள்ளீடு தேவைப்படும்போது அறிவிப்பைப் பெறு
அதிகாரப்பூர்வ பணிப்பாய்வு வழிகாட்டியின்படி, Notification hooks டெஸ்க்டாப் எச்சரிக்கைகளைத் தூண்டலாம் அல்லது வெளிப்புற சேவைகளுக்கு செய்திகளை அனுப்பலாம்:
| { “event”: “Notification”, “command”: “osascript”, “args”: [“-e”, “display notification \”${message}\” with title \”Claude Code\””] } |
பயனர் உள்ளீட்டிற்காகக் காத்திருக்கும்போது அல்லது பணி முடிந்த பிறகு உட்பட, Claude Code ஒரு அறிவிப்பை அனுப்பும் போதெல்லாம் இது செயல்படும்.
சுருக்கத்திற்குப் பிறகு சூழலை மீண்டும் செருகு
உரையாடல் சாளரம் நிரம்பும்போது ContextCompaction hooks முக்கியமான சூழலை மீட்டெடுக்கின்றன:
| { “event”: “ContextCompaction”, “type”: “prompt”, “command”: “cat .claude/critical-context.md” } |
The command output சுருக்கம் பழைய செய்திகளை அகற்றிய பிறகு Claude's context இல் மீண்டும் செருகப்படுகிறது. இது முக்கியமான திட்ட-குறிப்பிட்ட அறிவுறுத்தல்களின் இழப்பைத் தடுக்கிறது.
கட்டமைப்பு மாற்றங்களை தணிக்கை செய்
Claude கட்டமைப்பு கோப்புகளை எப்போது மாற்றுகிறது என்பதைக் கண்காணிக்கவும்:
| { “event”: “PostToolUse”, “matcher”: { “toolName”: “edit_file”, “pathPattern”: “**/{package.json,.env,*.config.*}” }, “command”: “git”, “args”: [“add”, “${toolInput.path}”], “async”: true } |
Async செயலாக்கம் git செயல்பாடுகள் முடிவடையும் வரை Claude ஐத் தடுப்பதைத் தடுக்கிறது. இது கைமுறையாக ஸ்டேஜ் செய்யாமல் கட்டமைப்பு மாற்றங்களின் தணிக்கை தடத்தை உருவாக்குகிறது.
JSON வெளியீடு மற்றும் முடிவு கட்டுப்பாடு
கட்டளை hooks எளிய வெளியேறும் குறியீடுகளைத் தாண்டி விரிவான பின்னூட்டத்தை வழங்க கட்டமைக்கப்பட்ட JSON ஐ வெளியிடலாம். அதிகாரப்பூர்வ குறிப்பின்படி, JSON வெளியீடு Claude முடிவெடுப்பதற்கு விளக்கும் பல-புல பதில்களை செயல்படுத்துகிறது.
| { “allowed”: false, “message”: “This file is protected by team policy”, “suggestion”: “Create a new file in src/features/ instead” } |
The allowed field செயல்பாடு தொடர்கிறதா என்பதைக் கட்டுப்படுத்துகிறது. The message Claude க்கு சூழலாகத் தோன்றுகிறது. The suggestion field மாற்று அணுகுமுறைகளை வழங்குகிறது.
Hooks JSON ஐ வெளியிட, அவை வேண்டும்:
- stdout க்கு சரியான JSON ஐ எழுது
- குறியீடு 0 (அனுமதிக்கப்பட்டது) அல்லது 1 (தடுக்கப்பட்டது) உடன் வெளியேறு
- குறைந்தபட்சம் அனுமதிக்கப்பட்ட பூலியன் புலத்தை உள்ளடக்கு
Claude Code JSON ஐப் பாகுபடுத்துகிறது மற்றும் பின்னூட்ட சுழற்சியை மேம்படுத்த அதைப் பயன்படுத்துகிறது. Exit codes இன்னும் முதன்மை முடிவைத் தீர்மானிக்கின்றன, ஆனால் JSON பணக்கார சூழலை வழங்குகிறது.
Hook உள்ளீடு புலங்கள் குறிப்பு
அனைத்து hooks ம் பொதுவான புலங்கள் மற்றும் நிகழ்வு-குறிப்பிட்ட தரவுகளுடன் stdin வழியாக ஒரு JSON பொருளைப் பெறுகின்றன. முழு ஸ்கீமாவைப் புரிந்துகொள்வது மிகவும் அதிநவீன hook தர்க்கத்தை செயல்படுத்துகிறது.

பொதுவான உள்ளீடு புலங்கள்
அனைத்து hooks ம் இந்த அடிப்படை புலங்களைப் பெறுகின்றன:
- event: The hook event name (e.g., “PreToolUse”)
- sessionId: தற்போதைய Claude அமர்வுக்கான தனித்துவமான அடையாளங்காட்டி
- turnId: தற்போதைய உரையாடல் திருப்பத்திற்கான அடையாளங்காட்டி
- timestamp: நிகழ்வு செயல்பட்ட தருணத்தின் ISO 8601 timestamp
Tool Event Fields
PreToolUse, PostToolUse, மற்றும் PostToolUseFailure நிகழ்வுகள் பின்வருவனவற்றை உள்ளடக்குகின்றன:
- toolName: அழைக்கப்படும் கருவியின் பெயர் (edit_file, execute_command, போன்றவை)
- toolInput: கருவியின் உள்ளீட்டு அளவுருக்களைக் கொண்ட பொருள்
- toolResponse: கருவி வெளியீடு தரவு (PostToolUse மட்டும்)
- error: செய்தி மற்றும் குறியீடு உட்பட பிழை விவரங்கள் (PostToolUseFailure மட்டும்)
The toolInput structure கருவிக்கு ஏற்ப மாறுபடும். edit_file க்கு இது path மற்றும் content ஐக் கொண்டுள்ளது. execute_command க்கு இது command மற்றும் args ஐக் கொண்டுள்ளது.
Permission Event Fields
PermissionRequest நிகழ்வுகள் பின்வருவனவற்றை உள்ளடக்குகின்றன:
- permissionType: கோரப்பட்ட அனுமதியின் வகை (file_write, command_execute, போன்றவை)
- requestedAction: அனுமதி தேவைப்படும் குறிப்பிட்ட செயல்
- resourcePath: பாதிக்கப்பட்ட கோப்பு பாதை அல்லது வள அடையாளங்காட்டி
MCP Tool Hooks
அதிகாரப்பூர்வ hooks குறிப்பின்படி, hooks Model Context Protocol (MCP) கருவிகளுடன் mcpTool matcher புலம் மூலம் பொருந்தலாம். இது MCP சர்வர் வழங்கிய வெளிப்புற கருவிகளை Claude பயன்படுத்தும்போது hook செயலாக்கத்தை செயல்படுத்துகிறது.
| { “event”: “PreToolUse”, “matcher”: { “mcpTool”: “database/query” }, “command”: “./scripts/validate-sql.sh” } |
The mcpTool value format server-name/tool-name இல் உள்ள கருவி பெயருடன் பொருந்துகிறது. இது தரவுத்தள வினவல்கள், API அழைப்புகள் அல்லது பிற வெளிப்புற செயல்பாடுகளுக்கான சரிபார்ப்பு தர்க்கத்தை அனுமதிக்கிறது.
GitHub அம்ச கோரிக்கைகள் MCP கருவிகள் அறிவிப்புகளைப் பார்ப்பது மற்றும் வெளிப்புற நிகழ்வுகளுக்குப் பதிலளிப்பது உட்பட, MCP ஒருங்கிணைப்பை ஆழமாக்குவதில் வளர்ந்து வரும் ஆர்வத்தைக் குறிக்கின்றன.
பாதுகாப்பு பரிசீலனைகள்
Hooks, Claude Code க்கு சமமான அனுமதிகளுடன் செயல்படுகின்றன. இது பல-பயனர் சூழல்கள் மற்றும் பகிரப்பட்ட கட்டமைப்புகளுக்கு பாதுகாப்பு தாக்கங்களை உருவாக்குகிறது.
கட்டளை செயலாக்க Sandbox
GitHub சிக்கல் #28044 படி, HTTP hooks ஒரு sandbox proxy வழியாகச் செல்கின்றன, இது நெட்வொர்க் அணுகலைக் கட்டுப்படுத்துகிறது மற்றும் சுற்றுச்சூழல் மாறிகளை வடிகட்டுகிறது. கட்டளை hooks க்கு அத்தகைய கட்டுப்பாடுகள் இல்லை - அவை முழு ஷெல் அணுகலுடன் செயல்படுகின்றன.
ஆவணங்கள் இந்த நடைமுறைகளைப் பரிந்துரைக்கின்றன:
- Hook கட்டளைகளில் நற்சான்றிதழ்களை ஒருபோதும் சேமிக்க வேண்டாம்
- Sensitive தரவுகளுக்கு சுற்றுச்சூழல் மாறிகளைப் பயன்படுத்தவும்
- ${…} விரிவாக்கங்களில் இருந்து அனைத்து உள்ளீட்டையும் சரிபார்க்கவும்
- வெளிப்புற சேவைகளுக்கு காலக்கெடு வரம்புகளைச் செயல்படுத்தவும்
- தோல்விகளில் தடுப்பதைத் தவிர்க்க non-critical செயல்பாடுகளுக்கு async hooks ஐப் பயன்படுத்தவும்
Hook செயலாக்க தனிமைப்படுத்தல்
~/.claude/settings.json இல் உள்ள பயனர்-நிலை hooks அனைத்து திட்டங்களுக்கும் பொருந்தும். வெவ்வேறு நம்பிக்கை எல்லைகளில் வேலை செய்யும் போது இது ஆபத்துக்களை உருவாக்குகிறது. திட்ட-நிலை hooks பயனர் hooks ஐ மேலெழுதுகின்றன ஆனால் அவற்றை முழுமையாக முடக்க முடியாது.
Claude Code இல் உள்ள /hooks மெனு தற்போதைய அமர்வுக்கான அனைத்து செயலில் உள்ள hooks ஐக் காட்டுகிறது. உணர்திறன் திட்டங்களில் வேலை செய்வதற்கு முன்பு இந்த பட்டியலை மதிப்பாய்வு செய்வது சாத்தியமான பாதுகாப்பு கவலைகளை அடையாளம் காண உதவுகிறது.
பிழைத்திருத்தம் மற்றும் சரிசெய்தல்
Hook தோல்விகள் Claude's உரையாடலில் எப்போதும் தெளிவாகத் தெரிவதில்லை. அதிகாரப்பூர்வ ஆவணங்கள் பல பிழைத்திருத்த அணுகுமுறைகளை வழங்குகின்றன.
Hook செயலாக்க பதிவுகள்
Claude Code session debug output க்கு hook செயலாக்கத்தைப் பதிவு செய்கிறது. சரிசெய்தல் வழிகாட்டியின்படி, debug logging ஐ செயல்படுத்துவது வெளிப்படுத்துகிறது:
- ஒவ்வொரு நிகழ்வுக்கும் எந்த hooks பொருந்தின
- ஒவ்வொரு hook க்கும் அனுப்பப்பட்ட JSON உள்ளீடு
- hook செயல்முறைகளில் இருந்து stdout மற்றும் stderr வெளியீடு
- Exit codes மற்றும் செயலாக்க நேரம்
- HTTP hook களுக்கான HTTP பதில் குறியீடுகள் மற்றும் bodies
Claude Code ஐ தொடங்குவதற்கு முன்பு Claude Code இன் சூழலில் CLAUDE_DEBUG=1 ஐ அமைப்பதன் மூலம் debug logging ஐ இயக்கவும்.
Hooks ஐ தனித்தனியாக சோதித்தல்
கட்டளை hooks ஐ கைமுறையாக JSON உள்ளீட்டைக் கட்டமைப்பதன் மூலம் Claude Code க்கு வெளியே சோதிக்கலாம்:
| echo ‘{“event”:”PreToolUse”,”toolName”:”edit_file”,”toolInput”:{“path”:”test.txt”}}’ | ./scripts/my-hook.sh |
இது Claude செயல்பாடுகளைத் தூண்டாமல் hook தர்க்கத்தை சரிபார்க்கிறது. The exit code மற்றும் stdout/stderr வெளியீடு எதிர்பார்க்கப்படும் நடத்தையுடன் பொருந்த வேண்டும்.
பொதுவான Hook தோல்விகள்
சமூக விவாதங்கள் இந்த அடிக்கடி சிக்கல்களை அடையாளம் காட்டுகின்றன:
- காலக்கெடு பிழைகள்: மெதுவான செயல்பாடுகளுக்கு இயல்புநிலை 10 நிமிட காலக்கெடு மிகவும் குறுகியது - timeout புலத்துடன் அதிகரிக்கவும்
- பாதை விரிவாக்கத் தோல்விகள்: ${file} போன்ற மாறிகள் கோப்பு சூழலை உள்ளடக்காத நிகழ்வுகளுக்கு வரையறுக்கப்படவில்லை
- அனுமதிப் பிழைகள்: Hook ஸ்கிரிப்ட்களில் execute அனுமதிகள் இல்லை - chmod +x script.sh ஐ இயக்கவும்
- JSON பாகுபாடு பிழைகள்: Hooks இலிருந்து தவறான JSON வெளியீடு - திரும்புவதற்கு முன்பு jq உடன் சரிபார்க்கவும்
- சுற்றுச்சூழல் மாறி கிடைக்கவில்லை: மாறிகள் hook செயலாக்கத்திற்கு பரப்பப்படவில்லை - Claude Code's சூழலைச் சரிபார்க்கவும்
Hook செயல்திறன் தாக்கங்கள்
ஒத்திசைவான hooks நிறைவடையும் வரை Claude's பணிப்பாய்வைத் தடுக்கின்றன. இயல்புநிலை 10 நிமிட காலக்கெடு முடிவற்ற தொங்கல்களைத் தடுக்கிறது, ஆனால் குறுகிய தாமதங்கள் கூட பல செயல்பாடுகளில் குவிக்கின்றன.
எளிய சரிபார்ப்பு hooks பூஜ்ஜிய செயல்திறன் தாக்கத்தை ஏற்படுத்துவதாக பயிற்சியாளர்கள் தெரிவிக்கின்றனர். கோப்பு வடிவமைப்பு hooks கவனிக்கத்தக்க ஆனால் ஏற்றுக்கொள்ளத்தக்க செயல்திறன் தாக்கத்தை ஏற்படுத்துகின்றன. வெளிப்புற API அழைப்புகள் பணிப்பாய்வு உராய்வை உருவாக்கலாம். கனரக கணக்கீடு செயல்பாடுகள் async செயலாக்கத்திலிருந்து பயனடைகின்றன.
Hook Batching
பல hooks ஒரே நிகழ்வுக்குப் பொருந்தலாம். குறிப்பு ஆவணங்களின்படி, hooks வரையறை வரிசையில் தொடர்ச்சியாக செயல்படுகின்றன. எந்த hook ம் செயல்பாட்டைத் தடுத்தால், மீதமுள்ள hooks செயல்படாது.
இது செயல்திறனுக்கு முக்கியமானது. 200ms இல் ஐந்து ஒத்திசைவான hooks ஒரு நிகழ்வுக்கு ஒரு வினாடியைச் சேர்க்கின்றன. தொடர்புடைய சரிபார்ப்புகளை ஒரே hook இல் இணைப்பது overhead ஐக் குறைக்கிறது.
மேம்பட்ட முறைகள்
அடிப்படை ஆட்டோமேஷனுக்கு அப்பால், hooks சிக்கலான பணிப்பாய்வு தனிப்பயனாக்கத்தை செயல்படுத்துகின்றன.
Stateful Hook Chains
Hooks கோப்புகள் அல்லது தரவுத்தளங்களைப் பயன்படுத்தி நிறைவேற்றங்களுக்கு இடையில் நிலையை பராமரிக்க முடியும். ஒரு PostToolUse hook வெற்றிகரமான செயல்பாடுகளைப் பதிவு செய்யலாம், அதை ஒரு PreToolUse hook பின்னர் சரிபார்க்கும்:
| #!/bin/bash # Record successful edits echo “${toolInput.path}” >> .claude/edit-history.txt |
A companion PreToolUse hook இந்த வரலாற்றைச் சரிபார்த்து தேவையற்ற செயல்பாடுகளைத் தடுக்கலாம் அல்லது வரிசை கட்டுப்பாடுகளைச் செயல்படுத்தலாம்.
நிபந்தனை Hook செயலாக்கம்
சுற்றுச்சூழல் மாறிகள் இயக்க நேரத்தில் hook நடத்தையைக் கட்டுப்படுத்துகின்றன. CLAUDE_SKIP_HOOKS=1 ஐ அமைப்பது அவசர சூழ்நிலைகளுக்கு hooks ஐ முடக்கும்.
Hooks தாமாகவே சுற்றுச்சூழல் கொடிகளைச் சரிபார்க்கலாம்:
| #!/bin/bash if [ “$STRICT_MODE” = “1” ]; then # Apply strict validation exit 1 fi exit 0 |
இது கட்டமைப்பு மாற்றங்கள் இல்லாமல் மேம்பாட்டு முறை எதிராக உற்பத்தி முறை நடத்தையை செயல்படுத்துகிறது.
பல-நிலை சரிபார்ப்பு
PreToolUse hooks பல-அடுக்கு சரிபார்ப்பைச் செயல்படுத்தலாம், அங்கு exit code 2 Claude எச்சரிக்கைகளுடன் தொடர அனுமதிக்கிறது:
- கடினமான தோல்விகள் (exit 1): அபாயகரமான செயல்பாடுகளைத் தடு
- மென்மையான எச்சரிக்கைகள் (exit 2): மறுபரிசீலனை செய்ய Claude க்கு எச்சரி
- சூழலுடன் கடந்து செல்லுதல் (exit 0 + JSON): கூடுதல் தகவலை வழங்கு
இது பைனரி அனுமதி/மறுப்பு விட நுணுக்கமான சரிபார்ப்பு ஸ்பெக்ட்ரம் ஒன்றை உருவாக்குகிறது.
CI/CD உடன் ஒருங்கிணைப்பு
அதிகாரப்பூர்வ platform integration ஆவணங்களின்படி, Claude Code CI/CD சூழல்களில் தானியங்கு குறியீடு ஆய்வு மற்றும் சிக்கல் triage க்கு இயங்குகிறது. Hooks இந்த ஆட்டோமேஷனை விரிவுபடுத்துகின்றன.
GitHub Actions workflows தானியங்கு அமர்வுகளின் போது குழு கொள்கைகளைச் செயல்படுத்தும் hooks ஐ வரையறுக்கலாம்:
| – name: Run Claude Code with strict hooks env: STRICT_MODE: 1 run: | claude “Review this PR and suggest improvements” |
The STRICT_MODE flag interactive development ஐ விட கடுமையான விதிகளைப் பின்பற்றுகிறது என்பதை உறுதி செய்கிறது.
தணிக்கை பட்டியல் உருவாக்கம்
CI சூழல்களில் PostToolUse hooks அனைத்து Claude செயல்பாடுகளின் விரிவான தணிக்கை பதிவுகளை உருவாக்குகின்றன:
| { “event”: “PostToolUse”, “command”: “./scripts/log-to-database.sh”, “async”: true } |
பின்னணி பதிவு செயல்திறனைப் பாதிக்காது ஆனால் இணக்கம் மற்றும் பிழைத்திருத்தத்திற்கான முழுமையான செயல்பாட்டு வரலாற்றை வழங்குகிறது.
The /hooks Menu
Claude Code ஒரு /hooks கட்டளையை வழங்குகிறது, இது தற்போதைய அமர்வுக்கான அனைத்து செயலில் உள்ள hooks ஐக் காட்டுகிறது. அதிகாரப்பூர்வ ஆவணங்களின்படி, இந்த மெனு காட்டுகிறது:
- Hook நிகழ்வு வகை
- Matcher வடிவங்கள்
- கட்டளை அல்லது URL எண்ட்பாயிண்ட்
- Hook async இயங்குகிறதா
- கட்டமைப்பு ஆதாரம் (திட்டம், பயனர் அல்லது செருகுநிரல்)
Selecting a hook அதன் முழுமையான கட்டமைப்பைக் காட்டுகிறது மற்றும் தற்போதைய அமர்வுக்காக தற்காலிகமாக முடக்க அனுமதிக்கிறது.
Hooks ஐ முடக்கு அல்லது நீக்கு
Hooks ஐ hook வரையறையில் "enabled": false ஐச் சேர்ப்பதன் மூலம் கட்டமைப்பை நீக்காமல் முடக்கலாம். இது கட்டமைப்பைப் பாதுகாக்கிறது ஆனால் செயலாக்கத்தைத் தடுக்கிறது.
A hook ஐ நிரந்தரமாக அகற்ற, பொருத்தமான settings.json கோப்பில் இருந்து அதன் நுழைவை நீக்கவும். மாற்றங்கள் அடுத்த அமர்வு மறுதொடக்கம் அல்லது /reload இயக்கும்போது நடைமுறைக்கு வரும்.
Skills மற்றும் Agents இல் Hooks
அதிகாரப்பூர்வ ஆவணங்களின்படி, skill அல்லது subagent கட்டமைப்புகளுக்குள் வரையறுக்கப்பட்ட hooks அந்த skill அல்லது agent செயல்படும் போது மட்டுமே பொருந்தும். இது குறிப்பிட்ட பணிப்பாய்வுகளுக்கு சிறப்பு ஆட்டோமேஷனை செயல்படுத்துகிறது.
A debugging subagent hooks ஐ உள்ளடக்கியிருக்கலாம், அவை அனைத்து கருவி அழைப்புகளையும் பதிவு செய்கின்றன:
| { “name”: “debugger”, “hooks”: [ { “event”: “PostToolUse”, “command”: “./scripts/log-debug.sh”, “async”: true } ] } |
These hooks debugger agent அமர்வுகளின் போது மட்டுமே செயல்படும், சாதாரண Claude Code செயல்பாட்டின் போது அல்ல.
Scripts ஐ பாதையால் குறிக்கவும்
Hook கட்டளைகள் சார்பு மற்றும் முழுமையான பாதைகள் இரண்டையும் ஆதரிக்கின்றன. Claude Code இயங்கும் திட்டத்தின் வேரில் இருந்து சார்பு பாதைகள் தீர்க்கப்படுகின்றன.
சமூக விவாதங்களில் இருந்து சிறந்த நடைமுறைகள்:
- Hook ஸ்கிரிப்ட்களை .claude/hooks/ கோப்பகத்தில் சேமிக்கவும்
- விளக்கமான பெயர்களைப் பயன்படுத்தவும்: validate-typescript.sh hook1.sh அல்ல
- ஸ்கிரிப்ட்களை இயக்கக்கூடியதாக மாற்றவும்: chmod +x .claude/hooks/*.sh
- Shebang வரியைச் சேர்க்கவும்: #!/usr/bin/env bash அல்லது #!/usr/bin/env python3
- Bash ஸ்கிரிப்ட்களில் set -e உடன் பிழை கையாளுதலைச் சேர்க்கவும்
எதிர்கால Hook திறன்கள்
GitHub அம்ச கோரிக்கைகள் திட்டமிடப்பட்ட மற்றும் கோரப்பட்ட hook மேம்பாடுகளை வெளிப்படுத்துகின்றன:
- Inline script hooks: வெளிப்புற கோப்புகள் இல்லாமல் settings.json இல் நேரடியாக hook தர்க்கத்தை வரையறுக்கவும்
- MCP tool ஒருங்கிணைப்பு: ஷெல் கட்டளைகளுக்கு பதிலாக hooks இலிருந்து MCP சர்வர் கருவிகளை அழைக்கவும்
- Multi-agent ஒத்துழைப்பு: வெவ்வேறு இயந்திரங்களில் Claude நிகழ்வுகளுக்கு இடையில் ஒருங்கிணைக்கும் Hooks
- மேம்படுத்தப்பட்ட டைப்பிங்: hook உள்ளீடு/வெளியீடு ஸ்கீமாக்களுக்கான TypeScript வகை வரையறைகள்
GitHub சிக்கல் #4274 படி, ஒருங்கிணைந்த hook வகைகளுக்கான கோரிக்கை (MCP tool, inline script, API call) கட்டமைப்பை எளிதாக்குவதையும் டெவலப்பர் அனுபவத்தை மேம்படுத்துவதையும் நோக்கமாகக் கொண்டுள்ளது.
அடிக்கடி கேட்கப்படும் கேள்விகள்
Claude ஐ அபாயகரமான கட்டளைகளைச் செயல்படுத்துவதைத் தடுக்க முடியுமா?
ஆம். PreToolUse hooks குறியீடு 1 உடன் வெளியேறுவதன் மூலம் எந்த கருவி செயலாக்கத்தையும் தடுக்கலாம். இதில் கோப்பு திருத்தங்கள், கட்டளை செயலாக்கம் மற்றும் MCP கருவி அழைப்புகள் அடங்கும். hook முழு கருவி உள்ளீட்டையும் பெற்று, செயல்பாட்டை அனுமதிக்கும் முன் எந்த நிபந்தனைகளுக்கு எதிராகவும் சரிபார்க்க முடியும்.
வேலை செய்யாத hook ஐ நான் எவ்வாறு பிழைத்திருத்துவது?
Claude Code ஐ தொடங்குவதற்கு முன்பு CLAUDE_DEBUG=1 உடன் debug logging ஐ இயக்கவும். hook செயலாக்க விவரங்களுக்காக session logs ஐச் சரிபார்க்கவும், எந்த hooks பொருந்தின, JSON உள்ளீடு அனுப்பப்பட்டது, stdout/stderr வெளியீடு மற்றும் exit codes உட்பட. மாதிரி JSON ஐ hook ஸ்கிரிப்டுக்கு pipe செய்வதன் மூலம் hooks ஐ தனித்தனியாக சோதிக்கவும்.
Hooks அனைத்து Claude Code தளங்களுடனும் வேலை செய்கின்றனவா?
Hooks CLI, டெஸ்க்டாப் பயன்பாடு மற்றும் VS Code extension இல் வேலை செய்கின்றன. அதிகாரப்பூர்வ ஆவணங்களின்படி, Claude Code கோப்பு முறைமைக்கு அணுகலுடன் இயங்கும் இடங்களில் hooks செயல்படுகின்றன. உலாவியில் இயங்கும் Claude மற்றும் மொபைல் பயன்பாடுகள் sandbox கட்டுப்பாடுகள் காரணமாக hooks ஐ ஆதரிக்காது.
Hooks Claude's பதில்கள் அல்லது நடத்தையை மாற்ற முடியுமா?
Prompt hooks Claude's நடத்தையைப் பாதிக்கும் அறிவுறுத்தல்களைச் செருகுகின்றன. Agent hooks சிறப்பு துணை ஏஜெண்டுகளுக்கு நிகழ்வு கையாளுதலை ஒதுக்குகின்றன. இருப்பினும், hooks Claude's உருவாக்கப்பட்ட உரை அல்லது காரண செயல்முறையை நேரடியாக மாற்ற முடியாது - அவை சூழலை வழங்குதல் மற்றும் செயல்பாடுகளைத் தடுப்பதன் மூலம் வேலை செய்கின்றன.
Async மற்றும் sync hooks க்கு என்ன வித்தியாசம்?
ஒத்திசைவான hooks நிறைவு அல்லது காலக்கெடு வரை Claude's பணிப்பாய்வைத் தடுக்கின்றன. Asynchronous hooks பின்னணியில் தடுக்காமல் செயல்படுகின்றன. Sync hooks வெளியேறும் குறியீடுகள் மூலம் செயல்பாடுகளைத் தடுக்க முடியும். Async hooks தடுக்க முடியாது, ஏனெனில் Claude hook முடிவதற்கு முன்பு தொடர்கிறது. பதிவுகள் மற்றும் அறிவிப்புகளுக்கு async ஐப் பயன்படுத்தவும், சரிபார்ப்புக்கு sync ஐப் பயன்படுத்தவும்.
நான் எவ்வாறு ஒரு குழுவிற்கு hooks ஐப் பகிர முடியும்?
.claude/settings.json கோப்பை பதிப்புக் கட்டுப்பாட்டில் commit செய்யவும். திட்ட-நிலை hooks களஞ்சியத்தை clone செய்யும் அனைத்து குழு உறுப்பினர்களுக்கும் பொருந்தும். நிறுவன அளவிலான கொள்கைகளுக்கு, குழுக்கள் ஒரு பகிரப்பட்ட பயனர்-நிலை settings கோப்பை பராமரிக்கலாம், அதை உறுப்பினர்கள் ~/.claude/settings.json க்கு நகலெடுக்கலாம்.
HTTP hooks firewall களுக்குப் பின்னால் உள்ள உள் API களை அழைக்க முடியுமா?
ஆம், Claude Code அந்த API களுக்கு நெட்வொர்க் அணுகலுடன் ஒரு சூழலில் இயங்கினால். HTTP hooks Claude Code இயங்கும் இயந்திரத்திலிருந்து நிலையான POST கோரிக்கைகளைச் செய்கின்றன. கார்ப்பரேட் firewall கள் மற்றும் VPN கள் சாதாரணமாகப் பொருந்தும். ஆவணங்களில் குறிப்பிடப்பட்டுள்ள sandbox proxy சுற்றுச்சூழல் மாறி வெளிப்பாட்டைக் கட்டுப்படுத்துகிறது, நெட்வொர்க் திசை திருப்பத்தை அல்ல.
Hooks Claude Code's டோக்கன் பயன்பாட்டை அதிகரிக்கின்றனவா?
Prompt hooks Claude's context இல் உரையைச் செருகுகின்றன, இது டோக்கன்களைப் பயன்படுத்துகிறது. கட்டளை மற்றும் HTTP hooks டோக்கன் பயன்பாட்டை நேரடியாகப் பாதிக்காது, ஆனால் அவற்றின் வெளியீடு (பிழை செய்திகள், பரிந்துரைகள்) உரையாடல் சூழலின் ஒரு பகுதியாக மாறும். exit code 2 விளக்க செய்திகளுடன் exit code 1 ஐ விட அதிக சூழலைச் சேர்க்கிறது.
முடிவுரை
Claude Code hooks AI உதவியாளரை ஒரு சக்திவாய்ந்த கருவியிலிருந்து முழுமையான தானியங்கு மேம்பாட்டு தளமாக மாற்றுகின்றன. The event system Claude's பணிப்பாய்வு முழுவதும் இடைமறிப்பு புள்ளிகளை வழங்குகிறது - session initialization முதல் context compaction வரை.
கட்டளை hooks உள்ளூர் சரிபார்ப்பு மற்றும் வடிவமைப்பைக் கையாளுகின்றன. HTTP hooks வெளிப்புற சேவைகள் மற்றும் தரவுத்தளங்களை ஒருங்கிணைக்கின்றன. Prompt hooks context injection மூலம் நடத்தையை மாற்றியமைக்கின்றன. ஒன்றாக, இவை குழு கொள்கைகளைச் செயல்படுத்தும், குறியீடு தரத்தை பராமரிக்கும் மற்றும் ஏற்கனவே உள்ள மேம்பாட்டு உள்கட்டமைப்புடன் ஒருங்கிணைக்கும் ஆட்டோமேஷன் முறைகளை செயல்படுத்துகின்றன.
The matcher system hooks ஐ குறிப்பிட்ட கருவிகள் மற்றும் கோப்பு வடிவங்களுக்கு வடிகட்டுகிறது. Exit codes மற்றும் JSON வெளியீடு முடிவு ஓட்டத்தைக் கட்டுப்படுத்துகின்றன. Async செயலாக்கம் மெதுவான செயல்பாடுகளில் தடுப்பதைத் தடுக்கிறது. முழுமையான கட்டமைப்பு ஸ்கீமா எளிய தானியங்கு வடிவமைப்பிலிருந்து சிக்கலான பல-நிலை சரிபார்ப்பு வரை அனைத்தையும் ஆதரிக்கிறது.
குறியீடு வடிவமைப்பிற்கான அடிப்படை PostToolUse hooks உடன் தொடங்கவும். கொள்கைகள் உருவாகும்போது PreToolUse சரிபார்ப்பைச் சேர்க்கவும். நடத்தையை மாற்றியமைக்க prompt hooks ஐப் பரிசோதிக்கவும். குழு-அளவிலான அமலாக்கத்திற்காக HTTP ஒருங்கிணைப்புகளை உருவாக்கவும்.
புதிய திறன்கள் வெளியிடப்படும்போது முழு hooks குறிப்பு மற்றும் புதுப்பிக்கப்பட்ட கட்டமைப்பு ஸ்கீமாவுக்கு அதிகாரப்பூர்வ Claude Code ஆவணங்களைச் சரிபார்க்கவும்.

