Claude Code hook म्हणजे सत्रातील ठरावीक वेळी ॲप चालवत असलेली कमांड. या मार्गदर्शकात प्रकल्पापुरता एक SessionStart hook जोडला आहे. तो सध्याची Git शाखा वाचून संभाषण सुरू किंवा पुन्हा सुरू केल्यावर संदर्भाची छोटी ओळ देतो. याचा आधार Anthropic चा सध्याचा hook संदर्भ असून तो 19 ऑक्टोबर 2026 रोजी तपासला. BIG CHANGE ने Node वापरून स्क्रिप्ट थेट तपासली आणि सेटिंग्ज JSON तपासले; आम्ही Claude Code hook चालवला नाही किंवा मॉडेलचे उत्तर तपासले नाही.

मोठा बदल

  • काय बदलले: प्रकल्पाचा हा SessionStart hook Claude Code संभाषण सुरू किंवा पुन्हा सुरू करताना Git शाखेची छोटी ओळ पुरवतो.
  • हे महत्त्वाचे का: प्रत्येक वेळी स्वतः पेस्ट न करताही सध्याची शाखा सुरुवातीला किंवा पुन्हा सुरू करताना सत्राच्या संदर्भात पोहोचते.
  • कशाकडे लक्ष द्यावे: संदर्भ नियमाची सक्ती करत नाही किंवा मॉडेलच्या उत्तराची हमी देत नाही. स्वतःच्या विश्वासार्ह प्रकल्पात सुरुवातीला आणि पुन्हा सुरू होताना तो खरोखर पोहोचतो का ते तपासा.

बसवण्यापूर्वी

बदलण्याची परवानगी असलेला 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 चे डेटा वापर दस्तऐवज सेवेतील डेटा हाताळणी स्पष्ट करतात; स्वतःच्या प्रकल्पाच्या परवानग्याही लागू करा.

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 मिळतो.

  1. तुमची विद्यमान .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 चालवताना निश्चित झालेला प्रकल्प स्क्रिप्ट पथ एकच आर्ग्युमेंट म्हणून देतो, shell quoting किंवा parsing न करता. Windows मध्ये node.exe खरा executable म्हणून सापडला पाहिजे; .cmd shim exec रूपासाठी योग्य नाही. कमांडची पाच सेकंदांची hook मर्यादा स्क्रिप्टच्या 1.5 सेकंदांच्या Git मर्यादेपेक्षा वेगळी आहे.

स्क्रिप्ट तपासा, मग Claude Code तपासा

  1. Claude Code उघडण्यापूर्वी प्रकल्प टर्मिनलमध्ये स्क्रिप्ट चालवा आणि आउटपुट Git शी तुलना करा. PowerShell मध्ये:
PowerShell
$env:CLAUDE_PROJECT_DIR = (Get-Location).Path
node .claude/hooks/session-context.cjs
git branch --show-current

Bash मध्ये:

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

स्क्रिप्टच्या stdout मध्ये नेमकी एक ओळ अपेक्षित आहे, Current project branch: BRANCH, जिथे BRANCH म्हणजे स्क्रिप्टच्या अक्षर गाळणी व 80-अक्षर मर्यादेनंतरचा Git निकाल. Detached HEAD मध्ये Current project branch: detached HEAD छापले जाते. थेट तपासणी फक्त या टर्मिनलमध्ये स्थानिक स्क्रिप्ट काम करते हे सिद्ध करते. आमच्या तयारीच्या तपासणीत सामान्य शाखेचा निकाल Git शी जुळला; नसलेले व चुकीचे प्रकल्प पथ यांनी रिकामा stdout, stderr संदेश आणि निर्गमन 1 दिले. लांब नावाची मर्यादा आणि detached HEAD पर्याय स्रोतामध्ये तपासले, पण ते प्रसंग चालवले नाहीत.

  1. विश्वासार्ह प्रकल्पात नवीन परस्परसंवादी Claude Code प्रक्रिया claude --debug-file STARTUP_PRIVATE_LOG सह सुरू करा आणि स्वतःच्या नियंत्रणातील खासगी पथ वापरा. workspace trust स्वीकारण्यापूर्वी प्रकल्प व वापरकर्ता hook तपासा. debug लॉगमध्ये SessionStart घटना, स्रोत startup, निवडलेला स्क्रिप्ट पथ, निर्गमन स्थिती आणि आउटपुट हाताळणी पाहा. साधन वापरण्यास किंवा स्वतंत्रपणे Git वाचण्यास परवानगी न देता Claude ला मिळालेल्या शाखा संदर्भाबद्दल विचारा. उत्तर आणि debug नोंद थेट निकालाशी तुलना करा. Hook stdout Claude च्या संदर्भात जातो; दृश्यमान UI मध्ये संदेश म्हणून दिसेल याची हमी नाही.
  2. त्या सत्रातून बाहेर पडा. स्वतंत्र प्रक्रियेत claude --debug-file RESUME_PRIVATE_LOG --resume सह पुन्हा सुरू करा, मग SessionStart resume घटना तपासा आणि साधन किंवा Git पुन्हा न वाचता प्रश्नाची तपासणी पुन्हा करा. दोन्ही debug लॉग खासगी ठेवा; प्रकल्पाचे तपशील उघड होऊ शकतात. गैर-परस्परसंवादी -p किंवा SDK रनमध्ये तसाच workspace-trust प्रश्न येत नाही आणि रिपॉझिटरी hook आपोआप चालू शकतात, म्हणून या तपासणीत परस्परसंवादी पद्धत वापरा. Anthropic नुसार फाइल निरीक्षक सहसा hook सेटिंग्जमधील बदल टिपतो, पण नवीन प्रक्रियेमुळे सुरुवात आणि पुन्हा सुरू होण्याची चाचणी स्पष्ट होते.

नंतर नेहमीच्या प्रकल्प कामातून शाखा बदलल्यास थेट तपासणी व नवीन सत्र पुन्हा चालवून ओळ बदलते का पाहा. हा मार्गदर्शक तपासला असे म्हणण्यासाठीच शाखा बदलू नका.

चालत नसल्यास

स्क्रिप्टच्या थेट निकालापासून सुरुवात करा; मग JSON मिसळणे, SessionStart चे स्पेलिंग, startup|resume matcher, प्रकल्प-रूट पथ, node आणि git यांची उपलब्धता, workspace trust व debug त्रुटी तपासा. 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 च्या खर्च मार्गदर्शकात सध्याच्या अटी आहेत. येथे ठरावीक किंमत दिलेली नाही किंवा पैसे दिलेल्या सत्र चाचणीचा दावा नाही.

संभाषण सुरू झाल्यानंतरच्या स्वतंत्र कामासाठी आमचा Claude Code सत्राचा संदर्भ पाहण्याचा व पुढे चालू ठेवण्याचा मार्गदर्शक संदर्भ तपासणी व पुढे सुरू ठेवणे समजावतो. तो सुरुवातीचा हा hook मांडत नाही.

स्रोत आणि पुढील वाचन

  • Anthropic, Claude Code hook संदर्भ — सध्याचे प्राथमिक तपशील 19 ऑक्टोबर 2026 रोजी तपासले. यात SessionStart स्रोत व matcher, exec रूप args, पथ placeholder, stdout संदर्भ, सेटिंग्ज पुन्हा लोड करणे, विश्वास, debug लॉग व काम न थांबवणारे अपयश नोंदवले आहेत. हे दस्तऐवज आहेत, BIG CHANGE ने hook चालवणे नाही.
  • Anthropic, hook वापरून कृती स्वयंचलित करा — hook मांडणी व चाचणीची अधिकृत पद्धत. वरील नेमकी स्क्रिप्ट व सेटिंग्ज या मार्गदर्शकासाठी तपासलेले मर्यादित BIG CHANGE उदाहरण आहे; विक्रेत्याच्या चाचणीचा कॉपी केलेला निकाल नाही.
  • Anthropic, Claude Code मांडणी — स्थापना व वातावरणाच्या आवश्यकता. उदाहरण वापरण्यापूर्वी प्लॅटफॉर्मच्या सध्याच्या सूचना पाहा.
  • Anthropic, Claude Code डेटा वापर — शाखेची माहिती मॉडेल संदर्भात पाठवण्यापूर्वी तपासण्यासाठी पुरवठादाराच्या सध्याच्या डेटा हाताळणी अटी; प्रकल्पाचा अधिकार वेगळा निर्णय आहे.
  • Anthropic, खर्च प्रभावीपणे सांभाळा — परस्परसंवादी तपासणीसाठी खाते व वापराची सध्याची माहिती. स्थानिक Git स्क्रिप्ट स्वतः मॉडेल किंवा नेटवर्ककडे विनंती करत नाही.