Art arda iki claude -p cagrisi calistiriyorsunuz. Ikincisinin birinciden hicbir hatirasi yok. Dikkatli cok adimli is akisiniz, paylasilan baglami olmayan iki baglantisiz konusmaya donustu. Oturumlar bunu cozer.
Her claude -p cagrisi benzersiz bir ID’ye sahip bir oturum olusturur. Daha sonra --resume ile devam ettirebilir, --continue ile en son oturumu surdurebilir veya --no-session-persistence ile kaliciligi devre disi birakabilirsiniz. Cok adimli is akislarini mumkun kilan budur — bir planlama-inceleme-yurutme zinciri, asamali bir goc veya onceki calismanin kaldigi yerden devam eden bir CI hatti.
Olusturma ve Yakalama
Herhangi bir oturum is akisindaki ilk adim, ilk cagridan session_id’yi yakalamaktir. session_id alanini jq ile cikarabilmeniz icin --output-format json iletin.
Ilk cagridaki JSON yaniti ihtiyaciniz olan her seyi icerir. Tam yukun burada:
Hemen iki adimli bir oturum deneyin:
SID=$(claude -p “Remember: the secret word is ‘banana’” —output-format json | jq -r ‘.session_id’)
claude -p “What was the secret word?” —resume “$SID” —output-format json | jq ‘.result’
Claude hatirladi mi? Simdi —resume olmadan deneyin — baglam kayboldu.
—resume ve —continue Karsilastirmasi
Bu iki bayrak bir oturumu devam ettirir, ancak onu cok farkli yollarla bulur. Yanlis olani secmek, oturum tabanli is akislarindaki en yaygin hatalardan biridir.
Oturum Devam Ettirme Bayraklari
| Bayrak | Davranis | Kapsam |
|---|---|---|
—resume SESSION_ID | UUID ile belirli bir oturumu devam ettirir | Herhangi bir dizinden calisir |
—continue | En son oturumu devam ettirir | Yalnizca mevcut dizin |
—resume (argumansiz) | Etkilesimli oturum secici acar | Yalnizca etkilesimli mod |
Otomasyon icin her zaman --continue yerine --resume SESSION_ID kullanin. Scriptlerde --continue belirsizlik getirir: baska bir islem ayni dizinde daha yeni bir oturum olusturabilir ve --continue sizinki yerine onu secer.
Session ID yanlis olursa ne olur? --resume’a gecersiz veya suresi dolmus bir session ID iletirseniz, Claude yeni bir ID ile yeni bir oturum baslatir — onceki baglaminiz sessizce kaybolur. Uretim scriptlerinde resume’a guvenirken her zaman session ID’leri dogrulayin.
Gecici Oturumlar
Oturumun diske kaydedilmesini istemediginizde --no-session-persistence (--print gerektirir) ekleyin:
claude -p "Quick question" --no-session-persistence --output-format jsonYanit hala bir session_id alani icerir, ancak oturum diske kaydedilmez. Daha sonra --resume ile devam ettirmeye calismak basarisiz olur. Bu, su durumlar icin dogru secimdir:
- CI/CD hatlari — oturum deposunu tek seferlik calistirmalarla kirletmeyin
- Toplu isleme — binlerce bagimsiz sorgu icin kalicilik gerekmez
- Gizlilik — hassas istemler diske kaydedilmez
JSON yaniti normal bir oturumla ayni gorulur. Yalnizca yukten oturumun kalici olup olmadigi anlasilamaz. Bu tasarim geregi boyledir — cagiran kod kaliciligi belirler, yanit formati degil.
Oturum-Farkinda Is Akislari
Oturumlarin gercek gucu, birden fazla cagrıyı tek bir tutarli is akisina zincirlemedir. Klasik desen planlama-inceleme-yurutmedir: Claude kisitli modda plan yapar, bir insan inceler ve sonra Claude ayni konusma baglaminda tam yetkilerle yurutur.
# Step 1: PlanPLAN=$(claude -p "Plan a refactoring of auth.py" \ --permission-mode plan --output-format json)SESSION=$(echo "$PLAN" | jq -r '.session_id')
# Step 2: Reviewecho "$PLAN" | jq -r '.result'
# Step 3: Execute (same session, full context)claude -p "yes, proceed" --resume "$SESSION" --permission-mode bypassPermissions- adim, 1. adimdan tam oturumu devam ettirir. Claude planin tamamini baglaminda tutar ve kod tabanini yeniden analiz etmesine gerek yoktur.
--permission-modebayragi adimlar arasinda degisir ve yazma yetkisi vermeden once bir inceleme kapisi uygulamaniza olanak tanir.
—continue dizin kapsamlidir. /project-a/ dizininde bir oturum olusturup /project-b/ dizininden —continue calistirdiginizda onu bulamaz. Dizinler arasi devam ettirme icin —resume SESSION_ID kullanin.
Oturumlar 1M baglam penceresini paylasiror. Uzun oturumlar, alan acmak icin onceki turlari ozetleyen otomatik sikistirmayi tetikler. Uzun is akislarinda bunu planlayin — kritik talimatlar sikilamayi atlatabılmeleri icin CLAUDE.md’de olmalidir.
Devam Ettirme Yuku
Bir oturumu devam ettirdiginizde yuk, surekliligi onaylar. Devam ettirilen bir oturumda “Onceki mesajim neydi?” sorusuna verilen yanit sudur:
result alani, Claude’un onceki turdaki tam icerigi hatirlıdigini gosterir. session_id orijinalle eslesiyor ve bunun ayni konusma baglami oldugunu — benzer talimatlar alan yeni bir oturum olmadıgını — onayliyor.
Catallama ve es zamanli oturumlar gibi ileri dusenler icin Ileri Oturum Kaliplari bolumune bakin.
Bir uretim sisteminin is parcacikli tartismalar icin inceleme oturumlarini nasil catallastirdigini — ilk mesaj ana hatti catllar, takip mesajlari catali devam ettirir — MR Inceleyici Olusturun, Bolum 4: Tartismalar Icin Oturum Catallama bolumunde gorun.
Bir sonraki otomasyon cagrinizdan session ID yakamayin: SID=$(claude -p “Analyze this codebase” —output-format json | jq -r ‘.session_id’). Sonra takip sorusuyla devam ettirin: claude -p “What did you find?” —resume “$SID”. Cok adimli bir is akisi olusturdunuz.