Claude Code hook je komanda koju aplikacija izvršava u određenoj tački sesije. Ovaj vodič dodaje jedan projektni SessionStart hook koji čita trenutnu Git granu i prosleđuje kratak red konteksta kada pokrenete ili nastavite razgovor. Prati aktuelnu Anthropic referentnu dokumentaciju za hook mehanizme, proverenu 19. oktobra 2026. BIG CHANGE je direktno proverio skriptu pomoću Node i proverio JSON podešavanja; nismo pokrenuli Claude Code hook niti testirali odgovor modela.
Velika promena
- Šta se promenilo: Ovaj projektni
SessionStarthook prosleđuje kratak red sa Git granom kada Claude Code pokrene ili nastavi razgovor. - Zašto je važno: Trenutna grana ulazi u kontekst sesije pri pokretanju ili nastavku, bez ručnog lepljenja svaki put.
- Na šta obratiti pažnju: Kontekst ne sprovodi pravilo niti garantuje odgovor modela. Proverite stvarno prosleđivanje pri pokretanju i nastavku u sopstvenom pouzdanom projektu.
Pre instalacije
Koristite Git projekat koji smete da menjate. Claude Code, Node.js i Git moraju biti dostupni u istom terminalu, a potrebna vam je i dozvola da menjate projektnu datoteku .claude/settings.json. Proverite node --version, git --version i claude --version. Na računaru za pripremu bili su Claude Code 2.1.301 i Node 24.19.0; te zabeležene verzije nisu minimalni zahtevi.
Pregledajte naziv grane pre slanja modelu. Grana može sadržati ime klijenta, oznaku zahteva ili naziv incidenta. Filtriranje znakova i skraćivanje teksta ne uklanjaju to značenje. Instalirajte primer samo ako je naziv grane odobren za kontekst modela. U suprotnom izmenite skriptu da ispisuje odobren status bez osetljivih podataka i pregledajte izmenu pre instalacije. Anthropic dokumentacija o korišćenju podataka objašnjava postupanje servisa sa podacima; primenite i dozvole sopstvenog projekta.
Hook komande rade sa vašim korisničkim dozvolama. Pregledajte postojeće projektne i korisničke hook komande, pravila organizacije i celu skriptu pre uključivanja. Projektna podešavanja mogu se sačuvati u repozitorijumu; .claude/settings.local.json ostaje lokalno. Ovaj primer koristi datoteku projektnih podešavanja kako bi konfiguracija važila za taj projekat.
Instalirajte dve datoteke
- Napravite
.claude/hooks/u projektu. Sačuvajte ceo ovaj blok kao.claude/hooks/session-context.cjs:
'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 potproces ima vremensko ograničenje od 1,5 sekundi i izlazni bafer od 4.096 bajtova. Prazan rezultat grane, kao kod detached HEAD, postaje detached HEAD. Nedostajuća putanja projekta ili Git greška daju kratku stderr dijagnostiku i izlazni kod 1.
- Otvorite postojeću datoteku
.claude/settings.json. Spojite stavkuhooks.SessionStartispod sa drugim podešavanjima i grupama hook komandi; sačuvajte postojeće stavke. Blok prikazuje ceosettings.example.jsoniz pregledanog paketa. Ako datoteka već ima stavkeSessionStart, dodajte ovu grupu u njihov niz umesto da zamenite niz.
{
"hooks": {
"SessionStart": [
{
"matcher": "startup|resume",
"hooks": [
{
"type": "command",
"command": "node",
"args": ["${CLAUDE_PROJECT_DIR}/.claude/hooks/session-context.cjs"],
"timeout": 5
}
]
}
]
}
}Matcher obuhvata novu i nastavljenu sesiju. Anthropic navodi i clear, compact i fork kao SessionStart izvore; ovaj primer ih namerno izostavlja. Polje args bira exec oblik: Claude Code poziva node sa razrešenom putanjom projektne skripte kao jednim argumentom, bez navodnika ili obrade komandnog interpretera. Na Windows sistemu, node.exe mora upućivati na izvršnu datoteku; .cmd posrednička skripta nije pogodna za exec oblik. Vremensko ograničenje hook komande od pet sekundi odvojeno je od Git ograničenja skripte od 1,5 sekundi.
Proverite skriptu, pa Claude Code
- Pre otvaranja Claude Code pokrenite skriptu u projektnom terminalu i uporedite izlaz sa Git rezultatom. U PowerShell:
$env:CLAUDE_PROJECT_DIR = (Get-Location).Path
node .claude/hooks/session-context.cjs
git branch --show-currentU Bash:
CLAUDE_PROJECT_DIR="$PWD" node .claude/hooks/session-context.cjs
git branch --show-currentOčekujte tačno jedan stdout red skripte, Current project branch: BRANCH, gde je BRANCH Git rezultat posle filtriranja znakova i ograničenja na 80 znakova. Detached HEAD ispisuje Current project branch: detached HEAD. Direktna provera potvrđuje samo da lokalna skripta radi u ovom terminalu. Pri našoj pripremnoj proveri obična grana odgovarala je Git rezultatu; nedostajuće i nevažeće putanje projekta dale su prazan stdout, stderr dijagnostiku i izlaz 1. Ograničenje dugog naziva i rezervnu vrednost za detached HEAD pregledali smo u izvornom kodu, ali te slučajeve nismo izvršili.
- Pokrenite nov interaktivni Claude Code proces u pouzdanom projektu uz
claude --debug-file STARTUP_PRIVATE_LOG, koristeći privatnu putanju koju kontrolišete. Pregledajte projektne i korisničke hook komande pre prihvatanja poverenja u radni prostor. U dijagnostičkom dnevniku potražiteSessionStartdogađaj sa izvoromstartup, izabranom putanjom skripte, izlaznim statusom i obradom izlaza. Pitajte Claude koji je kontekst grane dobio, bez dozvole da koristi alat ili samostalno čita Git. Uporedite odgovor i dijagnostički zapis sa direktnim rezultatom. Hook stdout ulazi u Claude kontekst; nije obećano da će se prikazati kao poruka u vidljivom interfejsu. - Završite tu sesiju. Nastavite je u posebnom procesu uz
claude --debug-file RESUME_PRIVATE_LOG --resume, pa proveriteSessionStartresumedogađaj i ponovite proveru upitom bez alata ili ponovnog čitanja Git. Oba dijagnostička dnevnika držite privatnim jer mogu otkriti detalje projekta. Neinteraktivno-pili SDK izvršavanje ne prikazuje isti zahtev za poverenje u radni prostor i može automatski pokrenuti hook komande repozitorijuma, zato za ovu proveru koristite interaktivni tok. Anthropic navodi da nadzor datoteka obično preuzima izmene hook podešavanja, ali nov proces daje jasniji test pokretanja i nastavka.
Ako redovan rad kasnije promeni granu, ponovite direktnu proveru i novu sesiju da vidite da li se red promenio. Ne menjajte grane samo da biste tvrdili da je vodič testiran.
Ako se ne pokrene
Počnite od direktnog rezultata skripte, pa proverite spajanje JSON podešavanja, zapis SessionStart , startup|resume matcher, putanju korena projekta, dostupnost node i git, poverenje u radni prostor i dijagnostičke greške. Nedostajući CLAUDE_PROJECT_DIR ispisuje CLAUDE_PROJECT_DIR is unavailable na stderr. Neispravna putanja projekta ili Git greška ispisuje Could not read the project branch; check Git and project path. Oba slučaja završavaju kodom 1 bez reda konteksta. Greška SessionStart služi dijagnostici i ne blokira rad; ne može biti uslov koji zaustavlja radnju. Anthropic dokumentuje PreToolUse za kontrolisanje radnje alata, što je drugi događaj i zahteva zasebno pregledano rešenje.
Skripta izvršava samo lokalni Git i ne šalje mrežni zahtev niti poziva model. Pokretanje Claude Code, nastavak i provere upitima mogu trošiti raspoloživu upotrebu naloga, provajdera ili modela; Anthropic vodič za troškove navodi aktuelne uslove. Ovaj vodič ne utvrđuje fiksnu cenu niti prijavljuje plaćeni test sesije.
Za zaseban zadatak kada razgovor već traje, naš vodič za pregled konteksta i nastavak Claude Code sesije objašnjava pregled konteksta i nastavak. Ne podešava ovaj hook za pokretanje.
Izvori i dodatno čitanje
- Anthropic, referentna dokumentacija za Claude Code hook mehanizme — Aktuelna primarna specifikacija proverena 19. oktobra 2026. Dokumentuje
SessionStartizvore i matcher pravila, exec oblikargs, zamenske oznake putanje, stdout kontekst, ponovno učitavanje podešavanja, poverenje, dijagnostičke dnevnike i neblokirajuće ponašanje pri grešci. Ovo je dokumentacija, a ne BIG CHANGE izvršavanje hook komande. - Anthropic, automatizujte radnje pomoću hook mehanizama — Zvaničan postupak podešavanja i testiranja hook komandi. Tačna skripta i podešavanja iznad jesu ograničen BIG CHANGE primer pregledan za ovaj vodič; nisu prepisan rezultat testa dobavljača.
- Anthropic, podešavanje Claude Code — Zahtevi za instalaciju i okruženje. Proverite aktuelna uputstva za platformu pre korišćenja primera.
- Anthropic, korišćenje podataka u Claude Code — Aktuelni uslovi provajdera za postupanje sa podacima koje treba pregledati pre slanja informacija o grani u kontekst modela; ovlašćenje projekta ostaje zasebna odluka.
- Anthropic, efikasno upravljajte troškovima — Aktuelne smernice za nalog i upotrebu pri interaktivnim proverama. Sama lokalna Git skripta ne šalje zahtev modelu niti mreži.



