Claude Code scratchpad'ini nerede tutar ve neden kaybolur
Her Claude Code oturumu bir scratchpad klasörü duyurur ve sonra bir daha hiç göstermez. İşte macOS, Linux ve Windows'taki tam yol, yanında ne durduğu, bir yeniden başlatmanın veya geçici dosya temizliğinin onu neden sildiği, neyi yapılandırabilip neyi yapılandıramayacağınız ve her gece oraya yazan yedi ajana verdiğimiz tek kural.
Her Claude Code oturumu, muhtemelen göz ucuyla geçtiğiniz bir satırla başlar. Bizimki bu gece şöyle:
Scratchpad directory: /private/tmp/claude-501/-Users-jbchauvin-Projets-AgentsRoom/5a506305-…/scratchpad
Sonra CLI bir daha ondan hiç söz etmez. Hiçbir komut onu listelemez, hiçbir panel onu açmaz ve ajanın oraya yazdığını söylediği CSV'yi aramaya gittiğiniz gün klasör çoktan gitmiş olabilir.
Her gece bir Mac mini üzerinde zamanlanmış yedi ajan çalıştırıyoruz ve her biri o klasöre yazıyor. Biz de gidip bunun ne olduğuna, her sistemde nerede yaşadığına, onu neyin sildiğine ve ajanlara bu konuda ne söylediğimize baktık. Aşağıdaki her şey 19 Eylül 2026'da Claude Code 2.1.278 üzerinde ve orada iş kaybeden insanların açtığı GitHub issue'larında doğrulandı. Yapılandırabilecekleriniz o tarihten beri değişti, bu yüzden o kısım 3 Kasım 2026'da Claude Code 2.1.314 üzerinde yeniden doğrulandı.
Claude Code ajana ne söylüyor
Bu satır sistem promptunun bir parçası. Mevcut sürümde onu izleyen talimat, ajanın geçici dosyalar için, yani projeye ait olmayan ara sonuçlar, betikler ve çıktılar için /tmp veya başka herhangi bir sistem geçici klasörü yerine her zaman o dizini kullanması gerektiğini, dizinin oturuma özel ve projeden yalıtılmış olduğunu, genellikle izin istemi olmadan kullanılabileceğini ve /tmp'nin yalnızca siz açıkça istediğinizde kullanılması gerektiğini söylüyor.
Sizin için işe yarayan kısım o son cümle. Scratchpad içine yazılan dosyalar yazma izni diyaloğunu tetiklemez; ajanın yardımcı betiklerini ve dışa aktarımlarını her seferinde size sormak yerine oraya koymasının nedeni bu. Nereye gittiklerinin size hiç sorulmamasının ve hiç söylenmemesinin nedeni de bu.
Çalışan bir oturumda yolu istiyorsanız ajana sorun. «Scratchpad dizinini yazdır» sorusu hiçbir şey çalıştırılmadan sistem promptundan yanıtlanır.
Yol, sistem sistem
Klasör işletim sisteminin geçici klasörünün altında durur ve adı sizin kim olduğunuzu, hangi projede olduğunuzu ve hangi oturum olduğunu kodlar.
macOS ve Linux'ta:
/tmp/claude-<uid>/<eğik çizgileri tireye çevrilmiş proje yolu>/<oturum id>/scratchpad
Mac'te /tmp, /private/tmp'ye bir bağlantıdır, dolayısıyla aynı klasör /private/tmp/claude-501/… olarak gösterilir. Sayı sizin kullanıcı kimliğiniz, id -u komutunun yazdırdığı şey: Mac'teki ilk hesap için 501, çoğu Linux dağıtımında 1000, root için 0. Aşağıda alıntıladığımız Linux raporu /tmp/claude-0/ gösteriyor, çünkü pipeline bir konteynerde root olarak çalışıyordu. 2026'nın başlarında açılan issue'lar hiç uid olmadan /tmp/claude/<proje slug>/… gösteriyor, yani son ek yol boyunca eklendi. Eski bir derlemedeyseniz onu atın.
Windows'ta, Temmuz 2026'da Windows 11 üzerinde bildirildiği gibi:
%TEMP%\claude\<proje slug>\<oturum id>\scratchpad
bu da genellikle C:\Users\<siz>\AppData\Local\Temp\claude\… olarak açılır. Yol TEMP değişkeninden türetilir, dolayısıyla TEMP'i başka bir yere yönlendirirseniz scratchpad onu izler, ancak CLAUDE_CODE_TMPDIR tanımlıysa o kazanır.
Proje slug'ı, her eğik çizgisi tireye çevrilmiş çalışma dizininizdir. Depomuz /Users/jbchauvin/Projets/AgentsRoom altında yaşıyor, dolayısıyla slug -Users-jbchauvin-Projets-AgentsRoom. Proje başına bir klasör, sonra onun içinde oturum başına bir klasör.
Bir Mac veya Linux makinede geçerli kullanıcı için hâlâ elinizde olan her oturum klasörünü listelemek için:
ls /tmp/claude-$(id -u)/
Yanında ne duruyor
Oturum klasörü yalnızca scratchpad değil. Gece ajanlarımızı çalıştıran makinede, günün dokuz oturum klasöründen yedisi iki giriş içeriyor: scratchpad ve tasks. tasks klasörü, arka plan görevlerinin çıktısının düştüğü yer; ajanın ayrık çalıştırıp sonra okuduğu komutlar.
Bilmeniz gereken üçüncü bir yer daha var ve o hiç geçici klasörün altında değil: ~/.claude/projects/<proje slug>/<oturum id>/tool-results/. Bir araç bağlamın alabileceğinden fazlasını döndürdüğünde Claude Code tam çıktıyı oraya kaydeder ve ajana yolu verir. Bu gece 68 KB'lık bir Search Console dışa aktarımı scratchpad yerine oraya gitti. O konum kalıcı, oturum transkriptinin yanında. Yani ayrım şöyle: transkriptler ve fazla büyük araç çıktıları kalan ~/.claude altında; betikler, ara dosyalar ve arka plan görevi çıktısı kalmayan geçici klasörün altında.
Neden kaybolur
Çünkü geçici klasör her işletim sistemi için «silinmesi güvenli» demektir ve Claude Code'da hiçbir şey buna itiraz etmez.
Linux'ta systemd-tmpfiles, /usr/lib/tmpfiles.d/tmp.conf ne diyorsa onu uygular. Bir kullanıcı, host yeniden başlatıldığında 24 saatlik bir veri üretim pipeline'ının tüm çıktısını, inceleme kararları, betikler ve bir Python virtualenv dahil, kaybetti: o Debian konteynerindeki kural D /tmp 1777 root root 30d idi ve bu, her açılışta /tmp'yi boş olarak yeniden oluşturur. O Claude Code 2.1.260'tı ve sistem promptu uçuculuk hakkında hiçbir şey söylememişti. Kendi kuralınızı cat /usr/lib/tmpfiles.d/tmp.conf ile kontrol edin: bir D satırı açılışta siler, 10d gibi bir yaş ise zamanlayıcıyla eski dosyaları temizler.
Windows'ta klasör, Depolama Algılayıcısı ve Disk Temizleme'nin süpürdüğü %TEMP% altındadır. Temmuz 2026'da biri iki oturum canlıyken bir disk temizliği çalıştırdı ve her iki ajanın da içinde çalıştığı git worktree'lerini, commit edilmemiş düzenlemeler dahil, kaybetti. Düzenlemeler yalnızca konuşma bağlamında hâlâ var oldukları için kurtarılabildi.
macOS'ta /private/tmp yeniden başlatmada boşaltılır ve eski dosyalar sistem tarafından temizlenir. Bu gece Mac mini'mizde /private/tmp/claude-501, bu proje için dokuz oturum klasörü, 452 dosya ve 25 MB tutuyor ve günden eski hiçbir şey yok. Önceki gecelerin ajanlarının orada bıraktığı her şey gitmiş.
Bunların hiçbiri, bir şeyin yanlış davrandığı anlamında bir bug değil. Klasör tam olarak CLI'ın söylediği yerde ve işletim sistemi geçici klasörlerle tam olarak yaptığı şeyi yaptı. Boşluk şurada: prompt ona scratchpad diyor ve scratchpad, saklanan bir şey gibi geliyor kulağa.
Neyi yapılandırabilirsiniz, neyi yapılandıramazsınız
Claude Code 2.1.314'ten beri (3 Kasım 2026'da doğrulandı) scratchpad'i bir değişken taşıyor: CLAUDE_CODE_TMPDIR. Claude Code klasörü <CLAUDE_CODE_TMPDIR>/claude-<uid>/<proje slug>/<oturum id>/scratchpad olarak kurar, Windows'ta claude-<uid> yerine claude kullanılır. Değişken olmadan kök, TMPDIR ne derse desin macOS'ta /tmp, Linux ve Windows'ta ise sistemin geçici klasörüdür, dolayısıyla Linux'ta TMPDIR ve Windows'ta TEMP onu hâlâ taşır. Değişkeni shell'inizde ya da ~/.claude/settings.json dosyasının env bloğunda tanımlayın: Claude Code proje ve yerel ayarlarda onu yok sayar. Onu geçici klasörün dışında size ait bir klasöre yönlendirin, scratchpad yeniden başlatmalardan ve temizliklerden sağ çıkar.
Bu yazıyı ilk yazdığımızda, 2.1.278'de, durum farklıydı: değişken diğer geçici dosyalar için vardı ve scratchpad'i taşımadığı bildirilmişti, bir CLAUDE_CODE_SCRATCHPAD_DIR değişkeni ve ~/.claude/scratchpad/ altında bir varsayılan için açılan istekler de planlanmadı olarak kapatılmıştı.
Claude Code ayrıca bu klasörün kime ait olduğunu da kontrol eder. /tmp/claude-<uid> başka bir hesap tarafından oluşturulduysa, onu kullanmayı Temp directory /tmp/claude-1000 is owned by uid 0, expected 1000 mesajıyla reddeder, ardından Set CLAUDE_CODE_TMPDIR to a directory you control, or ask an administrator to remove it. gelir. Hiçbir oturum artık onu kullanmadığında klasörü sahibi olarak silin ya da değişkeni tanımlayın.
İki şey daha hiçbir ayar gerektirmeden çalışıyor. Sürdürülen bir oturum (claude --resume) oturum id'sini korur, dolayısıyla aynı klasörü arar ve arada hiçbir şey silmediyse onu bulur. Ve ajandan, düz sözlerle, belirli bir dosyayı kalıcı bir yere yazmasını isteyebilirsiniz. Çözümümüzün tamamı bu.
Gece ajanlarımıza verdiğimiz kural
Yedi ajan aynı makinede 20:00'de başlıyor: SEO, ürün, sosyal, bir fixer, bir dokümantalist, bir CEO raporu ve gecenin özetini 22:00'de e-postayla gönderen bir rapporteur. Her biri bol miktarda ara malzeme üretiyor: Search Console dışa aktarımları, filtrelenmiş JSON, yirmi locale'de string sayan betikler. Hepsi bilerek scratchpad'e gidiyor, çünkü hiçbiri depoya ait değil ve hiçbiri sabahın ikisinde bir izin istemi tetiklememeli.
Her prompttaki kural tek cümle: scratchpad bir sonraki komutun ihtiyaç duyduğunu tutar, depo bir sonraki gecenin ihtiyaç duyduğunu tutar. Bir ajanın yarın okumak isteyeceği her şey, raporu, run işareti, düzenlemekte olduğu dosya, reports/nuit/<tarih>/ altına yazılır ve run'ın sonunda değil, biter bitmez commit edilir. Görevin ortasında kesilen bir ajan git'te kısmi bir rapor ve kimsenin özlemeyeceği 25 MB'lık çalışma dosyası bırakır.
Bu kuralın ayna görüntüsü, Linux kullanıcısının zor yoldan öğrendiği şey: uzun bir işin tek kopyasını scratchpad'de biriktirmesine asla izin vermeyin. Bir pipeline bir gün çalışıyorsa çıktıları sizin seçtiğiniz bir yola gider ve scratchpad yardımcıları tutar.
Klasörü uygulamadan çıkmadan açmak
Claude Code'u AgentsRoom içinde çalıştırıyorsanız, File > Open File (Cmd/Ctrl+O) o klasördeki herhangi bir dosyayı önizlemede, takip edilen bir şeyle karıştırmamanız için proje dışı olarak işaretlenmiş halde açar. Ajanın az önce ürettiği bir dışa aktarımı, bir terminale /private/tmp yolu yapıştırmadan okumak için bulduğumuz en hızlı yol bu.
Ve isim konusunda döngüyü kapatmak için: AgentsRoom Scratchpad'i başka bir şey. Ajan düzenleyicisine entegre prompt editörü; uzun bir prompt orada yazılır ve oturumlar arasında her ajan için taslak olarak saklanır. Aynı kelime, Claude Code onu bir klasör için kullanmadan önce seçilmiş. Biri sizin ajana yazdığınız yer; diğeri ajanın kendisi için yazdığı yer.
Sıkça sorulan sorular
Claude Code scratchpad'i macOS ve Linux'ta nerede?
Sistemin geçici klasörünün altında: /tmp/claude-<uid'iniz>/<eğik çizgileri tireye çevrilmiş proje yolu>/<oturum id>/scratchpad. macOS'ta aynı klasör /private/tmp/claude-501/… olarak görünür, çünkü /tmp, /private/tmp'ye bir bağlantıdır. uid'iniz id -u komutunun yazdırdığı şeydir: Mac'teki ilk kullanıcı için 501, çoğu Linux dağıtımında 1000, root için 0. Eski sürümler uid son eki olmadan /tmp/claude/ kullanıyordu.
Claude Code scratchpad'i Windows'ta nerede?
TEMP klasörünün altında: %TEMP%\claude\<proje slug>\<oturum id>\scratchpad, bu da genellikle C:\Users\<siz>\AppData\Local\Temp\claude\… olarak açılır. TEMP ortam değişkenini değiştirmek onu taşır, CLAUDE_CODE_TMPDIR da taşır ve TEMP'ten önceliklidir.
Claude Code scratchpad'im neden kayboldu?
Çünkü geçici klasörün altında yaşıyor ve her işletim sistemi geçici klasörü silinmesi güvenli sayar. Linux'ta systemd-tmpfiles, /usr/lib/tmpfiles.d/tmp.conf içinde yazılı kuralı uygular, bu çoğu zaman açılışta ya da belirli bir gün sayısından sonra bir silmedir. macOS, /private/tmp'yi yeniden başlatmada boşaltır ve eski dosyaları temizler. Windows'ta Depolama Algılayıcısı ve Disk Temizleme, %TEMP%'i süpürür. Claude Code'da hiçbir şey klasörü bunların hiçbirinden korumaz.
Claude Code'un scratchpad'ini koyduğu yeri değiştirebilir miyim?
Evet, CLAUDE_CODE_TMPDIR ortam değişkeniyle. Claude Code bu değişkene claude-<uid'iniz> ekler (Windows'ta claude) ve scratchpad onu izler: 3 Kasım 2026'da Claude Code 2.1.314'te doğrulandı, 2.1.278'de ise değişken onu taşımıyordu. Değişkeni shell'inizde ya da ~/.claude/settings.json dosyasının env bloğunda tanımlayın, çünkü Claude Code proje ve yerel ayarlarda onu yok sayar. Değişken olmadan kök, TMPDIR ne derse desin macOS'ta /tmp, Linux'ta (TMPDIR) ve Windows'ta (TEMP) ise sistemin geçici klasörüdür. Onu geçici klasörün dışında size ait bir klasöre yönlendirin, scratchpad yeniden başlatmalardan ve temizliklerden sağ çıkar.
Claude Code neden geçici klasörünün başka bir uid'ye ait olduğunu söylüyor?
Claude Code, başka bir hesaba ait geçici bir klasörü kullanmayı reddeder. Mesaj şöyledir: Temp directory /tmp/claude-1000 is owned by uid 0, expected 1000, ardından Set CLAUDE_CODE_TMPDIR to a directory you control, or ask an administrator to remove it. /tmp/claude-<uid'iniz> klasörü var, ama onu sizden önce başka bir kullanıcı olarak çalışan bir süreç oluşturmuş, burada uid'si 0 olan root. İki çözüm var: hiçbir Claude Code oturumu artık onu kullanmadığında bu klasörü sahibi olarak silin (sudo rm -rf /tmp/claude-1000) ya da CLAUDE_CODE_TMPDIR'ı size ait bir klasöre ayarlayın. Claude Code 2.1.314'te doğrulandı.
Scratchpad, ~/.claude/projects ile aynı şey mi?
Hayır. ~/.claude/projects/<proje slug>/ oturum transkriptlerini ve her oturum için, fazla büyük araç çıktılarının kaydedildiği bir tool-results klasörünü tutar. O konum kalıcıdır. Geçici klasörün altındaki scratchpad, ajanın betikler ve ara dosyalar için kullandığı çalışma alanıdır ve o uçucudur.
Bu AgentsRoom Scratchpad'i mi?
Aynı kelime, farklı şey. AgentsRoom Scratchpad'i, ajan düzenleyicisine entegre prompt editörüdür; orada her ajan için bir taslak yazar ve saklarsınız. Claude Code'un scratchpad'i ise CLI'ın her oturum için oluşturduğu bir klasördür. AgentsRoom o klasördeki herhangi bir dosyayı File > Open File ile açabilir ve dosya proje dışı olarak işaretlenir.
AgentsRoom'u İndir
Tüm yapay zeka ajanlarını, tüm projelerinde, tek bir pencereden çalıştır.
Yardımcı uygulama: hareket halindeyken ajanlarını izle
Claude, Codex, Antigravity CLI veya başka bir AI sağlayıcı kullan.
Hataları ve istekleri doğrudan genel backloguna gönder.
Okumaya devam et
MCP token kullanımını azaltmak: araç tanımlarımızı nasıl %60 küçülttük
Ajanının çağırabildiği her MCP aracı, modelin her istekte okuyabileceği bir JSON bloğudur. Bizimkiler yaklaşık 95.000 token tutuyordu. Kendininkileri iki dakikada nasıl ölçeceğin, tek bir araç kaldırmadan neleri kestiğimiz ve yeniden şişmelerini engelleyen bütçe kontrolü.
Makaleyi okuYapay zeka kodlama ajanının sunucularında ne çalıştırdığını nasıl görürsün
Ajanın bir production sunucusunda çalışıyor ve terminal yalnızca bir araç çağırdığını söylüyor. Hangi komutu çalıştırdı, makine ne cevap verdi? Transkript bunu sana iş işten geçtikten sonra söyler. Bunu olurken nasıl görünür kıldığımızı, önce neyi denediğimizi ve aynısını bizim uygulamamız olmadan nasıl elde edeceğini anlatıyoruz.
Makaleyi okuClaude Code Remote Control daha fazla token harcıyor mu? Peki Codex'te var mı?
Anthropic Remote Control'ü yayınladığından beri insanların Google'a yazdığı iki soru: bir Claude Code oturumunu telefondan yönetmek daha fazla tokena mal oluyor mu, ve Codex için bir eşdeğeri var mı. Kısa cevaplar: hayır, bir tur nereden yazarsanız yazın bir turdur, ve evet ama yalnızca yarısı mevcut. İşte Remote Control'ün gerçekte ne olduğu, token sorusunu dört komutla kendinizin nasıl ölçeceği, codex remote-control'ün bugün ne yaptığı ve bir sağlayıcıyla hiç konuşmayan bir mobil kumandanın hesabı nasıl değiştirdiği.
Makaleyi oku