СВЕТ НЕ СТОЈИ У МЕСТУ.RSS
BIG CHANGE.
BIG CHANGE, на један додир
BIG CHANGE, на један додир

Оставите простор за ширу слику.

Додајте BIG CHANGE на почетни екран или радну површину. Отвара се у сопственом прозору, са најновијим причама када сте на мрежи.

iPhone & iPad
Отворите bigchange.ai у прегледачу Safari. Додирните Share, затим Add to Home Screen. Укључите Open as Web App ако се прикаже, а затим додирните Add.
Android
Отворите bigchange.ai у прегледачу Chrome. У менију прегледача изаберите „Инсталирај апликацију“ или „Додај на почетни екран“.
Рачунар
У прегледачу Chrome или Edge користите икону за инсталацију у адресној траци или мени апликација прегледача. У прегледачу Safari на Mac рачунару изаберите File → Add to Dock.

Markdown издање

AI-translated from English; not yet reviewed by a fluent editor.

# Додајте ограничен пројектни hook за контекст при покретању Claude Code сесије

> Инсталирајте мали пројектни SessionStart hook који додаје тренутну Git грану у Claude Code контекст. Проверите директан излаз, покретање, наставак и понашање при грешци.

By BIG CHANGE Editorial

Published: 2026-10-20T00:22:54.831Z
Updated: 2026-10-20T00:22:54.831Z
Canonical: https://bigchange.ai/blog/claude-code-session-start-branch-context-hook-guide

![Conceptual charcoal illustration of an unbranded desktop monitor with one short orange stroke above two soft charcoal strokes; a keyboard rests in front.](https://bigchange.ai/api/media/file/claude-code-session-start-context-hero-v2.png)
AI-generated conceptual illustration by BIG CHANGE; no actual Claude Code interface, hook execution or model result is depicted.

Claude Code hook је команда коју апликација извршава у одређеној тачки сесије. Овај водич додаје један пројектни `SessionStart` hook који чита тренутну Git грану и прослеђује кратак ред контекста када покренете или наставите разговор. Прати [актуелну Anthropic референтну документацију за hook механизме](https://code.claude.com/docs/en/hooks), проверену 19. октобра 2026. BIG CHANGE је директно проверио скрипту помоћу Node и проверио JSON подешавања; нисмо покренули Claude Code hook нити тестирали одговор модела.

## Велика промена

- **Шта се променило:** Овај пројектни `SessionStart` hook прослеђује кратак ред са Git граном када Claude Code покрене или настави разговор.
- **Зашто је важно:** Тренутна грана улази у контекст сесије при покретању или наставку, без ручног лепљења сваки пут.
- **На шта обратити пажњу:** Контекст не спроводи правило нити гарантује одговор модела. Проверите стварно прослеђивање при покретању и наставку у сопственом поузданом пројекту.

## Пре инсталације

Користите Git пројекат који смете да мењате. Claude Code, Node.js и Git морају бити доступни у истом терминалу, а потребна вам је и дозвола да мењате пројектну датотеку `.claude/settings.json`. Проверите `node --version`, `git --version` и `claude --version`. На рачунару за припрему били су Claude Code 2.1.301 и Node 24.19.0; те забележене верзије нису минимални захтеви.

**Прегледајте назив гране пре слања моделу.** Грана може садржати име клијента, ознаку захтева или назив инцидента. Филтрирање знакова и скраћивање текста не уклањају то значење. Инсталирајте пример само ако је назив гране одобрен за контекст модела. У супротном измените скрипту да исписује одобрен статус без осетљивих података и прегледајте измену пре инсталације. [Anthropic документација о коришћењу података](https://code.claude.com/docs/en/data-usage) објашњава поступање сервиса са подацима; примените и дозволе сопственог пројекта.

Hook команде раде са вашим корисничким дозволама. Прегледајте постојеће пројектне и корисничке hook команде, правила организације и целу скрипту пре укључивања. Пројектна подешавања могу се сачувати у репозиторијуму; `.claude/settings.local.json` остаје локално. Овај пример користи датотеку пројектних подешавања како би конфигурација важила за тај пројекат.

## Инсталирајте две датотеке

1. Направите `.claude/hooks/` у пројекту. Сачувајте цео овај блок као `.claude/hooks/session-context.cjs`:

```javascript
'use strict';

const { execFileSync } = require('node:child_process');

const project = process.env.CLAUDE_PROJECT_DIR;
if (!project) {
  process.stderr.write('CLAUDE_PROJECT_DIR is unavailable\n');
  process.exit(1);
}

try {
  const raw = execFileSync('git', ['-C', project, 'branch', '--show-current'], {
    encoding: 'utf8',
    timeout: 1500,
    maxBuffer: 4096,
    stdio: ['ignore', 'pipe', 'pipe'],
  }).trim();
  const branch = raw ? raw.replace(/[^A-Za-z0-9._/-]/g, '_').slice(0, 80) : 'detached HEAD';
  process.stdout.write(`Current project branch: ${branch}\n`);
} catch {
  process.stderr.write('Could not read the project branch; check Git and project path\n');
  process.exit(1);
}
```

Git потпроцес има временско ограничење од 1,5 секунди и излазни бафер од 4.096 бајтова. Празан резултат гране, као код detached HEAD, постаје `detached HEAD`. Недостајућа путања пројекта или Git грешка дају кратку stderr дијагностику и излазни код 1.

2. Отворите постојећу датотеку `.claude/settings.json`. Спојите ставку `hooks.SessionStart` испод са другим подешавањима и групама hook команди; сачувајте постојеће ставке. Блок приказује цео `settings.example.json` из прегледаног пакета. Ако датотека већ има ставке `SessionStart` , додајте ову групу у њихов низ уместо да замените низ.

```json
{
  "hooks": {
    "SessionStart": [
      {
        "matcher": "startup|resume",
        "hooks": [
          {
            "type": "command",
            "command": "node",
            "args": ["${CLAUDE_PROJECT_DIR}/.claude/hooks/session-context.cjs"],
            "timeout": 5
          }
        ]
      }
    ]
  }
}
```

Matcher обухвата нову и настављену сесију. Anthropic наводи и `clear`, `compact` и `fork` као `SessionStart` изворе; овај пример их намерно изоставља. Поље `args` бира exec облик: Claude Code позива `node` са разрешеном путањом пројектне скрипте као једним аргументом, без наводника или обраде командног интерпретера. На Windows систему, `node.exe` мора упућивати на извршну датотеку; `.cmd` посредничка скрипта није погодна за exec облик. Временско ограничење hook команде од пет секунди одвојено је од Git ограничења скрипте од 1,5 секунди.

## Проверите скрипту, па Claude Code

3. Пре отварања Claude Code покрените скрипту у пројектном терминалу и упоредите излаз са Git резултатом. У PowerShell:

```powershell
$env:CLAUDE_PROJECT_DIR = (Get-Location).Path
node .claude/hooks/session-context.cjs
git branch --show-current
```

У Bash:

```bash
CLAUDE_PROJECT_DIR="$PWD" node .claude/hooks/session-context.cjs
git branch --show-current
```

Очекујте тачно један stdout ред скрипте, `Current project branch: BRANCH`, где је `BRANCH` Git резултат после филтрирања знакова и ограничења на 80 знакова. Детацхед HEAD исписује `Current project branch: detached HEAD`. Директна провера потврђује само да локална скрипта ради у овом терминалу. При нашој припремној провери обична грана одговарала је Git резултату; недостајуће и неважеће путање пројекта дале су празан stdout, stderr дијагностику и излаз 1. Ограничење дугог назива и резервну вредност за detached HEAD прегледали смо у изворном коду, али те случајеве нисмо извршили.

4. Покрените нов **интерактивни** Claude Code процес у поузданом пројекту уз `claude --debug-file STARTUP_PRIVATE_LOG`, користећи приватну путању коју контролишете. Прегледајте пројектне и корисничке hook команде пре прихватања поверења у радни простор. У дијагностичком дневнику потражите `SessionStart` догађај са извором `startup`, изабраном путањом скрипте, излазним статусом и обрадом излаза. Питајте Claude који је контекст гране добио, без дозволе да користи алат или самостално чита Git. Упоредите одговор и дијагностички запис са директним резултатом. Hook stdout улази у Claude контекст; није обећано да ће се приказати као порука у видљивом интерфејсу.
5. Завршите ту сесију. Наставите је у посебном процесу уз `claude --debug-file RESUME_PRIVATE_LOG --resume`, па проверите `SessionStart` `resume` догађај и поновите проверу упитом без алата или поновног читања Git. Оба дијагностичка дневника држите приватним јер могу открити детаље пројекта. Неинтерактивно `-p` или SDK извршавање не приказује исти захтев за поверење у радни простор и може аутоматски покренути hook команде репозиторијума, зато за ову проверу користите интерактивни ток. Anthropic наводи да надзор датотека обично преузима измене hook подешавања, али нов процес даје јаснији тест покретања и наставка.

Ако редован рад касније промени грану, поновите директну проверу и нову сесију да видите да ли се ред променио. Не мењајте гране само да бисте тврдили да је водич тестиран.

## Ако се не покрене

Почните од директног резултата скрипте, па проверите спајање JSON подешавања, запис `SessionStart` , `startup|resume` matcher, путању корена пројекта, доступност `node` и `git`, поверење у радни простор и дијагностичке грешке. Недостајући `CLAUDE_PROJECT_DIR` исписује `CLAUDE_PROJECT_DIR is unavailable` на stderr. Неисправна путања пројекта или Git грешка исписује `Could not read the project branch; check Git and project path`. Оба случаја завршавају кодом 1 без реда контекста. Грешка `SessionStart` служи дијагностици и не блокира рад; не може бити услов који зауставља радњу. Anthropic документује `PreToolUse` за контролисање радње алата, што је други догађај и захтева засебно прегледано решење.

Скрипта извршава само локални Git и не шаље мрежни захтев нити позива модел. Покретање Claude Code, наставак и провере упитима могу трошити расположиву употребу налога, провајдера или модела; [Anthropic водич за трошкове](https://code.claude.com/docs/en/costs) наводи актуелне услове. Овај водич не утврђује фиксну цену нити пријављује плаћени тест сесије.

За засебан задатак када разговор већ траје, наш [водич за преглед контекста и наставак Claude Code сесије](https://bigchange.ai/blog/claude-code-session-context-continue-guide) објашњава преглед контекста и наставак. Не подешава овај hook за покретање.

## Извори и додатно читање

- [Anthropic, референтна документација за Claude Code hook механизме](https://code.claude.com/docs/en/hooks) — Актуелна примарна спецификација проверена 19. октобра 2026. Документује `SessionStart` изворе и matcher правила, exec облик `args`, заменске ознаке путање, stdout контекст, поновно учитавање подешавања, поверење, дијагностичке дневнике и неблокирајуће понашање при грешци. Ово је документација, а не BIG CHANGE извршавање hook команде.
- [Anthropic, аутоматизујте радње помоћу hook механизама](https://code.claude.com/docs/en/hooks-guide) — Званичан поступак подешавања и тестирања hook команди. Тачна скрипта и подешавања изнад јесу ограничен BIG CHANGE пример прегледан за овај водич; нису преписан резултат теста добављача.
- [Anthropic, подешавање Claude Code](https://code.claude.com/docs/en/setup) — Захтеви за инсталацију и окружење. Проверите актуелна упутства за платформу пре коришћења примера.
- [Anthropic, коришћење података у Claude Code](https://code.claude.com/docs/en/data-usage) — Актуелни услови провајдера за поступање са подацима које треба прегледати пре слања информација о грани у контекст модела; овлашћење пројекта остаје засебна одлука.
- [Anthropic, ефикасно управљајте трошковима](https://code.claude.com/docs/en/costs) — Актуелне смернице за налог и употребу при интерактивним проверама. Сама локална Git скрипта не шаље захтев моделу нити мрежи.

## Sources

- [Референтна документација за Claude Code hook механизме](https://code.claude.com/docs/en/hooks) — Актуелни примарни Anthropic приручник проверен према одобреном снимку од 19. октобра 2026. и поново током писања. Утврђује SessionStart startup/resume изворе и значење matcher правила, exec облик command и args, заменску ознаку корена пројекта, обичан stdout контекст, надзор подешавања, поверење у радни простор, преглед debug-file, правило стварне Windows извршне датотеке и неблокирајуће SessionStart грешке. Описује понашање производа; BIG CHANGE није извршио hook који позива Claude. Фиксни датум ревизије приручника није наведен.
- [Аутоматизујте радње помоћу hook механизама](https://code.claude.com/docs/en/hooks-guide) — Званичан Anthropic поступак подешавања и тестирања. Подржава читаочев поступак конфигурације и дијагностике, а не тврдњу да је BIG CHANGE покренуо пример унутар Claude Code. Тачна ограничена Node скрипта и подешавања у чланку потичу из засебно прегледаног локалног имплементационог пакета.
- [Напредно подешавање Claude Code](https://code.claude.com/docs/en/setup) — Званична референца за инсталацију и окружење за проверу локалног Claude Code подешавања. У припреми је забележена само верзија 2.1.301; овај извор је не чини минималним захтевом.
- [Коришћење података у Claude Code](https://code.claude.com/docs/en/data-usage) — Званични услови поступања са подацима који зависе од налога. Чланак упућује читаоце да их прегледају пре стављања информација о Git грани у контекст модела; филтрирање и скраћивање не спречавају назив гране да открије поверљиве детаље клијента или инцидента. Не изводи се општа гаранција приватности.
- [Ефикасно управљајте трошковима](https://code.claude.com/docs/en/costs) — Званичне смернице за налог и употребу модела при интерактивним проверама упитима за покретање/наставак. Сама локална скрипта не шаље захтев моделу нити мрежи, док стварне Claude сесије могу трошити расположиву употребу плана, провајдера или API. Не тврди се фиксна цена нити плаћени тест.
- [Како прегледати контекст и наставити Claude Code сесију](https://bigchange.ai/blog/claude-code-session-context-continue-guide) — Претходни BIG CHANGE чланак 414, коришћен само за контекстуални интерни линк и класификацију односа. Објашњава преглед постојећег разговора и наставак његовог задатка; није доказ имплементације овог hook механизма нити директан временски претходник.