Claude Code Hooks: To'liq Qo'llanma (2026)

Author Avatar
Andrew
AI Perks Team
6,837
Claude Code Hooks: To'liq Qo'llanma (2026)

Qisqa xulosa: Claude Code ilgaklari - bu AI kodlash sessiyalari davomida ma'lum bir hayotiy tsikl nuqtalarida ishlaydigan avtomatlashtirish skriptlari bo'lib, bu dasturchilarga maxsus buyruqlarni bajarish, harakatlarni tasdiqlash, kodni formatlash, bildirishnomalar yuborish va loyiha qoidalarini qo'llash imkonini beradi. Ushbu ilgaklar SessionStart, PreToolUse va PostToolUse kabi hodisalar orqali Claude'ning ish oqimiga integratsiya qilinadi, buyruq asosida, HTTP asosida va prompt asosida bajarish usullarini, sozlanishi mumkin bo'lgan taymutlar va chiqish kod xatti-harakatlari bilan qo'llab-quvvatlaydi.

Claude Code'ning ilgaklar tizimi AI kodlash yordamchisini foydali vositadan to'liq avtomatlashtirilgan dasturiy ta'minotni ishlab chiqish muhitiga aylantiradi. Ko'pchilik dasturchilar ilgaklar orqali mavjud bo'lgan nazorat darajasini tushunmaydi.

Gap shundaki, ilgaklar faqat fayl tahrirlaridan keyin skriptlarni bajarish bilan cheklanmaydi. Ular Claude'ning butun qaror qabul qilish jarayoni davomida kesishish nuqtalarini ta'minlaydi. Buyruqni bajarishdan oldin. Asbob chaqiruvi muvaffaqiyatsiz tugaganda. Izn talab qilinganda. Foydalanuvchi promptlarini qayta ishlashdan oldin ham.

Ushbu qo'llanma rasmiy hujjatlarda keltirilgan barcha narsalarni, shuningdek, jamiyat muhokamalari ishlab chiqarish muhitlarida haqiqatda ishlaydigan amaliy uslublarni qamrab oladi.

Claude Code Ilgaklari Haqiqatda Nima Qiladi

Rasmiy Claude Code hujjatlariga ko'ra, ilgaklar - bu Claude Code'ning hayotiy tsiklining ma'lum bir nuqtalarida ishlaydigan foydalanuvchi tomonidan belgilangan shell buyruqlari, HTTP manzillari yoki prompt kiritmalari. Ular stdin orqali tuzilgan JSON kiritmalarini qabul qiladi va chiqish kodlari yoki HTTP javoblari orqali ish oqimini boshqaradi.

Avtomatlashtirish ko'pchilik qo'llanmalarda ko'rsatilganidan chuqurroqdir. Ilgaklar asbobni bajarishni butunlay bloklashi, Claude'ning mulohazalariga qo'shimcha kontekst kiritishi, tashqi xizmatlarni ishga tushirishi va Claude hurmat qilishi kerak bo'lgan tasdiqlash qoidalarini qo'llashi mumkin.

Uchta asosiy ilgak turi mavjud:

  • Buyruq ilgaklari: stdout, stderr va chiqish kodlari orqali muloqot qiluvchi shell skriptlari
  • HTTP ilgaklari: POST so'rovlarini qabul qiluvchi va JSON javoblarini qaytaruvchi masofaviy manzillar
  • Prompt ilgaklari: Muayyan hodisalarda Claude'ning kontekstiga kiritilgan dinamik ko'rsatmalar

Har bir tur turli avtomatlashtirish uslublariga xizmat qiladi. Buyruq ilgaklari mahalliy tekshirish va formatlashni boshqaradi. HTTP ilgaklari tashqi xizmatlar va ma'lumotlar bazalarini integratsiya qiladi. Prompt ilgaklari tashqi jarayonlarsiz Claude'ning xatti-harakatlarini o'zgartiradi.

Ilgak Hayotiy Tsikli va Hodisalar Tizimi

Rasmiy hujjatlar Claude Code ijro jarayonida ishga tushadigan ko'plab ilgak hodisalarini (SessionStart, UserPromptSubmit, PreToolUse, PermissionRequest, PostToolUse, PostToolUseFailure, Notification va boshqalar) belgilaydi. Har biri qachon ishga tushishini tushunish qanday avtomatlashtirish mumkinligini aniqlaydi.

Claude Code ilgak hodisalari va ularning odatiy sessiya davomida bajarilish oqimi
HodisaQachon ishga tushadiBloklashi mumkinmi 
SessionStartSessiya boshlanganda yoki qayta boshlangandaYo'q
UserPromptSubmitSiz promptni yuborganda, Claude uni qayta ishlashidan oldinHa
PreToolUseAsbob chaqiruvi ishga tushishidan oldinHa
PermissionRequestRuxsat dialog oynasi paydo bo'lgandaHa
PostToolUseAsbob chaqiruvi muvaffaqiyatli tugagandan so'ngYo'q
PostToolUseFailureAsbob chaqiruvi muvaffaqiyatsiz tugagandan so'ngYo'q
NotificationClaude Code bildirishnoma yuborgandaYo'q
SubmitMessageClaude foydalanuvchiga xabar yuborgandaYo'q
ContextCompactionKontekst oynasi chegaralarga yaqinlashgandaYo'q

Bloklash qobiliyati eng muhimdir. PreToolUse ilgaklari xavfli operatsiyalarni ular ishga tushishidan oldin to'xtatishi mumkin. Chiqish kodi 1 harakatni bloklaydi. Chiqish kodi 0 uni ruxsat beradi. Chiqish kodi 2 Claude'ni qayta ko'rib chiqishga undaydi.

Lekin kuting. PostToolUse ilgaklari harakatlarni bekor qila olmaydi, chunki asbob allaqachon bajarilgan. Ushbu cheklov tasdiqlash mantiqining qanday tuzilganligini shakllantiradi. Muhim tekshiruvlar PreToolUse'da joylashgan. Tozalash va formatlash PostToolUse'da joylashgan.

Claude Code-ni Sozlashda AI Asboblarining Foydalarini Ko'rib Chiqing

Agar siz Claude Code ilgaklari bilan ishlayotgan bo'lsangiz, siz o'z ish oqimingiz atrofida boshqa AI vositalarini ham tanlayotgan bo'lishingiz mumkin. Get AI Perks AI va bulutli vositalar uchun startup kreditlari va dasturiy ta'minot chegirmalarini bir joyda to'playdi. Platformada 200 dan ortiq takliflar mavjud bo'lib, ularning har biri uchun foyda shartlari va da'vo qilish bo'yicha ko'rsatmalar mavjud.

Claude yoki Boshqa AI Asboblarining Foydalarini Qidiryapsizmi?

Get AI Perks-ni quyidagilar uchun tekshiring:

  • Claude va boshqa AI vositalari takliflarini ko'rib chiqing
  • Murojaat qilishdan oldin foyda shartlarini taqqoslang
  • Sizning vosita stekingiz bo'ylab startup chegirmalarini toping

👉 Joriy AI dasturiy ta'minoti imtiyozlarini o'rganish uchun Get AI Perks-ga tashrif buyuring.

Sozlash va Fayl Tuzilishi

Ilgaklar loyiha ichidagi .claude/settings.json faylida belgilangan. Sozlash sxemasi global ilgaklar va ilgaklar qachon ishga tushishini filtrlangan vosita-maxsus moslashtiruvchilarni qo'llab-quvvatlaydi.

Asosiy buyruq ilgak tuzilishi:

{
  “hooks”: [
    {
      “event”: “PostToolUse”,
      “command”: “prettier –write”,
      “args”: [“${file}”]
    }
  ]
}

${file} o'zgaruvchisi asbob kiritmasidan haqiqiy fayl yo'liga kengaytiriladi. Rasmiy hujjatlarga ko'ra, ilgaklar buyruq va argumentlar maydonlarida ushbu o'zgaruvchi kengaytmalarini qo'llab-quvvatlaydi.

Ilgak Joylashuvi ierarxiyasi

Claude Code ilgak ta'riflari uchun bir nechta joylarni tekshiradi, aniq ustunlik tartibi bilan:

  1. Loyiha darajasi: joriy ishchi stantsiyadagi .claude/settings.json
  2. Foydalanuvchi darajasi: barcha sessiyalar uchun ~/.claude/settings.json
  3. Plugin-ta'minotchi: O'rnatilgan plaginlar bilan birga keladigan ilgaklar

Loyiha ilgaklari bir xil hodisa uchun foydalanuvchi ilgaklar ustidan ustunlikka ega. Bu global bildirishnomalar ishlovchilarini saqlab qolgan holda loyiha-maxsus formatlash qoidalariga imkon beradi.

Tanlangan Ijro Uchun Moslashtiruvchi Namunalari

Moslashtiruvchi tizim ilgaklarni ma'lum vositalar yoki sharoitlarga moslashtiradi. Moslashtiruvchilarsiz, ilgaklar ularning hodisasining har bir holati uchun ishga tushadi.

{
  “hooks”: [
    {
      “event”: “PreToolUse”,
      “matcher”: {
        “toolName”: “edit_file”,
        “pathPattern”: “src/**/*.ts”
      },
      “command”: “./scripts/validate-typescript.sh”
    }
  ]
}

pathPattern maydoni glob sintaksisini qabul qiladi. toolName maydoni edit_file, execute_command, read_file va create_directory kabi Claude'ning o'rnatilgan vositalariga mos keladi.

Jamiyat muhokamalari shuni ko'rsatadiki, moslashtiruvchi kombinatsiyalar VA mantiqi bilan ishlaydi. Ilgak ishga tushishi uchun barcha ko'rsatilgan moslashtiruvchilar mos kelishi kerak.

Buyruq Ilgaklari: Shell Skript Integratsiyasi

Buyruq ilgaklari tuzilgan JSON kiritmasi bilan shell buyruqlarini yoki skriptlarini ishga tushiradi. Ular mahalliy avtomatlashtirish uchun eng keng tarqalgan ilgak turini ifodalaydi.

Rasmiy hujjatlar buyruq ilgaklari stdin orqali JSONni ushbu tuzilish bilan qabul qilishini belgilaydi:

{
  “event”: “PreToolUse”,
  “toolName”: “edit_file”,
  “toolInput”: {
    “path”: “src/app.ts”,
    “content”: “…”
  },
  “sessionId”: “abc123”,
  “turnId”: “turn-456”
}Skriptlar qaror qabul qilish uchun ushbu kiritmani parslaydi. Python tasdiqlash ilgagi quyidagicha ko'rinishi mumkin:#!/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)

Chiqish kodi 0 operatsiyaga ruxsat beradi. Chiqish kodi 1 uni bloklaydi va stderr xabarini Claude'ga ko'rsatadi. Chiqish kodi 2 hodisaga bog'liq ravishda maxsus xatti-harakatlarni ishga tushiradi.

Chiqish Kodingiz 2 Xatti-harakati

Rasmiy ilgaklar referens hujjatlariga ko'ra, chiqish kodi 2 hodisaga xos ma'noga ega (PreToolUse: bloklaydi va qayta ko'rib chiqishni so'raydi; UserPromptSubmit: bloklamasdan kontekstni taqdim etadi; PermissionRequest: ruxsatni bloklaydi):

  • PreToolUse: Asbobni bloklaydi va stderr xabarini kontekst sifatida taqdim etib, Claude'ni qayta ko'rib chiqishga undaydi
  • UserPromptSubmit: stderr chiqishini bloklamasdan qo'shimcha kontekst sifatida taqdim etadi
  • PermissionRequest: Ruxsat berishni bloklaydi

Bu qattiq bloklash va ruxsat berish o'rtasida o'rtacha yerni yaratadi. Claude harakat nima uchun muammoli bo'lishi mumkinligi haqida fikr-mulohaza oladi va o'z yondashuvini sozlay oladi.

Asinxron Buyruq Ilgaklari

async: true bayrog'i ilgaklarni Claude'ning ish oqimini bloklamasdan fon rejimida ishga tushiradi. Bu uzoq operatsiyalar, masalan, joylashtirish bildirishnomalari yoki metrika yig'ish uchun muhim.

{
  “event”: “PostToolUse”,
  “matcher”: {
    “toolName”: “execute_command”
  },
  “command”: “./scripts/log-to-analytics.sh”,
  “async”: true,
  “timeout”: 30
}

Asinxron ilgak ishga tushganda, Claude Code jarayonni boshlaydi va darhol davom etadi. timeout maydoni soniyalarda maksimal ish vaqtini belgilaydi. Agar ko'rsatilmasa, asinxron ilgaklar 10 daqiqalik standart taymutdan foydalanadi.

Haqiqiy gap: asinxron ilgaklar operatsiyalarni bloklashi mumkin emas, chunki ular Claude davom etgandan keyin ishlaydi. Ular jurnal yozish, bildirishnomalar va tozalash uchun ishlaydi - tasdiqlash uchun emas.

HTTP Ilgaklari: Tashqi Xizmat Integratsiyasi

HTTP ilgaklari masofaviy manzillarga JSON yuklarini POST qiladi va qaror qabul qilish uchun javoblarni parslaydi. Ular integratsiya xizmatlari, ma'lumotlar bazalari va uchinchi tomon vositalari bilan integratsiyani ta'minlaydi.

Asosiy HTTP ilgak sozlamalari:

{
  “event”: “PreToolUse”,
  “url”: “api.example.com/validate”,
  “headers”: {
    “Authorization”: “Bearer ${API_TOKEN}”
  },
  “timeout”: 5
}

Yuk tuzilishi buyruq ilgak kiritmasiga mos keladi, lekin HTTP POST tanasi sifatida keladi. Javob Claude'ning keyingi harakatini aniqlaydi.

HTTP Javobni Qayta Ishlash

Rasmiy hujjatlarga ko'ra, HTTP ilgaklari status kodi va tanasi tarkibiga asoslanib javoblarni talqin qiladi:

Status KodiTa'siriXabar Manbasi 
200Operatsiyaga ruxsat berishJavob tanasi (ixtiyoriy)
400Operatsiyani bloklashClaude'ga ko'rsatilgan javob tanasi
500Ilgak xatosi, operatsiyaga ruxsat berishJurnalga yozilgan, lekin Claude'ga ko'rsatilmagan
BoshqaOperatsiyaga ruxsat berishIlgakning muvaffaqiyatsizligi ish oqimini bloklamaydi

Javob tanasi Claude ko'rishi mumkin bo'lgan xabar maydonini o'z ichiga olishi mumkin. Bu tasdiqlash xizmatlariga operatsiya nima uchun bloklanganligini tushuntirishga imkon beradi.

Atrof-muhit O'zgaruvchilarini Interpolatsiya Qilish

HTTP ilgaklari url, sarlavhalar va boshqa satr maydonlarida ${VAR} sintaksisini qo'llab-quvvatlaydi. O'zgaruvchilar Claude Code ishlaydigan muhitdan kengaytiriladi.

Rasmiy MCP hujjatlariga ko'ra, atrof-muhit o'zgaruvchilarini kengaytirish standart taklif qilish sintaksisini o'z ichiga oladi: ${VAR:-default} agar sozlanmagan bo'lsa VAR qiymatini beradi, aks holda standart qiymatdan foydalanadi.

Xavfsizlik cheklovi: GitHub issue #28044 ga ko'ra, HTTP ilgaklari faqat allowedEnvVars sozlash maydonida aniq ro'yxatlangan atrof-muhit o'zgaruvchilariga kirishi mumkin. Bu tasodifiy maxfiy ma'lumotlarni oshkor qilishni oldini oladi.

Prompt Ilgaklari: Kontekst Kiritish

Prompt ilgaklari Claude'ning kontekstiga ma'lum hodisalarda dinamik ko'rsatmalarni kiritadi. Ular tashqi jarayonlar yoki API chaqiruvlari bo'lmagan holda xatti-harakatlarni o'zgartiradi.

{
  “event”: “SessionStart”,
  “prompt”: “Siz TypeScript loyihasi ustida ishlamoqdasiz. Har doim qat'iy null tekshiruvlaridan foydalaning va umidlar o'rniga async/await-ni afzal ko'ring.”
}

Kiritilgan matn shu sessiya uchun Claude'ning tizim ko'rsatmalarining bir qismiga aylanadi. Prompt ilgaklari hodisa ma'lumotlariga asoslanib kengayadigan shablon o'zgaruvchilaridan ham foydalanishi mumkin.

Dinamik Prompt Yaratish

Rasmiy hujjatlarga ko'ra, prompt ilgaklari dinamik promptlar yaratadigan buyruq maydonlarini qo'llab-quvvatlaydi:

{
  “event”: “ContextCompaction”,
  “type”: “prompt”,
  “command”: “./scripts/generate-context-summary.sh”
}

Buyruq standart JSON kiritmasini stdin orqali qabul qiladi va prompt matnini stdoutga chiqaradi. Bu loyiha holatiga asoslangan kontekstga sezgir ko'rsatmalar yaratishga imkon beradi.

Agent-Asosli Ilgaklar

Agent ilgaklari to'g'ridan-to'g'ri prompt kiritmasi o'rniga hodisani boshqaradigan kichik agentni belgilaydi. Kichik agent hodisa haqida kontekst oladi va ko'p bosqichli mulohazalar yuritishi mumkin.

{
  “event”: “PostToolUseFailure”,
  “agent”: “debugger”,
  “agentPrompt”: “Asbob chaqiruvi muvaffaqiyatsiz tugadi. Xatoni tahlil qiling va tuzatishlar taklif qiling.”
}

Nomlangan kichik agent loyiha sozlamalarida belgilangan bo'lishi kerak. Agent ilgaklari oddiy prompt kiritmasi ta'minlay olmaydigan murakkab qaror qabul qilish mantiqiga imkon beradi.

Amaliy Ilgak Namunalari

Jamiyat muhokamalari va rasmiy misollar ishlab chiqarishda ishonchli ishlaydigan aniq avtomatlashtirish uslublarini ochib beradi.

Tahrirlardan Keyin Kodni Avtomatik Formatlash

Eng keng tarqalgan namuna Claude fayllarni tahrirlagandan keyin kodni avtomatik formatlashdir:

{
  “event”: “PostToolUse”,
  “matcher”: {
    “toolName”: “edit_file”,
    “pathPattern”: “**/*.{js,ts,jsx,tsx}”
  },
  “command”: “prettier”,
  “args”: [“–write”, “${toolInput.path}”]
}

${toolInput.path} o'zgaruvchisi tahrirlangan fayl yo'liga kengaytiriladi. PostToolUse muvaffaqiyatli tahrirlardan keyin formatlashni ta'minlaydi, lekin Claude'ning ish oqimini bloklamaydi.

Himoyalangan Fayl Tahrirlarini Bloklash

PreToolUse ilgaklari fayllarni himoya qilish qoidalarini qo'llaydi:

{
  “event”: “PreToolUse”,
  “matcher”: {
    “toolName”: “edit_file”
  },
  “command”: “./scripts/check-protected.sh”
}

Skript maqsadli yo'lni himoyalangan namunalar bo'yicha tekshiradi va taqiqlangan tahrirlarni bloklash uchun 1-kod bilan chiqadi.

Claude Kiritishga Muhtoj Bo'lganda Bildirishnoma Olish

Rasmiy ish oqimi qo'llanmasiga ko'ra, Notification ilgaklari ish stoli signallarini ishga tushirishi yoki tashqi xizmatlarga xabarlar yuborishi mumkin:

{
  “event”: “Notification”,
  “command”: “osascript”,
  “args”: [“-e”, “display notification \”${message}\” with title \”Claude Code\””]
}

Bu Claude Code bildirishnoma yuborgan har safar ishga tushadi, jumladan, foydalanuvchi kiritmasini kutayotganda yoki vazifa tugagandan so'ng.

Siqishdan Keyin Kontekstni Qayta Kiritish

ContextCompaction ilgaklari suhbat oynasi to'lganda muhim kontekstni tiklaydi:

{
  “event”: “ContextCompaction”,
  “type”: “prompt”,
  “command”: “cat .claude/critical-context.md”
}

Buyruq chiqishi siqish eski xabarlarni olib tashlaganidan keyin Claude'ning kontekstiga qayta kiritiladi. Bu muhim loyiha-maxsus ko'rsatmalarning yo'qolishini oldini oladi.

Sozlash O'zgarishlarini Auditdan O'tkazish

Claude sozlash fayllarini qachon o'zgartirishini kuzatib boring:

{
  “event”: “PostToolUse”,
  “matcher”: {
    “toolName”: “edit_file”,
    “pathPattern”: “**/{package.json,.env,*.config.*}”
  },
  “command”: “git”,
  “args”: [“add”, “${toolInput.path}”],
  “async”: true
}

Asinxron ijro Claude'ni bloklamaydi, shu bilan birga git operatsiyalari tugaydi. Bu qo'lda sahnalashtirishsiz sozlash o'zgarishlarining audit yo'lini yaratadi.

JSON Chiqishi va Qaror Nazorati

Buyruq ilgaklari oddiy chiqish kodlaridan tashqari batafsil fikr-mulohaza taqdim etish uchun tuzilgan JSONni chiqarishi mumkin. Rasmiy referensga ko'ra, JSON chiqishi Claude'ning qaror qabul qilish uchun talqin qiladigan ko'p maydonli javoblarga imkon beradi.

{
  “allowed”: false,
  “message”: “Ushbu fayl jamoa siyosati tomonidan himoyalangan”,
  “suggestion”: “src/features/ ichida yangi fayl yarating”
}

allowed maydoni operatsiyaning davom etishini nazorat qiladi. Xabar Claude'ga kontekst sifatida ko'rinadi. Taklif maydoni muqobil yondashuvlarni taqdim etadi.

Ilgaklar JSONni chiqarishi uchun ular quyidagilarni amalga oshirishlari kerak:

  1. Stdoutga to'g'ri JSON yozish
  2. Chiqish kodi 0 (ruxsat etilgan) yoki 1 (bloklangan) bilan chiqish
  3. Minimal ravishda allowed boolean maydonini o'z ichiga olish

Claude Code JSONni parslaydi va uni fikr-mulohaza tsiklini yaxshilash uchun ishlatadi. Chiqish kodlari hali ham asosiy qarorni aniqlaydi, lekin JSON boyroq kontekstni ta'minlaydi.

Ilgak Kiritish Maydonlari Referensi

Barcha ilgaklar stdin orqali umumiy maydonlar, shuningdek, hodisaga xos ma'lumotlarni o'z ichiga olgan JSON ob'ektini oladi. To'liq sxemani tushunish murakkabroq ilgak mantiqiga imkon beradi.

Ilgak kiritish JSON sxemasi umumiy maydonlar va hodisaga xos kengaytmalar ko'rsatilgan

Umumiy Kiritish Maydonlari

Har bir ilgak ushbu asosiy maydonlarni oladi:

  • event: Ilgak hodisasi nomi (masalan, "PreToolUse")
  • sessionId: Joriy Claude sessiyasining noyob identifikatori
  • turnId: Joriy suhbat burilishining identifikatori
  • timestamp: Hodisa ishga tushganda ISO 8601 vaqti

Asbob Hodisa Maydonlari

PreToolUse, PostToolUse va PostToolUseFailure hodisalari quyidagilarni o'z ichiga oladi:

  • toolName: Invoked (ishga tushirilgan) asbob nomi (edit_file, execute_command va boshqalar)
  • toolInput: Asbobning kiritish parametrlarini o'z ichiga olgan ob'ekt
  • toolResponse: Asbobning chiqish ma'lumotlari (faqat PostToolUse)
  • error: Xato tafsilotlari, shu jumladan xabar va kod (faqat PostToolUseFailure)

toolInput tuzilishi asbobga qarab farq qiladi. edit_file uchun u path va contentni o'z ichiga oladi. execute_command uchun u command va args ni o'z ichiga oladi.

Ruxsat Hodisa Maydonlari

PermissionRequest hodisalari quyidagilarni o'z ichiga oladi:

  • permissionType: So'ralgan ruxsat turi (file_write, command_execute va boshqalar)
  • requestedAction: Ruxsat talab qiladigan aniq harakat
  • resourcePath: Ta'sir etilgan fayl yo'li yoki resurs identifikatori

MCP Asbob Ilgaklari

Rasmiy ilgaklar referensiga ko'ra, ilgaklar mcpTool moslashtiruvchi maydoni yordamida Model Kontekst Protokoli (MCP) vositalariga mos kelishi mumkin. Bu Claude MCP serverlari tomonidan taqdim etilgan tashqi vositalarni ishlatganda ilgak ijrosini ta'minlaydi.

{
  “event”: “PreToolUse”,
  “matcher”: {
    “mcpTool”: “database/query”
  },
  “command”: “./scripts/validate-sql.sh”
}

mcpTool qiymati server-name/tool-name formatidagi asbob nomiga mos keladi. Bu ma'lumotlar bazasi so'rovlari, API chaqiruvlari yoki boshqa tashqi operatsiyalar uchun tasdiqlash mantiqiga imkon beradi.

GitHub xususiyat so'rovlari MCP integratsiyasining chuqurlashib borayotganligini ko'rsatadi, shu jumladan MCP server bildirishnomalarini ko'rib chiqish va tashqi hodisalarga javob berish mumkin bo'lgan ilgaklar.

Xavfsizlik Masalalari

Ilgaklar Claude Code o'zi bilan bir xil ruxsatlar bilan ishlaydi. Bu ko'p foydalanuvchili muhitlar va umumiy sozlamalar uchun xavfsizlik ta'sirini yaratadi.

Buyruq Ijro Sandboxi

GitHub issue #28044 ga ko'ra, HTTP ilgaklari tarmoq kirishini cheklovchi va atrof-muhit o'zgaruvchilarini filtrlangan sandbox proksi-serveri orqali yo'naltiriladi. Buyruq ilgaklarida bunday cheklovlar yo'q - ular to'liq shell kirishi bilan ishlaydi.

Hujjatlar ushbu amaliyotlarni tavsiya qiladi:

  • Hech qachon ilgak buyruqlariga maxfiy ma'lumotlarni saqlamang
  • Maxfiy ma'lumotlar uchun atrof-muhit o'zgaruvchilaridan foydalaning
  • ${...} kengaytmalaridan barcha kiritmalarni tasdiqlang
  • Tashqi xizmatlar uchun taymut chegaralarini qo'llang
  • Xatoliklar paytida bloklanishni oldini olish uchun muhim bo'lmagan operatsiyalar uchun asinxron ilgaklardan foydalaning

Ilgak Ijro Izolyatsiyasi

Foydalanuvchi darajasidagi ilgaklar ~/.claude/settings.json faylida barcha loyihalar uchun qo'llaniladi. Bu turli xil ishonch chegaralarida ishlaganda xavf tug'diradi. Loyiha darajasidagi ilgaklar foydalanuvchi ilgaklar ustidan ustunlikka ega, lekin ularni to'liq o'chirib qo'ya olmaydi.

Claude Code'dagi /hooks menyusi joriy sessiya uchun barcha faol ilgaklarni ko'rsatadi. Maxsus loyihalar ustida ishlashdan oldin ushbu ro'yxatni ko'rib chiqish mumkin bo'lgan xavfsizlik muammolarini aniqlashga yordam beradi.

Debugging va Nosozliklarni Bartaraf Etish

Ilgak xatoliklari har doim ham Claude'ning suhbatida aniq ko'rinmaydi. Rasmiy hujjatlar bir nechta debugging yondashuvlarini taqdim etadi.

Ilgak Ijro Jurnallari

Claude Code ilgak ijrosini sessiya debug chiqishiga yozadi. Nosozliklarni bartaraf etish bo'yicha qo'llanmaga ko'ra, debug jurnalini yoqish quyidagilarni ochib beradi:

  • Har bir hodisa uchun qaysi ilgaklar mos kelgan
  • Har bir ilgakka yuborilgan JSON kiritmasi
  • Ilgak jarayonlaridan stdout va stderr chiqishi
  • Chiqish kodlari va ijro vaqti
  • HTTP ilgaklari uchun HTTP javob kodlari va tanasi

Claude Code-ni boshlashdan oldin muhitda CLAUDE_DEBUG=1 ni sozlash orqali debug jurnalini yoqing.

Ilgaklarni Mustaqil Sinovdan O'tkazish

Buyruq ilgaklari JSON kiritmasini qo'lda yaratib, Claude Code'dan tashqarida sinovdan o'tkazilishi mumkin:

echo ‘{“event”:”PreToolUse”,”toolName”:”edit_file”,”toolInput”:{“path”:”test.txt”}}’ | ./scripts/my-hook.sh

Bu Claude operatsiyalarini ishga tushirmasdan ilgak mantiqini tasdiqlaydi. Chiqish kodi va stdout/stderr chiqishi kutilgan xatti-harakatlarga mos kelishi kerak.

Umumiy Ilgak Xatoliklari

Jamiyat muhokamalari ushbu tez-tez uchraydigan muammolarni aniqlaydi:

  • Taymut xatoliklari: 10 daqiqalik standart taymut uzoq operatsiyalar uchun juda qisqa - taymut maydoni bilan oshiring
  • Fayl yo'li kengayishi muvaffaqiyatsizliklari: Fayl kontekstini o'z ichiga olmaydigan hodisalar uchun ${file} kabi o'zgaruvchilar aniqlanmagan
  • Ruxsat xatoliklari: Ilgak skriptlarida bajarish ruxsatnomalari yo'q - chmod +x script.sh ni ishga tushiring
  • JSON parse xatoliklari: Ilgaklardan noto'g'ri tuzilgan JSON chiqishi - qaytarishdan oldin jq bilan tekshiring
  • Atrof-muhit o'zgaruvchilarining mavjud emasligi: Ilgak jarayoniga uzatilmagan o'zgaruvchilar - Claude Code'ning atrof-muhitini tekshiring

Ilgak Ishlash Qobiliyatiga Ta'siri

Sinxron ilgaklar tugaguniga qadar Claude'ning ish oqimini bloklaydi. Standart 10 daqiqalik taymut cheksiz bloklanishni oldini oladi, lekin hatto qisqa kechikishlar ham ko'plab operatsiyalar davomida to'planadi.

Mutaxassislar shuni ta'kidlaydiki, oddiy tasdiqlash ilgaklari minimal ijro ta'siriga ega. Fayl formatlash ilgaklari sezilarli, ammo qabul qilinadigan ijro ta'siriga ega. Tashqi API chaqiruvlari ish oqimini buzishi mumkin. Og'ir hisoblash operatsiyalari asinxron ijrodan foyda ko'radi.

Ilgaklarni Guruqlash

Bir nechta ilgaklar bir xil hodisaga mos kelishi mumkin. Referens hujjatlarga ko'ra, ilgaklar ta'rif tartibida ketma-ket ishga tushadi. Agar har qanday ilgak operatsiyani bloklasa, qolgan ilgaklar ishga tushmaydi.

Bu ijro uchun muhim. Har bir hodisa uchun 200ms dan beshta sinxron ilgak bir soniya qo'shadi. Tegishli tasdiqlashlarni bitta ilgakka birlashtirish ortiqcha yukni kamaytiradi.

Murakkab Namunalari

Asosiy avtomatlashtirishdan tashqari, ilgaklar murakkab ish oqimi moslashtirishini ta'minlaydi.

Holatli Ilgak Zanjirlari

Ilgaklar fayllar yoki ma'lumotlar bazalaridan foydalanib, ijrolar orasida holatni saqlashi mumkin. PostToolUse ilgak muvaffaqiyatli operatsiyalarni yozishi mumkin, keyinchalik PreToolUse ilgak uni tekshiradi:

#!/bin/bash
# Muvaffaqiyatli tahrirlarni yozib oling
echo “${toolInput.path}” >> .claude/edit-history.txt

Hamrohlikdagi PreToolUse ilgak takroriy operatsiyalarni oldini olish yoki buyurtma cheklovlarini qo'llash uchun ushbu tarixni tekshirishi mumkin.

Shartli Ilgak Aktivlashuvi

Atrof-muhit o'zgaruvchilari ijro vaqtida ilgak xatti-harakatlarini nazorat qiladi. CLAUDE_SKIP_HOOKS=1 ni sozlash favqulodda vaziyatlarda ilgaklarni o'chiradi.

Ilgaklar o'zlari atrof-muhit bayroqlarini tekshirishlari mumkin:

#!/bin/bash
if [ “$STRICT_MODE” = “1” ]; then
  # Qat'iy tasdiqlashni qo'llang
  exit 1
fi
exit 0

Bu sozlash o'zgarishlarisiz ishlab chiqish rejimiga qarshi ishlab chiqarish rejimi xatti-harakatlariga imkon beradi.

Ko'p Bosqichli Tasdiqlash

PreToolUse ilgaklari ko'p darajali tasdiqlashni amalga oshirishi mumkin, bunda chiqish kodi 2 Claude'ga ogohlantirishlar bilan davom etishga imkon beradi:

  1. Qattiq xatolar (chiqish 1): Xavfli operatsiyalarni bloklash
  2. Yengil ogohlantirishlar (chiqish 2): Claude'ni qayta ko'rib chiqishga undash
  3. Kontekst bilan o'tish (chiqish 0 + JSON): Qo'shimcha ma'lumot taqdim etish

Bu standart ruxsat berish/inkor etishdan ko'ra nozikroq tasdiqlash spektrini yaratadi.

CI/CD Integratsiyasi

Rasmiy platforma integratsiyasi hujjatlariga ko'ra, Claude Code avtomatik kodni ko'rib chiqish va muammolarni tahlil qilish uchun CI/CD muhitlarida ishlaydi. Ilgaklar ushbu avtomatlashtirishni kengaytiradi.

GitHub Actions ish oqimlari avtomatlashtirilgan sessiyalar davomida jamoa siyosatlarini qo'llaydigan ilgaklarni belgilashi mumkin:

-- name: Qat'iy ilgaklar bilan Claude Code ishga tushiring
  env:
    STRICT_MODE: 1
  run: |
    claude “Ushbu PRni ko'rib chiqing va yaxshilanishlar taklif qiling”

STRICT_MODE bayrog'i ilgak skriptlarida shartli tasdiqlash mantiqini faollashtiradi. Bu avtomatlashtirilgan sessiyalarning interaktiv ishlab chiqishdan ko'ra qat'iyroq qoidalarga rioya qilishini ta'minlaydi.

Audit Yo'lini Yaratish

CI muhitlaridagi PostToolUse ilgaklari barcha Claude operatsiyalarining batafsil audit jurnallarini yaratadi:

{
  “event”: “PostToolUse”,
  “command”: “./scripts/log-to-database.sh”,
  “async”: true
}

Fon jurnal yozish ijroga ta'sir qilmaydi, lekin muvofiqlik va debugging uchun to'liq operatsiya tarixini ta'minlaydi.

/hooks Menusi

Claude Code /hooks buyrug'ini taqdim etadi, u joriy sessiya uchun barcha faol ilgaklarni ko'rsatadi. Rasmiy hujjatlarga ko'ra, ushbu menyu quyidagilarni ko'rsatadi:

  • Ilgak hodisasi turi
  • Moslashtiruvchi namunalari
  • Buyruq yoki URL manzili
  • Ilgak asinxron ishlaydimi
  • Sozlash manbai (loyiha, foydalanuvchi yoki plagin)

Ilgakni tanlash uning to'liq sozlamalarini ko'rsatadi va joriy sessiya uchun vaqtinchalik o'chirishga imkon beradi.

Ilgaklarni O'chirish yoki O'chirish

Ilgaklar "enabled": false sozlamani kiritish orqali sozlamalarni olib tashlamasdan o'chirilishi mumkin. Bu sozlamani saqlab qoladi, lekin ijroni oldini oladi.

Ilgakni doimiy ravishda olib tashlash uchun uni tegishli settings.json faylidan o'chiring. O'zgarishlar keyingi sessiya qayta boshlanganda yoki /reload ishga tushirilganda amalga oshadi.

Skills va Agents Ildaklari

Rasmiy hujjatlarga ko'ra, skill yoki kichik agent sozlamalarida belgilangan ilgaklar faqat o'sha skill yoki agent ishga tushganda qo'llaniladi. Bu ma'lum bir ish oqimlari uchun maxsus avtomatlashtirishga imkon beradi.

Dasturlashni tuzatuvchi kichik agent barcha asbob chaqiruvlarini yozadigan ilgaklarni o'z ichiga olishi mumkin:

{
  “name”: “debugger”,
  “hooks”: [
    {
      “event”: “PostToolUse”,
      “command”: “./scripts/log-debug.sh”,
      “async”: true
    }
  ]
}

Ushbu ilgaklar oddiy Claude Code ijrosida emas, faqat debugger agent sessiyalari davomida ishga tushadi.

Skriptlarni Yo'l orqali Havolash

Ilgak buyruqlari nisbiy va mutlaq yo'llarni qo'llab-quvvatlaydi. Nisbiy yo'llar Claude Code ishlayotgan loyiha ildizidan aniqlanadi.

Jamiyat muhokamalaridan eng yaxshi amaliyotlar:

  • Ilgak skriptlarini .claude/hooks/ katalogida saqlang
  • Tavsifli nomlardan foydalaning: validate-typescript.sh, hook1.sh emas
  • Skriptlarni bajariladigan qiling: chmod +x .claude/hooks/*.sh
  • Shebang qatorini qo'shing: #!/usr/bin/env bash yoki #!/usr/bin/env python3
  • Bash skriptlarida set -e bilan xato ishlov berishni qo'shing

Kelgusi Ilgak Qobiliyatlari

GitHub xususiyat so'rovlari rejalashtirilgan va so'ralgan ilgak yaxshilanishlarini ochib beradi:

  • Inline skript ilgaklari: Ilgak mantiqini tashqi fayllarsiz settings.json da to'g'ridan-to'g'ri belgilash
  • MCP asbob integratsiyasi: Shell buyruqlari o'rniga ilgaklardan MCP server vositalarini chaqirish
  • Ko'p agentli hamkorlik: Turli mashinalarda Claude namunalari o'rtasida muvofiqlashtiruvchi ilgaklar
  • Kengaytirilgan turlash: Ilgak kiritish/chiqish sxemalari uchun TypeScript turli ta'riflari

GitHub issue #4274 ga ko'ra, integratsiya qilingan ilgak turlari (MCP asbob, inline skript, API chaqiruvi) so'rovi sozlashni soddalashtirish va dasturchi tajribasini yaxshilashga qaratilgan.

Tez-tez So'raladigan Savollar

Ilgaklar Claude Code ning xavfli buyruqlarni bajarishini oldini oladimi?

Ha. PreToolUse ilgaklari 1-kod bilan chiqib, har qanday asbobni bajarishni bloklashi mumkin. Bunga fayl tahrirlari, buyruq ijrosi va MCP asbob chaqiruvlari kiradi. Ilgak to'liq asbob kiritmasini oladi va operatsiyaga ruxsat berishdan oldin har qanday mezonlarni tekshirishi mumkin.

Ishlamayotgan ilgakni qanday tuzataman?

Claude Code-ni ishga tushirishdan oldin CLAUDE_DEBUG=1 bilan debug jurnalini yoqing. Ilgak ijrosi tafsilotlari, jumladan, qaysi ilgaklar mos kelgan, yuborilgan JSON kiritmasi, stdout/stderr chiqishi va chiqish kodlari uchun sessiya jurnallarini tekshiring. Namuna JSONni ilgak skriptiga quvurlash orqali ilgaklarni mustaqil ravishda sinang.

Ilgaklar barcha Claude Code platformalari bilan ishlaydimi?

Ilgaklar CLI, ish stoli ilovasi va VS Code kengaytmasida ishlaydi. Rasmiy hujjatlarga ko'ra, ilgaklar Claude Code ishlayotgan har qanday joyda fayl tizimidan foydalanish huquqi bilan ishlaydi. Brauzerga asoslangan Claude va mobil ilovalar sandbox cheklovlari tufayli ilgaklarni qo'llab-quvvatlamaydi.

Ilgaklar Claude'ning javoblarini yoki xatti-harakatlarini o'zgartira oladimi?

Prompt ilgaklari Claude'ning xatti-harakatlariga ta'sir ko'rsatadigan ko'rsatmalarni kiritadi. Agent ilgaklari hodisani qayta ishlashni maxsus kichik agentlarga topshiradi. Biroq, ilgaklar Claude'ning yaratgan matnini yoki mulohaza jarayonini to'g'ridan-to'g'ri o'zgartira olmaydi - ular kontekstni taqdim etish va operatsiyalarni bloklash orqali ishlaydi.

Async va sync ilgaklar o'rtasidagi farq nima?

Sinxron ilgaklar tugaguniga yoki taymutgacha Claude'ning ish oqimini bloklaydi. Asinxron ilgaklar bloklamasdan fon rejimida ishlaydi. Sinxron ilgaklar chiqish kodlari orqali operatsiyalarni oldini olishi mumkin. Asinxron ilgaklar bloklashi mumkin emas, chunki Claude ilgak tugamasdan davom etadi. Jurnal yozish va bildirishnomalar uchun sinxron, tasdiqlash uchun asinxron foydalaning.

Ilgaklarni jamoa bo'ylab qanday ulashish mumkin?

.claude/settings.json faylini versiya nazoratiga yuklang. Loyiha darajasidagi ilgaklar omborxonani klonlagan barcha jamoa a'zolariga qo'llaniladi. Tashkilot bo'yicha siyosatlar uchun jamoalar o'zlarining ~/.claude/settings.json faylga nusxalagan umumiy foydalanuvchi darajasidagi sozlamalar faylini saqlashi mumkin.

HTTP ilgaklari devorlar ortidagi ichki API'larga qo'ng'iroq qila oladimi?

Ha, agar Claude Code ushbu APIlarga tarmoq kirishiga ega bo'lgan muhitda ishlayotgan bo'lsa. HTTP ilgaklari Claude Code ishlayotgan mashinadan standart POST so'rovlarini amalga oshiradi. Korporativ devorlar va VPNlar odatdagidek qo'llaniladi. Hujjatlarda tilga olingan sandbox proksi-serveri tarmoq yo'nalishini emas, balki atrof-muhit o'zgaruvchilarining oshkor etilishini nazorat qiladi.

Ilgaklar Claude Code'ning token foydalanishini oshiradimi?

Prompt ilgaklari Claude'ning kontekstiga matn kiritadi, bu tokenlarni iste'mol qiladi. Buyruq va HTTP ilgaklari token foydalanishiga to'g'ridan-to'g'ri ta'sir qilmaydi, lekin ularning chiqishi (xato xabarlari, takliflar) suhbat kontekstining bir qismiga aylanadi. Xabar bilan 2-chiqish kodi 1-chiqish kodi bilan oddiy bloklashdan ko'ra ko'proq kontekstni qo'shadi.

Xulosa

Claude Code ilgaklari AI yordamchisini kuchli vositadan to'liq avtomatlashtirilgan dasturiy ta'minot ishlab chiqish platformasiga aylantiradi. Hodisalar tizimi Claude'ning ish oqimi davomida - sessiyani boshlashdan tortib kontekst siqilishigacha kesishish nuqtalarini ta'minlaydi.

Buyruq ilgaklari mahalliy tekshirish va formatlashni boshqaradi. HTTP ilgaklari tashqi xizmatlar va ma'lumotlar bazalarini integratsiya qiladi. Prompt ilgaklari kontekst kiritish orqali xatti-harakatlarni o'zgartiradi. Birgalikda ular jamoa siyosatlarini qo'llaydigan, kod sifatini saqlaydigan va mavjud ishlab chiqish infratuzilmasi bilan integratsiya qiladigan avtomatlashtirish uslublarini ta'minlaydi.

Moslashtiruvchi tizim ilgaklarni ma'lum vositalar va fayl namunalari uchun filtrlangan. Chiqish kodlari va JSON chiqishi qarorlar oqimini boshqaradi. Asinxron ijro uzoq operatsiyalarda bloklanishni oldini oladi. To'liq sozlash sxemasi oddiy avtomatlashtirilgan formatlashdan tortib murakkab ko'p bosqichli tasdiqlashgacha bo'lgan hamma narsani qo'llab-quvvatlaydi.

Kod formatlash uchun oddiy PostToolUse ilgaklaridan boshlang. Siyosatlar paydo bo'lganida PreToolUse tasdiqlashni qo'shing. Xatti-harakatlarni o'zgartirish uchun prompt ilgaklari bilan tajriba qiling. Jamoa miqyosida joriy etish uchun HTTP integratsiyalarini yarating.

To'liq ilgaklar referensi va yangi imkoniyatlar paydo bo'lganida yangilangan sozlash sxemasi uchun rasmiy Claude Code hujjatlarini tekshiring.

AI Perks

AI Perks startaplar va dasturchilarga pul tejashga yordam berish uchun AI vositalari, bulutli xizmatlar va API-lar bo'yicha eksklyuziv chegirmalar, kreditlar va takliflarga kirish imkonini beradi.

AI Perks Cards

This content is for informational purposes only and may contain inaccuracies. Credit programs, amounts, and eligibility requirements change frequently. Always verify details directly with the provider.