Claude Code Hooks: Толук колдонмо (2026)

Author Avatar
Andrew
AI Perks Team
8,547
Claude Code Hooks: Толук колдонмо (2026)

Ыкчам корутунду: Claude Code's hooks – бул AI коддоо сессияларынын белгилүү бир жашоо циклинин баскычтарында ишке ашкан автоматтык скрипттер, алар иштеп чыгуучуларга ыңгайлаштырылган буйруктарды аткарууга, аракеттерди текшерүүгө, кодду форматтоого, эскертмелерди жөнөтүүгө жана долбоор эрежелерин аткарууга мүмкүндүк берет. Бул hooks Claude'дун жумуш процессине SessionStart, PreToolUse жана PostToolUse сыяктуу окуялар аркылуу интеграцияланат, буйрук-негиздүү, HTTP-негиздүү жана prompt-негиздүү аткаруу үлгүлөрүн конфигурациялануучу убакыт аралыгы жана чыгуу коду менен колдойт.

Claude Code'дун hook тутуму AI коддоо жардамчысын пайдалуу куралдан толугу менен автоматташтырылган өнүктүрүү чөйрөсүнө айлантат. Көпчүлүк иштеп чыгуучулар hooks аркылуу жеткиликтүү болгон башкаруунун көлөмүн түшүнбөйт.

Көңүл бура турган нерсе – hooks жөн гана файлдарды өзгөрткөндөн кийин скрипттерди аткарууга арналган эмес. Алар Claude'дун бүтүндөй чечим кабыл алуу процессинде тоскоолдук чекиттерин камсыз кылат. Буйрукту аткарардан мурун. Курал чакырыгы ийгиликсиз болгондон кийин. Качан уруксат керек болгондо. Жада калса колдонуучунун prompts'ун иштеп чыгардан мурун.

Бул колдонмо расмий документтерде камтылган бардык нерселерди, ошондой эле коомдук талкууларда өндүрүштүк чөйрөлөрдө чындыгында иштеген практикалык үлгүлөрдү камтыйт.

Claude Code Hooks Чындап Эмне Кылганы

Расмий Claude Code документтерине ылайык, hooks – бул колдонуучу тарабынан аныкталган shell буйруктары, HTTP endpoints же Claude Code'дун жашоо циклинин белгилүү бир учурунда аткарылуучу prompt инъекциялары. Алар stdin аркылуу түзүлгөн JSON киришин алышат жана чыгуу коддору же HTTP жооптору аркылуу жумуш процессин башкарышат.

Автоматташтыруу көпчүлүк колдонмолор сунуштагандан тереңирээк. Hooks куралдын аткарылышын толугу менен бөгөттөп, Claude'дун ой жүгүртүүсүнө кошумча контекст киргизип, тышкы кызматтарды ишке киргизип, Claude аткарышы керек болгон валидация эрежелерин аткара алат.

Үч негизги hook түрү бар:

  • Буйрук hooks: stdout, stderr жана чыгуу коддору аркылуу байланышкан shell скрипттери
  • HTTP hooks: POST суроо-талаптарын кабыл алып, JSON жоопторун кайтарган алыскы endpoints
  • Prompt hooks: белгилүү бир окуяларда Claude'дун контекстине киргизилген динамикалык нускамалар

Ар бир түрү ар кандай автоматташтыруу үлгүлөрүнө кызмат кылат. Command hooks жергиликтүү валидацияны жана форматтоону иштетет. HTTP hooks тышкы кызматтарды жана маалымат базаларын интеграциялайт. Prompt hooks тышкы процесстерсиз Claude'дун жүрүм-турумун өзгөртөт.

Hook Жашоо Цикли жана Окуя Системасы

Расмий документтер Claude Code'дун аткарылыш агымы учурунда бир нече hook окуяларын (SessionStart, UserPromptSubmit, PreToolUse, PermissionRequest, PostToolUse, PostToolUseFailure, Notification жана башкалар) аныктайт. Ар бир окуя качан болгонун түшүнүү кандай автоматташтыруу мүмкүн экенин аныктайт.

Claude Code hook окуялары жана алардын типтүү сессия учурундагы аткарылуу агымы
ОкуяКачан аткарылатБөгөттөөгө болобу 
SessionStartСессия башталганда же улантылгандаЖок
UserPromptSubmitСиз prompt жөнөткөндө, Claude аны иштеп чыга электеОоба
PreToolUseКурал чакырылгандан мурунОоба
PermissionRequestУруксат диалогу пайда болгондоОоба
PostToolUseКурал чакырыгы ийгиликтүү аяктагандан кийинЖок
PostToolUseFailureКурал чакырыгы ийгиликсиз болгондон кийинЖок
NotificationClaude Code эскертме жөнөткөндөЖок
SubmitMessageClaude колдонуучуга билдирүү жөнөткөндөЖок
ContextCompactionКонтекст терезесинин чектерине жакындагандаЖок

Бөгөттөө мүмкүнчүлүгү эң маанилүү. PreToolUse hooks кооптуу аракеттерди аткарыла электе токтото алат. Чыгуу коду 1 аракетти бөгөттөйт. Чыгуу коду 0 аны уруксат берет. Чыгуу коду 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}”]
    }
  ]
}

${file} өзгөрмөсү куралдын киришинен алынган чыныгы файл жолуна кеңейет. Расмий документтерге ылайык, hooks буйрук жана args талааларында мындай кеңейтүүлөрдү колдойт.

Hook Жайгашуу Иерархиясы

Claude Code hook аныктамаларын бир нече жерден издейт, так артыкчылык тартиби менен:

  1. Долбоор-деңгээл: учурдагы жумуш мейкиндигиндеги .claude/settings.json
  2. Колдонуучу-деңгээл: бардык сессиялар үчүн ~/.claude/settings.json
  3. Плагин-берилген: орнотулган плагиндер менен кошо келген Hooks

Долбоор hooks колдонуучу hooks'ун бирдей окуя үчүн алмаштырат. Бул долбоор-спецификалык форматтоо эрежелерине уруксат берет, ал эми глобалдык эскертме трекерлерин сактап калат.

Тандалма Аткаруу үчүн Дал келтирүү Үлгүлөрү

Дал келтирүү системасы hooks'ун белгилүү бир куралдарга же шарттарга чейин чыпкалайт. Дал келтирүүлөрсүз, hooks алардын окуясынын ар бир көрүнүшү үчүн ишке ашат.

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

pathPattern талаасы glob синтаксисин кабыл алат. toolName талаасы edit_file, execute_command, read_file жана create_directory сыяктуу Claude'дун ички куралдарына дал келет.

Коомдук талкуулар дал келтирүү комбинациялары AND логикасы менен иштээрин көрсөтөт. Бардык көрсөтүлгөн дал келүүлөр hook ишке ашышы үчүн дал келиши керек.

Буйрук Hooks: Shell Скрипт Интеграциясы

Буйрук hooks shell буйруктарын же скрипттерди түзүлгөн JSON кириши менен аткарат. Алар жергиликтүү автоматташтыруу үчүн эң кеңири таралган hook түрүн билдирет.

Расмий документтерде буйрук hooks'у JSON'ду stdin аркылуу ушул структура менен аларын көрсөтөт:

{
  “event”: “PreToolUse”,
  “toolName”: “edit_file”,
  “toolInput”: {
    “path”: “src/app.ts”,
    “content”: “…”
  },
  “sessionId”: “abc123”,
  “turnId”: “turn-456”
}Скрипттер бул киришти чечим кабыл алуу үчүн анализдөөгө алат. 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)

0 чыгуу коду операцияга уруксат берет. 1 чыгуу коду аны бөгөттөп, stderr билдирүүсүн Claude'го көрсөтөт. 2 чыгуу коду окуяга жараша өзгөчө жүрүм-турумду ишке киргизет.

2-Чыгуу Кодунун Жүрүм-туруму

Расмий hooks шилтеме документтерине ылайык, 2 чыгуу кодунун окуяга тиешелүү мааниси бар (PreToolUse: бөгөттөйт жана кайрадан ойлонууга үндөйт; UserPromptSubmit: бөгөттөбөй контекстти камсыз кылат; PermissionRequest: уруксатты бөгөттөйт):

  • PreToolUse: куралды бөгөттөйт жана stderr билдирүүсүн контекст катары колдонуп, Claude'ду кайрадан ойлонууга үндөйт
  • UserPromptSubmit: stderr чыгарылышын бөгөттөбөй туруп, кошумча контекст катары камсыз кылат
  • PermissionRequest: уруксат берүүнү бөгөттөйт

Бул катуу бөгөттөө жана уруксат берүү ортосунда ортоңку жол түзөт. Claude операция эмне үчүн көйгөйлүү болушу мүмкүн экендиги жөнүндө пикир алат жана өзүнүн мамилесин тууралай алат.

Асинхрондуу Буйрук Hooks

async: true белгиси hooks'ун Claude'дун жумуш процессин бөгөттөбөй, фондо иштетет. Бул жай операциялар үчүн маанилүү, мисалы, жайгаштыруу эскертмелери же метрикалык чогултуу.

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

Async hook ишке киргенде, Claude Code процессти баштайт жана дароо улантат. timeout талаасы эң жогорку аткаруу убактысын секунд менен аныктайт. Эгерде көрсөтүлбөсө, async hooks 10 мүнөттүк демейки убакыт аралыгын колдонот.

Чыныгы сөз: async hooks операцияларды бөгөттөй албайт, анткени алар Claude улангандан кийин иштешет. Алар журналдар, эскертмелер жана тазалоо үчүн иштейт — валидация үчүн эмес.

HTTP Hooks: Тышкы Кызмат Интеграциясы

HTTP hooks JSON payload'ларын алыскы endpoints'ке POST кылат жана чечимди башкаруу үчүн жоопторду талдайт. Алар валидация кызматтары, маалымат базалары жана үчүнчү жак куралдары менен интеграциялоого мүмкүндүк берет.

Негизги HTTP hook конфигурациясы:

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

Payload структурасы буйрук hook киришине дал келет, бирок HTTP POST денеси катары келет. Жооп Claude'дун кийинки аракетин аныктайт.

HTTP Жооп иштетүү

Расмий документтерге ылайык, HTTP hooks'у жоопторду статус кодуна жана дене мазмунуна жараша чечмелейт:

Статус КодуТаасириБилдирүү булагы 
200Операцияга уруксат берүүЖооп денеси (милдеттүү эмес)
400Операцияны бөгөттөөClaude'га көрсөтүлгөн жооп денеси
500Hook катасы, операцияга уруксат берүүКыскартылган, бирок Claude'го көрсөтүлбөйт
БашкаларОперацияга уруксат берүүHook ийгиликсиздиги жумуш процессин бөгөттөбөйт

Жооп денеси Claude көрө турган контекст катары билдирүү талаасын камтышы мүмкүн. Бул валидация кызматтарына операция эмне үчүн бөгөттөлгөндүгүн түшүндүрүүгө мүмкүндүк берет.

Чөйрө Программалык Өзгөрмөлөрүн Интерполяциялоо

HTTP hooks'у url, headers жана башка string талааларында ${VAR} синтаксисин колдойт. Өзгөрмөлөр Claude Code иштеген чөйрөдөн кеңейет.

Расмий MCP документтерине ылайык, чөйрө өзгөрмөсүнүн кеңейүүсү демейки артка кайтаруу синтаксисин камтыйт: ${VAR:-default} VAR орнотулган болсо, VAR'ды кеңейтет, антпесе демейки маанини колдонот.

Коопсуздук чектөөсү: GitHub маселеси #28044 боюнча, HTTP hooks'у allowedEnvVars конфигурация талаасында ачык тизмеленген чөйрө өзгөрмөлөрүнө гана кире алат. Бул кокусунан сыр сөздүн ачыкка чыгышын алдын алат.

Prompt Hooks: Контекст Инъекциясы

Prompt hooks'у Claude'дун контекстине белгилүү бир окуяларда динамикалык нускамаларды киргизет. Алар тышкы процесстер же API чакыруулары жок жүрүм-турумду өзгөртөт.

{
  “event”: “SessionStart”,
  “prompt”: “Сиз TypeScript долбоорунда иштеп жатасыз. Ар дайым катуу null текшерүүлөрүн колдонуңуз жана promises'ка караганда async/await'ти артык көрүңүз.”
}

Киргизилген текст ошол сессия үчүн Claude'дун системалык нускамаларынын бир бөлүгү болуп калат. Prompt hooks'у да окуя маалыматтарына негизделген кеңейүүчү шаблон өзгөрмөлөрүн колдоно алат.

Динамикалык Prompt Генерациясы

Расмий документтерге ылайык, prompt hooks'у динамикалык prompts'ун түзүүчү буйрук талааларын колдойт:

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

Буйрук stdin аркылуу стандарттык JSON киришин алат жана stdout'ка prompt текстин чыгарат. Бул долбоордун абалына негизделген контекстке сезимтал нускамаларды генерациялоого мүмкүндүк берет.

Агент-Негизделген Hooks

Agent hooks'у direct prompt инъекциясынан көрө окуяны иштеткен суб-агентти аныктайт. Суб-агент окуя жөнүндө контекст алат жана көп баскычтуу ой жүгүртүүнү аткара алат.

{
  “event”: “PostToolUseFailure”,
  “agent”: “debugger”,
  “agentPrompt”: “Курал чакырыгы ийгиликсиз болду. Ката анализдөө жана оңдоолорду сунуштаңыз.”
}

Аты аталган суб-агент долбоордун конфигурациясында аныкталышы керек. Agent hooks'у жөнөкөй prompt инъекциясы камсыз кыла албаган татаал чечим логикасын ишке ашырат.

Практикалык Hook Үлгүлөрү

Коомдук талкуулар жана расмий мисалдар өндүрүштүк чөйрөлөрдө ишенимдүү иштеген белгилүү бир автоматташтыруу үлгүлөрүн ачып берет.

Өзгөртүүлөрдөн Кийин Кодду Автоматтык Түрдө Форматтоо

Эң кеңири таралган үлгү Claude файлдарды өзгөрткөндөн кийин кодду автоматтык түрдө форматтайт:

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

${toolInput.path} өзгөрмөсү өзгөртүлгөн файл жолуна кеңейет. PostToolUse ийгиликтүү өзгөртүүлөрдөн кийин форматтоону камсыз кылат, бирок Claude'дун жумуш процессин бөгөттөбөйт.

Корголгон Файлдарды Өзгөртүүнү Бөгөттөө

PreToolUse hooks файл коргоо эрежелерин аткарат:

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

Скрипт максаттуу жолду корголгон үлгүлөргө каршы текшерет жана тыюу салынган өзгөртүүлөрдү бөгөттөө үчүн 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”
}

Буйруктун чыгарылышы компакция эски билдирүүлөрдү алып салгандан кийин Claude'дун контекстине кайра киргизилет. Бул критикалык долбоор-спецификалык нускамалардын жоголушун алдын алат.

Конфигурацияны Текшерүү

Claude конфигурация файлдарын качан өзгөртсө, байкап туруңуз:

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

Async аткаруу git операциялары бүткөндө Claude'ду бөгөттөбөй, фондо иштөөнү алдын алат. Бул кол менен stagingсиз конфигурация өзгөртүүлөрүнүн текшерүү журналын түзөт.

JSON Чыгарылышы жана Чечим Башкаруу

Буйрук hooks'у жөнөкөй чыгуу коддорунан тышкары толук пикир берүү үчүн түзүлгөн JSON чыгара алат. Расмий шилтемеге ылайык, JSON чыгарылышы Claude чечим кабыл алуу үчүн чечмелей турган көп талаалуу жоопторду ишке ашырат.

{
  “allowed”: false,
  “message”: “Бул файл команда саясаты менен корголгон”,
  “suggestion”: “src/features/ жерінде жаңы файл түзүңүз”
}

allowed талаасы операциянын уланышын көзөмөлдөйт. Билдирүү Claude'го контекст катары көрүнөт. Suggestion талаасы альтернативдик ыкмаларды камсыз кылат.

JSON чыгарылышы үчүн hooks'тар:

  1. stdout'ка жарактуу JSON жазыңыз
  2. 0 (уруксат берилген) же 1 (бөгөттөлгөн) чыгуу коду менен чыгыңыз
  3. Кеминде allowed булеан талаасын камтыңыз

Claude Code JSON'ду анализдөөгө алат жана аны пикир циклинин жакшыртуу үчүн колдонот. Чыгуу коддору дагы эле негизги чечимди аныктайт, бирок JSON байыраак контекстти камсыз кылат.

Hook Кирүү Талааларынын Шилтемеси

Бардык hooks'у stdin аркылуу жалпы талааларды, плюс окуя-спецификалык маалыматтарды камтыган JSON объектин алышат. Толук схеманы түшүнүү татаал hook логикасын ишке ашырат.

Hook киргизүү JSON схемасы жалпы талааларды жана окуя-спецификалык кеңейтүүлөрдү көрсөтүүдө

Жалпы Кирүү Талаалары

Бардык hooks'у бул негизги талааларды алат:

  • event: Hook окуясынын аты (мис. "PreToolUse")
  • sessionId: Учурдагы Claude сессиясынын уникалдуу идентификатору
  • turnId: Учурдагы сүйлөшүү бурулушунун идентификатору
  • timestamp: Окуя качан болгондугунун ISO 8601 убактысы

Курал Окуя Талаалары

PreToolUse, PostToolUse жана PostToolUseFailure окуялары төмөнкүлөрдү камтыйт:

  • toolName: Чабылып жаткан куралдын аты (edit_file, execute_command, ж.б.)
  • toolInput: Куралдын кириш параметрлерин камтыган объект
  • toolResponse: Куралдын чыгарылыш маалыматтары (PostToolUse гана)
  • error: билдирүү жана кодду камтыган ката жөнүндө маалыматтар (PostToolUseFailure гана)

toolInput структурасы куралдан куралга чейин өзгөрөт. edit_file үчүн ал path жана content камтыйт. execute_command үчүн ал command жана args камтыйт.

Уруксат Окуя Талаалары

PermissionRequest окуялары төмөнкүлөрдү камтыйт:

  • permissionType: Суралып жаткан уруксаттын түрү (file_write, command_execute, ж.б.)
  • requestedAction: Уруксатты талап кылган белгилүү аракет
  • resourcePath: Файл жолу же таасир эткен ресурс идентификатору

MCP Курал Hooks

Расмий hooks шилтемесине ылайык, hooks'у Model Context Protocol (MCP) куралдарына mcpTool дал келтирүү талаасын колдонуу менен дал келет. Бул Claude MCP серверлери тарабынан берилген тышкы куралдарды колдонгондо hook ишке ашуусун ишке ашырат.

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

mcpTool мааниси сервер-ат/курал-ат форматындагы курал атына дал келет. Бул маалымат базасы сурамдары, API чакыруулары же башка тышкы операциялар үчүн валидация логикасына мүмкүндүк берет.

GitHub сунушталган функциялары MCP интеграциясынын тереңдетилишине, анын ичинде MCP сервер билдирүүлөрүн текшере турган жана тышкы окуяларга жооп бере турган hooks'ту камтыган кызыгуунун өсүп жаткандыгын көрсөтүп турат.

Коопсуздук Көрсөткүчтөрү

Hooks'у Claude Code'дун өзү сыяктуу эле укуктар менен аткарылат. Бул көп колдонуучу чөйрөлөрү жана жалпы конфигурациялар үчүн коопсуздук таасирин жаратат.

Буйрук Аткаруу Sandbox

GitHub маселеси #28044 боюнча, HTTP hooks'у тармакка кирүүнү чектеген жана чөйрө өзгөрмөлөрүн чыпкалаган sandbox прокси аркылуу өткөрүлөт. Буйрук hooks'унда мындай чектөөлөр жок — алар толук shell кирүүсү менен иштешет.

Документтер бул практикаларды сунуштайт:

  • Эч качан hook буйруктарына сыр сөздөрдү сактабаңыз
  • Сезимтал маалыматтар үчүн чөйрө өзгөрмөлөрүн колдонуңуз
  • ${...} кеңейтүүлөрүнөн алынган бардык киришти текшериңиз
  • Тышкы кызматтар үчүн убакыт аралыгы чектөөлөрүн ишке ашырыңыз
  • Каталар учурунда бөгөттөөдөн качуу үчүн асинхрондуу hooks'ту колдонуңуз

Hook Аткаруу Изилдөөсү

~/.claude/settings.json колдонуучу-деңгээлдеги hooks'у бардык долбоорлорго тиешелүү. Бул ар кандай ишеним чек араларында иштеп жатканда тобокелдиктерди жаратат. Долбоор-деңгээлдеги hooks'у колдонуучу hooks'ун алмаштырат, бирок аларды толугу менен өчүрө албайт.

Claude Code'догу /hooks менюсу учурдагы сессия үчүн бардык активдүү hooks'ту көрсөтөт. Сезимтал долбоорлордо иштөөдөн мурун бул тизмени карап чыгуу мүмкүн болгон коопсуздук көйгөйлөрүн аныктоого жардам берет.

Мүчүлүштүктөрдү Оңдоо жана Көйгөйлөрдү Чечүү

Hook ийгиликсиздиги ар дайым Claude'дун сүйлөшүүсүндө ачык көрүнбөйт. Расмий документтер бир нече мүчүлүштүктөрдү оңдоо ыкмаларын камсыз кылат.

Hook Аткаруу Журналдары

Claude Code hook аткарылышын сессиянын мүчүлүштүктөрүн оңдоо чыгарылышына жазат. Көйгөйлөрдү чечүү колдонмосуна ылайык, мүчүлүштүктөрдү оңдоо журналын иштетүү төмөнкүлөрдү ачып берет:

  • Ар бир окуя үчүн кайсы hooks дал келген
  • Ар бир hook'ка жөнөтүлгөн JSON кириши
  • Hook процесстеринин stdout жана stderr чыгарылышы
  • Чыгуу коддору жана аткаруу убактысы
  • HTTP жооп коддору жана HTTP hooks'у үчүн денелери

Claude Code'ду иштетүүдөн мурун чөйрөдө CLAUDE_DEBUG=1 деп коюу менен мүчүлүштүктөрдү оңдоо журналын иштетиңиз.

Hooks'ту Көз карандысыз Сыноо

Буйрук hooks'ун JSON киришин кол менен түзүү аркылуу Claude Code'дон тышкары сынаса болот:

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

Бул hook логикасын Claude операцияларын ишке киргизбестен текшерет. Чыгуу коду жана stdout/stderr чыгарылышы күтүлгөн жүрүм-турумга дал келиши керек.

Жалпы Hook Ийгиликсиздиктери

Коомдук талкуулар бул тез-тез кездешкен көйгөйлөрдү аныктайт:

  • Убакыт аралыгы каталары: Демейки 10 мүнөттүк убакыт аралыгы жай операциялар үчүн өтө кыска — timeout талаасы менен көбөйтүңүз
  • Жол кеңейтүү ийгиликсиздиги: ${file} сыяктуу өзгөрмөлөр файл контекстин камтыбаган окуялар үчүн аныкталган эмес
  • Уруксат каталары: Hook скрипттеринин аткаруу укуктары жок — chmod +x script.sh иштетиңиз
  • JSON parse каталары: Hooks'тон начар түзүлгөн JSON чыгарылышы — кайтаруудан мурун jq менен текшериңиз
  • Чөйрө өзгөрмөсү жеткиликсиздиги: Hooks процессине берилбеген өзгөрмөлөр — Claude Code'дун чөйрөсүн текшериңиз

Hook Аткаруу Таасирлери

Синхрондуу hooks'у аткарылып бүткөнгө чейин Claude'дун жумуш процессин бөгөттөйт. Демейки 10 мүнөттүк убакыт аралыгы чексиз токтоп калуудан сактайт, бирок кыска кечигүүлөр да бир нече операциялар боюнча топтолот.

Практиктер жөнөкөй валидация hooks'у минималдуу аткаруу таасирине ээ деп билдиришет. Файл форматтоо hooks'у көрүнүктүү, бирок кабыл алынуучу аткаруу таасирин жаратат. Тышкы API чакыруулары жумуш процессинин тоскоолдуктарын жаратышы мүмкүн. Оор эсептөө операциялары async аткаруудан пайда көрөт.

Hook Топтоо

Бир нече hooks'у бир эле окуяга дал келиши мүмкүн. Шилтеме документтерине ылайык, hooks'у аныктоо тартибинде ырааттуу аткарылат. Эгерде кайсы бир hook операцияны бөгөттөсө, калган hooks'у аткарылбайт.

Бул аткаруу үчүн маанилүү. Ар бири 200ms болгон беш синхрондуу hook окуясына бир секунд кошот. Бир окуяга бириктирилген окшош валидациялар чыгымды азайтат.

Өркүндөтүлгөн Үлгүлөр

Негизги автоматташтыруудан тышкары, hooks'у татаал жумуш процессинин ыңгайлаштыруусун ишке ашырат.

Абалдагы Hook Тизмектери

Hooks'у файлдарды же маалымат базаларын колдонуу менен аткаруулардын ортосунда абалдарды сактай алат. PostToolUse hook ийгиликтүү операцияларды жаздырышы мүмкүн, аларды PreToolUse hook кийинчерээк текшерет:

#!/bin/bash
# Ийгиликтүү өзгөртүүлөрдү жазыңыз
echo “${toolInput.path}” >> .claude/edit-history.txt

Шерик PreToolUse hook коштоочу операцияларды алдын алуу же тартип чектөөлөрүн аткаруу үчүн бул тарыхты текшере алат.

Шарттуу Hook Активдештирүү

Чөйрө өзгөрмөлөрү hooks'тун жүрүм-турумун ишке ашыруу учурунда көзөмөлдөйт. CLAUDE_SKIP_HOOKS=1 деп коюу чукул кырдаалдар үчүн hooks'ту өчүрөт.

Hooks'у өзү чөйрө белгилерин текшере алат:

#!/bin/bash
if [ “$STRICT_MODE” = “1” ]; then
  # Катуу валидацияны колдонуу
  exit 1
fi
exit 0

Бул конфигурацияны өзгөртпөстөн өнүктүрүү режимине каршы өндүрүштүк режим жүрүм-турумун ишке ашырат.

Көп Баскычтуу Валидация

PreToolUse hooks'у көп баскычтуу валидацияны ишке ашыра алат, мында 2 чыгуу коду Claude'га эскертүүлөр менен улантууга мүмкүндүк берет:

  1. Катуу каталар (чыгуу 1): Кооптуу операцияларды бөгөттөө
  2. Жумшак эскертүүлөр (чыгуу 2): Claude'ду кайрадан ойлонууга эскертүү
  3. Контекст менен өтүү (чыгуу 0 + JSON): Кошумча маалымат берүү

Бул бинардык уруксат/тыюу салуудан айырмаланып, валидация спектрин түзөт.

CI/CD менен Интеграция

Расмий платформа интеграциясы документтерине ылайык, Claude Code автоматтык код кароо жана көйгөйдү текшерүү үчүн CI/CD чөйрөлөрүндө иштейт. Hooks бул автоматташтырууну кеңейтет.

GitHub Actions жумуш агымдары автоматтык сессиялар учурунда командалык саясаттарды аткарган hooks'ту аныктай алат:

– name: Claude Code'ду катуу hooks менен иштетүү
  env:
    STRICT_MODE: 1
  run: |
    claude “Бул PR'ды карап чыгып, жакшыртууларды сунуштаңыз”

STRICT_MODE белгиси hook скрипттеринде шарттуу валидация логикасын ишке ашырат. Бул автоматтык сессиялар интерактивдүү иштеп чыгуудан катуураак эрежелерди сакташын камсыз кылат.

Аудит Жолун Генерациялоо

CI чөйрөлөрүндөгү PostToolUse hooks'у бардык Claude операцияларынын толук аудит журналдарын түзөт:

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

Фондук журналдоо аткарууга таасир этпейт, бирок шайкештик жана мүчүлүштүктөрдү оңдоо үчүн толук операция тарыхын камсыз кылат.

/hooks Менюсу

Claude Code /hooks буйругун камсыз кылат, ал учурдагы сессия үчүн бардык активдүү hooks'ту көрсөтөт. Расмий документтерге ылайык, бул меню төмөнкүлөрдү көрсөтөт:

  • Hook окуясынын түрү
  • Matcher үлгүлөрү
  • Буйрук же URL endpoint
  • Hook async иштеп жатабы
  • Конфигурация булагы (долбоор, колдонуучу же плагин)

Hook'ту тандоо анын толук конфигурациясын көрсөтөт жана учурдагы сессия үчүн убактылуу өчүрүүгө мүмкүндүк берет.

Hooks'ту Өчүрүү же Чыгаруу

Hooks'ту конфигурацияны өчүрбөстөн "enabled": false hook аныктамасына кошуу менен өчүрүүгө болот. Бул конфигурацияны сактап, аткарууну алдын алат.

Hook'ту биротоло алып салуу үчүн, тиешелүү settings.json файлынан анын жазуусун өчүрүңүз. Өзгөртүүлөр кийинки сессияны кайра баштоодо же /reload иштеткенде күчүнө кирет.

Skills жана Agents'те Hooks

Расмий документтерге ылайык, skill же суб-агент конфигурацияларында аныкталган hooks'у ал skill же агент ишке ашканда гана колдонулат. Бул белгилүү бир жумуш процесстери үчүн адистештирилген автоматташтырууга мүмкүндүк берет.

Debugging суб-агенти бардык курал чакырууларын жазган hooks'ту камтышы мүмкүн:

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

Бул hooks'у кадимки Claude Code операциясы учурунда эмес, debugger агент сессияларында гана ишке кирет.

Шилтеме Скрипттери Жол боюнча

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 скрипт hooks: Сырткы файлдарсыз settings.json'да hook логикасын түздөн-түз аныктоо
  • MCP курал интеграциясы: shell буйруктарынан тышкары hook'лардан MCP сервер куралдарын чакыруу
  • Көп агенттик кызматташуу: ар кайсы машиналардагы Claude инстанцияларынын ортосунда координациялаган Hooks
  • Жакшыртылган терүү: Hook кириши/чыгарылышы схемалары үчүн TypeScript тип аныктамалары

GitHub маселеси #4274 боюнча, интеграцияланган hook түрлөрү (MCP куралы, inline скрипт, API чакыруу) үчүн суроо-талап конфигурацияны жөнөкөйлөтүүнү жана иштеп чыгуучунун тажрыйбасын жакшыртууну максаттайт.

Көп Берилүүчү Суроолор

Hooks Claude'дун кооптуу буйруктарды аткаруусун алдын ала алабы?

Ооба. PreToolUse hooks'у 1 код менен чыгуу менен ар кандай куралдын аткарылышын бөгөттөй алат. Буга файл өзгөртүүлөрү, буйрук аткаруу жана MCP курал чакыруулары кирет. Hook толук курал киришин алат жана операцияга уруксат берүүдөн мурун каалаган критерийге каршы текшере алат.

Иштебей жаткан hook'ту кантип мүчүлүштүктөрдү оңдосом болот?

Claude Code'ду иштетүүдөн мурун CLAUDE_DEBUG=1 менен мүчүлүштүктөрдү оңдоо журналын иштетиңиз. Hook аткаруу маалыматтары, кайсы hooks'тун дал келгендиги, жөнөтүлгөн JSON кириши, stdout/stderr чыгарылышы жана чыгуу коддору үчүн сессия журналдарын текшериңиз. Үлгү JSON'ду hook скриптине жөнөтүү менен hooks'ту көз карандысыз сынаңыз.

Hooks бардык Claude Code платформалары менен иштейби?

Hooks'у CLI, рабочий колдонмо жана VS Code кеңейтүүсүндө иштейт. Расмий документтерге ылайык, hooks'у Claude Code файл системасына кирүү менен иштеген жерде аткарылат. Браузерге негизделген Claude жана мобилдик тиркемелер sandbox чектөөлөрүнөн улам hooks'ту колдобойт.

Hooks Claude'дун жоопторун же жүрүм-турумун өзгөртө алабы?

Prompt hooks'у Claude'дун жүрүм-турумуна таасир эткен нускамаларды киргизет. Agent hooks'у окуяны иштетүүнү адистештирилген суб-агенттерге өткөрүп берет. Бирок, hooks'у Claude'дун түзүлгөн текстин же ой жүгүртүү процессин түздөн-түз өзгөртө албайт — алар контекстти камсыз кылуу жана операцияларды бөгөттөө аркылуу иштешет.

Async жана sync hooks ортосунда кандай айырма бар?

Синхрондуу hooks'у аткарылып бүткөнгө же убакыт аралыгы бүткөнгө чейин Claude'дун жумуш процессин бөгөттөйт. Асинхрондуу hooks'у бөгөттөбөй, фондо иштейт. Sync hooks'у чыгуу коддору аркылуу операцияларды алдын ала алат. Async hooks'у бөгөттөй албайт, анткени Claude hook бүткөнгө чейин улантат. Журналдар жана эскертмелер үчүн async, валидация үчүн sync колдонуңуз.

Hooks'ту команда боюнча кантип бөлүшсө болот?

.claude/settings.json файлын версиялык контролго commit кылыңыз. Долбоор-деңгээлдеги hooks'у репозиторийди клондогон бардык команда мүчөлөрүнө колдонулат. Уюм боюнча саясаттар үчүн, командалар колдонуучу-деңгээлдеги жалпы settings файлын сактап, мүчөлөр аны ~/.claude/settings.json файлына көчүрүшөт.

HTTP hooks'у брандмауэр артындагы ички API'лерди чакыра алабы?

Ооба, эгерде Claude Code ошол API'лерге тармак кирүүсү бар чөйрөдө иштесе. HTTP hooks'у Claude Code иштеген машинадан стандарттык POST суроо-талаптарын жасайт. Корпоративдик брандмауэрлер жана VPN'дер кадимкидей колдонулат. Документтерде айтылган sandbox проксиси чөйрө өзгөрмөсүнүн экспозициясын көзөмөлдөйт, тармак багыттоосун эмес.

Hooks'у Claude Code'дун токен колдонуусун көбөйтөбү?

Prompt hooks'у Claude'дун контекстине текстти киргизет, ал токендерди сарптайт. Буйрук жана HTTP hooks'у түздөн-түз токен колдонуусуна таасир этпейт, бирок алардын чыгарылышы (ката билдирүүлөрү, сунуштар) сүйлөшүү контекстинин бир бөлүгү болуп калат. Чыгуу коду 2, түшүндүрүүчү билдирүүлөр менен, жөнөкөй бөгөттөө 1 чыгуу кодуна караганда көбүрөөк контекстти кошот.

Корутунду

Claude Code hooks'у AI жардамчысын күчтүү куралдан толугу менен автоматташтырылган өнүктүрүү платформасына айлантат. Окуя системасы Claude'дун жумуш процессинде — сессияны инициализациялоодон контекстти компакциялоого чейин тоскоолдук чекиттерин камсыз кылат.

Буйрук hooks'у жергиликтүү валидацияны жана форматтоону иштетет. HTTP hooks'у тышкы кызматтарды жана маалымат базаларын интеграциялайт. Prompt hooks'у контекст инъекциясы аркылуу жүрүм-турумду өзгөртөт. Бирге, алар командалык саясаттарды аткарган, коддун сапатын сактаган жана учурдагы өнүктүрүү инфраструктурасына интеграцияланган автоматташтыруу үлгүлөрүн ишке ашырат.

Matcher системасы hooks'ту белгилүү бир куралдарга жана файл үлгүлөрүнө чейин чыпкалайт. Чыгуу коддору жана JSON чыгарылышы чечим агымын көзөмөлдөйт. Async аткаруу жай операциялардагы бөгөттөөдөн качат. Толук конфигурация схемасы жөнөкөй авто-форматтоодон баштап татаал көп баскычтуу валидацияга чейин бардыгын колдойт.

Код форматтоо үчүн жөнөкөй PostToolUse hooks'у менен баштаңыз. Саясаттар пайда болгондо PreToolUse валидациясын кошуңуз. Жүрүм-турумду өзгөртүү үчүн prompt hooks'ун сынап көрүңүз. Команда боюнча аткаруу үчүн HTTP интеграцияларын куруңуз.

Толук hooks шилтемеси жана жаңы мүмкүнчүлүктөр ишке киргенде жаңыртылган конфигурация схемасы үчүн расмий Claude Code документтерин текшериңиз.

AI Perks

AI Perks стартаптарга жана иштеп чыгуучуларга акча үнөмдөөгө жардам берүү үчүн AI куралдары, булут кызматтары жана API боюнча эксклюзивдүү арзандатууларды, кредиттерди жана сунуштарды камсыз кылат.

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.