TL;DR
- On modun üçünü tutun: collision-guard, model-router ve auto-handoff. Her biri başsız (headless) bir okuma görevinde ölçülebilir yaklaşık sıfır ek yük gösterdi ve her biri adını koyabileceğiniz bir sorunu çözüyor.
- next-steps'i silin. Uygun her yanıttan sonra oturumu çatallıyor (fork) ve bizim çalıştırmamızda tur başına +250 çıktı token'ı ve +2850 ms maliyet getirdi; önerilerini hiç çizmeyen yüzeylerde bile.
- cache-keeper'ı (+1589 ms, ücretli model ping'leri), recording-mode'u (kayıtlı geçmişi değil, ekranı maskeliyor) ve session-bookmarks'ı (modeli çağırabilen, süreç çalıştırabilen ve dosya yazabilen bir yer imi) silin.
- Görselleri istemiyorsanız goal-meter, repo-heatmap ve flight-recorder'ı da silin. Neredeyse hiçbir şeye mal olmuyorlar ve ölçülebilir bir fayda göstermediler.
- Her guard mod varsayılan olarak fail open çalışır.
.catchişleyicisi yoksa, hata fırlatan bir guard atlanır ve komut çalışır. - Modlar sandbox içinde değildir. Bir modu kurmadan önce
claude plugin validateçıktısını okuyun.
Ölçümler ne söylüyor
Abartı ve ölçek. Yayın tweet'i, 2026-10-03'te anlık görüntüsünü aldığımızda 4,138,918 görüntülenme, 20,021 beğeni ve 13,440 yer imine sahipti s11. Topluluk kataloğu 873 aday depoda 1018 mod listeliyor; tarama 2026-10-03'te Claude Code 2.1.288 üzerinde yapıldı s9.
Mod, bir olaya bağlanan bir fonksiyondur. Olaydan önce, sonra veya olayın yerine çalışabilir ya da olayı sarmalayabilir s1. Modlar Claude Code v2.1.287 veya üstünü gerektirir ve varsayılan olarak açıktır s2.
Önce güvenlik. Anthropic'in kendi ifadesi: "Mods run with the same access to your machine as Claude Code itself. They aren't sandboxed" s1. Sandbox'ı açsanız bile bir modun başlattığı süreç sandbox dışında çalışır s2. Read(.env) reddedilmiş olsa da bir mod bu dosyayı $.fs.read ile okuyabilir veya bunu yapan bir program başlatabilir s6. Katalog taramasında 409 mod ana makinede süreç çalıştırıyor, 167'si dosya yazıyor, 150'si ağa erişiyor ve 28'i bu sürümde doğrulamadan geçemiyor s9.
Erişim ve vaat. Statik denetimimizde session-bookmarks, $.model.complete, $.process.run ve $.fs.write çağırıyor: bir yer imi özelliği için setteki en geniş erişim. next-steps'in izi en küçüğü: fs yok, process yok, env yok. Bu denetimde kullanılan calls: ve env reads: satırlarını claude plugin validate yazdırır s6.
Amiral gemisi modun tur başına bir maliyeti var. next-steps, turn.complete olayında $.model.fork ile oturumu çatallıyor ve README çatalın "costs about one short reply" olduğunu söylüyor s10. Öneriler yalnızca terminalde çizilir; diğer yüzeyler hiçbir şey göstermez s10. Çatalı kapatacak bir seçenek yok. Başsız çalıştırmamızda +250 çıktı token'ı ve +2850 ms ekledi; çatal oturum kullanımına yazıldı, ekranda ise hiçbir şey gösterilmedi s10.
Belgelenmiş sınırlar. Hook çalışma süresi olay başına 10 saniye ile sınırlı, $.fs okuma ve yazmaları dosya başına 4 MiB, $.store ise toplamda 4 MiB JSON s3.
Guard'lar fail open çalışır. Belgeler, .catch işleyicisi olmayan bir hook hata fırlatırsa, zaman aşımına uğrarsa veya yanlış biçimde dönerse atlandığını ve yerine sıradaki işleyicinin çalıştığını söylüyor s7. Bunu yeniden ürettik: hata fırlatan ve .catch içermeyen bir Bash guard, touch ./marker-failopen.txt komutunun dosyayı oluşturmasına izin verdi. Aynı guard, {deny} döndüren bir .catch ile dosyayı oluşturmadı. Bir saha raporu, etkin ve çalışır görünen ama hiçbir şey yapmayan bir guard buldu; plugin list ise hâlâ "enabled" gösteriyordu s8.
2.1.288'de açık bir hata: await next(e) sonrasında döndürülen deny aracı durdurmuyor ve modele yazmanın başarısız olduğu söylenirken dosya 3 denemenin 3'ünde yazıldı s5.
Modlar ve settings hook'ları. Bir settings hook'u her çağrıda bir süreç başlatır. Başlatma süresini ölçtük: true ikilisi için 2.2 ms, bash -c 'exit 0' için 8.3 ms, python3 -c 'pass' için 26.1 ms ve node -e '' için 43.1 ms. Haftada 5,993 araç çağrısında node hook'u 258 s tutuyor. Süreç içi bir mod bunların hiçbirini ödemez. Belgeler, bir olayı engelleyen, izin veren veya kaydeden bir betiğiniz zaten varsa settings hook'unu öneriyor s2. Bir geçiş raporu 27 shell hook'tan 5 moda indi s8.
Maskeleme yalnızca görüntüde. recording-mode, ui.render'ın çizdiğini yeniden yazar. ~/.claude/history.jsonl istemi yazıldığı gibi tutar ve bir test kullanıcısı canary dizesini transcript'teki queue-operation kayıtlarında 7 kez buldu s5.
Modların çalışmadığı yerler. Başsız claude -p ve Agent SDK hook'ları çalıştırır ama hiçbir şey çizmez; Desktop WSL oturumu ikisini de çalıştırmaz s2.
Katalog güveni. Bir test kullanıcısı, düğmesi $.process.run ile bir program başlatan ve ev dizinine bir dosya yazan bir mod yayımladı. Diğer modlar gibi hiçbir uyarı olmadan kuruldu s5. Bu, kendi yayımladığı bir kavram kanıtıydı; sahada görülmüş bir saldırı değil.
Ölçümler
Korpus: gerçek bir kurulumun son 7 günü, 85 oturum, 4 proje, 882 kullanıcı istemi, 11,010 asistan turu, 5,993 araç çağrısı. Kıyaslama Claude Code 2.1.288 (macOS) üzerinde çalıştırıldı.
| yapılandırma | süre ms | Δsüre | çıktı tok | Δçıktı | görev ok |
|---|---|---|---|---|---|
| baseline | 3980 | 0 | 247 | 0 | 3/3 |
| next-steps | 6830 | +2850 | 497 | +250 | 3/3 |
| cache-keeper | 5569 | +1589 | 367 | +120 | 3/3 |
| recording-mode | 8240 | +4260* | 598 | +351* | 3/3 |
| goal-meter | 3722 | -258 | 244 | -3 | 3/3 |
| collision-guard | 4565 | +585 | 376 | +129* | 3/3 |
| repo-heatmap | 4119 | +139 | 257 | +10 | 3/3 |
| flight-recorder | 3949 | -31 | 261 | +14 | 3/3 |
| model-router | 3698 | -282 | 238 | -9 | 3/3 |
| session-bookmarks | 4152 | +172 | 235 | -12 | 3/3 |
| auto-handoff | 4051 | +71 | 248 | +1 | 3/3 |
- ile işaretli satırlar büyük olasılıkla yanıt varyansıdır. recording-mode çalıştırma sırasında kapalıydı ve kapalıyken hiçbir şey eklemez.
Yeniden çalıştırma protokolü:
- Modları tek tek kurun ve
claude plugin validategeçtiğini doğrulayın. - Aynı salt okunur görevi haiku üzerinde başsız
claude -pile çalıştırın, yapılandırma başına 3 tekrar, süre ve çıktı token'ı için medyanı alın. - Yalnızca süre ve çıktı token'ı farklarını aktarın. USD maliyeti yapılandırmalar arasındaki önbellek sırasına göre değişir, o yüzden yok sayın.
- Başlatma maliyeti için her hook gövdesinin 30 başlatmasını ölçün, medyanı alın ve haftalık araç çağrısı sayınızla çarpın.
Bunu pazartesi yapın
- Kurulu her mod için
claude plugin validateçalıştırın vecalls:ileenv reads:satırlarını okuyun. - Erişimi (süreç, fs yazma, model çağrısı) işinden büyük olan her modu devre dışı bırakın.
- Çoğunlukla başsız çalıştırmalarda, VS Code panelinde veya SDK'da çalışıyorsanız next-steps'i devre dışı bırakın; önerileri orada hiç çizilmez.
- Güvendiğiniz her guard moda
{ deny: ... }döndüren bir.catchişleyicisi ekleyin. - Her guard'ın fail closed çalıştığını kanıtlayın: hata fırlattırın, işaret dosyası oluşturan bir komut çalıştırın ve dosyanın görünmediğini kontrol edin.
- Sırları
~/.claude/history.jsonlveya transcript dışında tutmak için bir maskeleme moduna güvenmeyin. İkisini de diskte kontrol edin. - Başlatma maliyeti haftalık araç çağrılarınızda birikiyorsa, her çağrıda node veya python çalıştıran shell hook'ları süreç içi bir modla ya da derlenmiş bir ikiliyle değiştirin.
- Kapatma anahtarlarını öğrenin: bir modu
/pluginiçinde devre dışı bırakın, tek oturum için--safe-mode, her yer için~/.claude/settings.jsoniçinde"disableAllHooks": true.
Daha ileri gidin
- Kendinizinkini yazın: ~80 satırlık bir modun uygulamalı anlatımı ve önemli tuzaklar (modül düzeyindeki durum hot reload'da sıfırlanır, bu yüzden veriyi
$.stateiçinde tutun) s4. - Mod, hook, skill veya settings kararını kendi geçmişinize bakarak verin: bir uygulayıcı önce oturum günlüklerinden tekrarlayan sorunları çıkarmayı öneriyor s12.
- Bir guard yazmadan önce tam olay listesini ve sınırları okuyun s3.
- Kurum çapında yönetim burada kapsam dışı. Tek başına çalışan geliştirici için tek nokta:
sec-default, makinede yönetilen ayarlar olduğunda veya Team ya da Enterprise planıyla oturum açtığınızda yüklenir ve başka kısıtlama eklemez s6. - Tasarımın kökeni, 2.1.288'de düzeltilen bir worktree yalıtım hatası ve çalışma zamanı iç yapısı dahil, açık konuda duruyor s5.
- Anthropic'in örnek modları (token-weather, blast-radius, replay-theater) destek verilmeden paylaşılmış olarak listeleniyor s2.
Kaynaklar
- Customize Claude Code with mods, Anthropic blogu. Neden okunmalı: resmi tanım ve Anthropic'in kendi sözleriyle sandbox uyarısı.
- Mods overview, belgeler. Neden okunmalı: modlar ve hook'lar karşılaştırması, yüzey matrisi ve kapatma anahtarları.
- Mods reference, belgeler. Neden okunmalı: tam olay listesi ve belgelenmiş sınırlar.
- Getting started with Claude Code mods, claude.dev (Addy Osmani). Neden okunmalı: başka hiçbir kaynağın kapsamadığı tuzaklarla en iyi uygulamalı anlatım.
- Mods issue #91870, GitHub. Neden okunmalı: yalıtım, fail closed davranışı ve geçmiş sızıntıları üzerine saha raporları.
- Manage mods for your organization, belgeler. Neden okunmalı: validate denetimi ve her güvenlik kontrolünün sınırları.
- React to events with a mod, belgeler. Neden okunmalı: middleware zincirinin sırası ve varsayılan fail open.
- The Guard I Installed Was Enabled, Running, and Doing Nothing, blog. Neden okunmalı: 27 shell hook'tan 5 moda tek geçiş saha raporu.
- awesome-claude-code-mods, GitHub. Neden okunmalı: ekosistemin boyutu ve hazır bir denetim yöntemi.
- next-steps plugin source, GitHub. Neden okunmalı: amiral gemisi modun gerçek işleyişi, tur başına çatal dahil.
- ClaudeDevs release tweet, X. Neden okunmalı: lansman duyurusu ve erişimi.
- Avid's session-log mining workflow, X. Neden okunmalı: bir şey kurmadan önce neyi yapacağınıza veya kuracağınıza karar verme yöntemi.
FAQ
Modlar sandbox içinde mi?
Hayır. Anthropic, modların makinenize Claude Code'un kendisiyle aynı erişimle çalıştığını söylüyor s1. Bir modun başlattığı programlar da sandbox dışında çalışır s2.
Guard modum çökerse ne olur?
.catch işleyicisi yoksa atlanır ve komut çalışır s7. Fail closed çalışması için { deny: ... } döndüren bir .catch ekleyin.
Bir mod token harcar mı?
Yalnızca modeli çağırırsa. Çalıştırdığımız on modun içinde next-steps ve cache-keeper ölçülebilir maliyet gösterdi; diğerleri çalıştırmamızda sağlam bir ek yük göstermedi.
Modları hızlıca nasıl kapatırım?
Birini /plugin içinde devre dışı bırakın, oturumu --safe-mode ile başlatın veya ~/.claude/settings.json içinde "disableAllHooks": true ayarlayın s2. Bunların hiçbiri yerleşik modları durdurmaz.
Bir modu kurmadan önce ne yaptığını kontrol edebilir miyim?
Evet. claude plugin validate hook'ları, API çağrılarını ve okuduğu ortam değişkenlerini listeler s6.
AIDive