SSD Nodes Learn Hosting plans →
Rehberler Matt ConnorYazan Matt Connor · Güncellendi 2026-08-28

Claude Code cikti stili nedir ve nasil kullanilir

Claude Code icerisinde cikti stili, sistem istemini degistirerek yanit bicimini sekillendirir. Yerlesik stillerin transkript etkilerini ve kendi stilinizi nasil yazacaginizi ogrenin.

Claude Code icerisinde cikti stili nedir

Claude Code icerisinde cikti stili, Claude Code'un sistem istemine (system prompt) ekledigi bir talimat blogudur. Bu stil, Claude'un size nasil yanit verecegini, ustlendigi rolü ve yazdiracagi ciktinin bicimini degistirir. Claude'a kod tabaniniz hakkinda herhangi bir sey ogretmez ve Claude'a herhangi bir seyi calistirma izni veremez.

Claude Code, bes adet yerlesik stil ile gelir. Seciminiz outputStyle ayar anahtarinda tutulur ve bu anahtar, oturum basladiginda bir kez okunur. Bu tek gercek, ozellik hakkindaki kafa karisikliklarinin cogunu aciklar; cunku oturumun ortasinda degistirdiginiz bir stil kaydedilir ancak siz temizleyene kadar yok sayilir.

Bir VPS uzerinde bu, kozmetik bir tercihten fazlasidir. Transkript, genellikle bir tmux penceresi icinde, bir SSH (secure shell) baglantisi uzerinden okudugunuz metindir; bu nedenle Claude'un anlattigi her satir, beklediginiz bir satir ve sabit boyutlu bir kaydirma arabellekindeki (scrollback buffer) bir satirdir.

outputStyle ayarının bulunduğu yer

/config menüsünden, Output style başlığı altından bir stil seçin. Claude Code, yaptığınız seçimi üzerinde çalıştığınız projedeki .claude/settings.local.json dosyasına yazar.

Bağımsız /output-style komutu artık mevcut değildir. v2.1.73 sürümünde kullanımdan kaldırılmış ve v2.1.91 sürümünde tamamen kaldırılmıştır; bu nedenle güncel bir sürümde bu komut hiçbir işlev görmez. Eski bir kılavuzu uygulamadan önce hangi sürümü kullandığınızı kontrol edin. Bu sayfadaki sürümler Ağustos 2026 itibarıyla doğrulanmıştır.

claude --version

Anahtarı manuel olarak da ayarlayabilirsiniz. Dört ayar dosyası bu anahtarı tutabilir ve daha dar kapsamlı olan, daha geniş kapsamlı olanı geçersiz kılar.

  • ~/.claude/settings.json kullanıcı dosyanızdır. O makinedeki her projede geçerli olur.
  • .claude/settings.json proje dosyasıdır. Git'e commit edildiği için depoyu klonlayan herkes için geçerli olur.
  • .claude/settings.local.json yerel proje dosyasıdır. Commit edilmez ve yukarıdakilerin her ikisini de geçersiz kılar. /config menüsünün yazdığı dosya budur.
  • Bir BT ekibi tarafından Linux üzerinde /etc/claude-code/ gibi bir sistem yolundan dağıtılan yönetilen ayarlar, diğer her şeyi geçersiz kılar.

Anahtarın değeri stil adıdır:

{
  "outputStyle": "Concise"
}

Yalnızca tek bir oturum için, aynı anahtarı komut satırından geçirin. --settings bayrağı bir yol veya satır içi JSON dizgesi alır ve değerleri, o çalışma için ayar dosyalarındaki aynı anahtarları geçersiz kılar:

claude --settings '{"outputStyle": "Concise"}'

Menü etiketleri ve eğik çizgi (slash) komutları, bu özelliğin yaşam döngüsü boyunca en az bir kez değişmiştir. outputStyle anahtarı ise değişmemiştir. Herhangi bir kılavuzdaki ekran görüntüsü gördüğünüzle eşleşmediğinde, anahtarı doğrudan ayarlayın ve yürürlükteki ayar kaynaklarını listeleyen /status ile doğrulayın.

Yeni çıktı stilinizin temizleme yapana kadar neden hiçbir şey değiştirmediği

Claude Code, sistem istemini (system prompt) oturum başladığında bir kez oluşturur ve çıktı stili bu istemin bir parçasıdır. Bu nedenle, oturum devam ederken ayarı değiştirmek değeri saklar ancak gözle görülür bir değişiklik yapmaz; çünkü çalışan oturum, başlangıçta oluşturduğu istemi göndermeye devam eder. Yeni stil, bir sonraki /clear komutunda veya bir sonraki başlatmada yüklenir.

/clear
/context

/context komutu, sistem istemi de dahil olmak üzere bağlam penceresini (context window) kategorilere ayırarak o an neyin kapladığını yazdırır. Her stil altında yeni bir oturumda bu komutu çalıştırın; sistem istemi satırı, karşılaştırmanızın girdi tarafını oluşturacaktır. Bu, özel bir stilin yüklenip yüklenmediğini kanıtlamanın en hızlı yoludur. Pencereyi neyin doldurduğuna dair daha geniş bir resim için bkz: uzun bir Claude Code oturumunda bağlam nasıl dolar.

Ayarların canlı olarak uygulanmak yerine beklemesinin bir nedeni vardır. API, her isteğin başlangıcıyla eşleşen bir istem önbelleğinden (prompt cache) gelen tekrarlayan istekleri sunar ve sistem istemi en başta yer alır. Bunu konuşmanın ortasında yeniden yazmak, arkasındaki her şeyi geçersiz kılacağından, bir sonraki adım tüm geçmişinizi yeni bir girdi olarak yeniden işleyecektir. Stili oturum başlangıcında sabitlemek bu maliyeti önler. Stil değiştirmek ucuzdur. Sadece bir temizleme (clear) işlemi gerektirir.

Dahili çıktı stillerinin transkript üzerinde yaptığı değişiklikler

  • Default (Varsayılan), Claude Code'un yazılım mühendisliği çalışmaları için yazılmış normal sistem istemidir.
  • Concise (Özet), doğrudan sonuca odaklanır. Giriş bölümünü ve adım adım anlatımı çıkarır; siz detay isteyene kadar yanıtları kısa tutar. Arka plandaki mühendislik çalışması değişmez. Hata raporlarını veya güvenlik uyarılarını asla kısaltmaz ve yıkıcı bir işlemden önce yine de tam olarak onay ister. Bu stil, Claude Code v2.1.237 veya sonraki sürümlerini gerektirir.
  • Explanatory (Açıklayıcı), bir görevin adımları arasına, neden belirli bir uygulama tercihinin yapıldığını ve kod tabanınızın hangi kalıpları kullandığını açıklayan eğitici "İçgörüler" ekler. Transkript, tasarım gereği daha uzun olur.
  • Learning (Öğretici), bir adım daha ileri gider. Claude bu içgörüleri paylaşır ve ardından kodun küçük parçalarını bizzat yazmanızı ister; her noktayı dosyada TODO(human) yorumuyla işaretler.
  • Proactive (Proaktif), Claude'un sormak yerine harekete geçmesini sağlar. Rutin kararlarda onay beklemek yerine makul varsayımlarda bulunur.

Sonuncusunu dikkatli okuyun, çünkü insanların yanlış anladığı budur. Proactive, sistem istemindeki bir rehberliktir. Claude'un neyi deneyeceğini değiştirir. Sunucuyu başında kimse olmadan çalışır durumda bıraktığınızda önemli olan ayar, neyin onay almadan çalışacağını belirleyen izin modunuzdur. Bu konu otomatik mod ve Claude Code izin modları bölümünde ele alınmıştır.

Çıktı stili, CLAUDE.md, hook ve subagent arasındaki farklar

Bu arayüzlerin tümü Claude'un nasıl davranacağını belirlemek için kullanılır ancak farklı katmanlarda çalışırlar.

  • Çıktı stili (Output style), sistem istemine (system prompt) eklenir. Ana konuşmadaki her yanıta uygulanır.
  • CLAUDE.md, sistem isteminden sonra bir kullanıcı mesajı olarak eklenir. Proje kuralları ve kod tabanıyla ilgili gerçekler burada yer almalıdır.
  • --append-system-prompt, tek bir çağrı için sistem istemine metin ekler, hiçbir şeyi silmez. Çıktı stilinin tek seferlik sürümüdür.
  • Hook, bir olay tetiklendiğinde Claude Code'un kendi kendine çalıştırdığı bir kabuk komutudur. Harness tarafından zorunlu kılındığı için Claude tercih etse de etmese de çalışır. Bkz: Claude Code hook'unun yapabilecekleri ve yapamayacakları.
  • Subagent, kendi sistem istemi ve kendi araç setiyle çalışır.

İlk iki seçenek arasındaki ayrımı kısa bir test belirler. Projenizle ilgili bilgiler CLAUDE.md dosyasına yazılmalıdır; çünkü Claude’un bunları bilmesi gerekir. İfade biçimi bir çıktı stiline yazılmalıdır; çünkü bu, yanıtın nasıl okunacağıyla ilgilidir. Model ne karar verirse versin her seferinde gerçekleşmesi gereken işlemler bir hook olarak tanımlanmalıdır. Her yüzeyin hangi katmanda yer aldığı, modelin kendisinden çok modeli çalıştıran programın bir özelliğidir. Bu nedenle bir stil yalnızca etkileyebilirken bir hook zorunlu kılabilir.

Çıktı stilleri yalnızca ana konuşmaya uygulanır. Bir subagent, kendi sistem istemiyle yeni bir konuşma başlattığı için stilinizi devralmaz. Mevcut konuşmanın bir çatalı (fork) istisnadır, çünkü çatal, üst konuşmanın sistem istemini olduğu gibi devralır. Bir subagent hoşunuza gitmeyen bir biçimde yazıyorsa, stilinizi değil, o ajanın dosyasını düzenleyin. Aynı makinedeki ikinci bir Claude Code oturumu da aynı sınırı izler ve ayar dosyalarını başlangıçta kendisi okur; bu nedenle işi yanınızda çalışan başka bir oturuma aktardığınızda, yanıtlar sizin stilinizle değil, o oturumun yüklediği stille gelir.

Kendi çıktı stilinizi oluşturma

Özel bir çıktı stili, ön bilgi (frontmatter) içeren bir markdown dosyasıdır. Her projede kullanmak için ev dizininize, kodla birlikte tutmak için ise depo içine kaydedin. Kullanıcı dizini ~/.claude/output-styles/, proje dizini ise .claude/output-styles/ şeklindedir.

mkdir -p ~/.claude/output-styles
cat > ~/.claude/output-styles/terse-ops.md <<'EOF'
---
name: Terse ops
description: Command first, explanation after, for SSH sessions
keep-coding-instructions: true
---

Lead with the command or the file change. Put the explanation after it, in two sentences or fewer.

Do not narrate what you are about to do. Report what you did.

When a command can fail, print the one check that proves it worked and say what a healthy result looks like.
EOF

Bir oturum başlatın ve /config dosyasını açın. Stiliniz, yazdığınız açıklama ile birlikte Output style listesinde görünür. Eğer görünmüyorsa dosya okunmuyor demektir: dosya yolunu kontrol edin ve --- ön bilgi bloğunun dosyadaki ilk öğe olduğundan emin olun. Ön bilgide name ayarlanmadığı sürece dosya adı stilin adı olur; bu nedenle bu dosya terse-ops değil, Terse ops olarak adlandırılır.

Stili seçin veya anahtarı tam olarak bu isme ayarlayıp temizleyin:

{
  "outputStyle": "Terse ops"
}

Bir alan, dosyanızın bir düzenleme mi yoksa bir değiştirme mi olduğunu belirler. keep-coding-instructions varsayılan olarak false değerindedir; bu, özel bir stilin Claude Code'un yerleşik yazılım mühendisliği talimatlarını devre dışı bıraktığı ve yalnızca sizin metninizle çalıştığı anlamına gelir. Bu yerleşik talimatlar, Claude'a bir değişikliğin kapsamını nasıl belirleyeceğini ve çalışmasını nasıl doğrulayacağını söyler. Yazma asistanı veya veri analisti gibi bu talimatların geçerli olmadığı durumlar için bu alanı boş bırakın. Kodla ilgili herhangi bir işlem yapıyorsanız bu alanı true olarak ayarlayın, aksi takdirde dikkatli bir mühendisin neden aniden kendi çalışmasını kontrol etmeyi bıraktığını sorgularsınız. Eğer amacınız farklı bir ses tonu değil de bir görevin ne kadar çaba gerektirdiğine dair daha sıkı bir tanım yapmaksa, bu stil dosyasından ziyade mühendislik talimatlarının konusudur: Ponytail yeteneği, bir ajanı çalışan en küçük değişikliğe yönlendiren tek bir kural örneğidir.

description, /config seçicisinin ismin yanında gösterdiği satırdır. Bunu, altı ay sonra kendi stillerinizden ikisi arasında seçim yapacağınız anı düşünerek yazın.

SSH üzerinde neden kısa ve öz bir stil tercih edilmelidir

Bir VPS üzerinde, yerel terminalde bulunmayan katmanlar üzerinden bir döküm okursunuz ve her katman, uzun ifadeler için sizden bir bedel talep eder.

Bunlardan ilki kaydırma geçmişidir (scrollback). tmux içinde her bölme (pane), history-limit ile belirlenen ve varsayılan değeri 2000 olan sabit sayıda satır tutar. Anlatımlı bir döküm bu arabelleği daha hızlı doldurur; bu nedenle oturumunuzun önceki kısımları daha çabuk silinir ve geri dönüp bakmak istediğiniz çıktılar kaybolur. Daha fazla alan istiyorsanız bu değeri artırın:

echo 'set -g history-limit 20000' >> ~/.tmux.conf
tmux source-file ~/.tmux.conf

Bu işlemden sonra oluşturulan bölmelerin her biri 20000 satır tutar, ancak bu durum bölme başına bellek maliyetini artırır. Hali hazırda açık olan bölmeler eski sınırda kalır, çünkü arabellek boyutu bölme oluşturulduğu anda sabitlenir. Oturum düzenini hala oluşturuyorsanız, VPS üzerinde tmux içinde Claude Code çalıştırma konusu bu süreci kapsar.

İkincisi gecikmedir (latency). Yanıt, oluşturulduğu anda terminalinize akmaya başlar. Gidiş-dönüş süresi (RTT) yüksek bir bağlantıda, uzun bir giriş metni, yanıtın kendisi görünmeden önce metnin ekrana düşmesini izleyerek geçirdiğiniz süredir.

Üçüncüsü ise çıktı belirteçleridir (tokens). Anlatımlı her satır, çıktı olarak faturalandırılır. "Açıklayıcı" (Explanatory) ve "Öğretici" (Learning) stilleri tasarımları gereği daha uzundur. "Kısa ve Öz" (Concise) stili ise Claude'a yanıtları varsayılan olarak kısa tutması talimatını verdiği için tasarımı gereği daha kısadır.

Bu sayfa dahil olmak üzere hiç kimseden gelen bir yüzde değerine güvenmeyin. Farkın boyutu istemlerinize, modelinize ve talep ettiğiniz işe bağlıdır; bu yüzden kendi öncesi ve sonrası ölçümlerinizi yapın. Aynı gerçek görevi biri "Varsayılan" (Default), diğeri "Kısa ve Öz" (Concise) modunda olmak üzere iki yeni oturumda çalıştırın ve karşılaştırın. Bir durum satırı (statusline) en kolay ölçüm aracıdır, çünkü Claude Code betiğinize stdin üzerinden hem stil adını hem de belirteç sayılarını içeren bir JSON nesnesi iletir:

cat > ~/.claude/statusline.sh <<'EOF'
#!/bin/bash
input=$(cat)
style=$(echo "$input" | jq -r '.output_style.name // "default"')
out=$(echo "$input" | jq -r '.context_window.total_output_tokens // 0')
cost=$(echo "$input" | jq -r '.cost.total_cost_usd // 0')
echo "style=$style out=$out cost=$cost"
EOF
chmod +x ~/.claude/statusline.sh

statusLine ayarını bu dosyaya yönlendirin:

{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/statusline.sh"
  }
}

Oturumun alt kısmındaki çubuk artık aktif stili ve üretilen belirteçleri gösterir; bu, ihtiyacınız olan öncesi ve sonrası karşılaştırmasıdır. Betik, komut satırı JSON ayrıştırıcısı olan jq aracına ihtiyaç duyar, bu yüzden önce sudo apt install -y jq ile kurulumunu yapın. Eğer çubuk boş kalıyorsa, betiği manuel olarak çalıştırın ve içine biraz JSON verisi yönlendirin; çünkü sıfırdan farklı bir değerle sonlanan bir durum satırı hiçbir şey yazdırmaz ve raporlamaz. Özel bir Claude Code durum satırı bu nesnedeki diğer alanları listeler. Oturum tarafı yerine faturalandırma tarafı için, Claude Code belirteçlerinin gerçekte nereye gittiği ve Claude Code harcamalarını takip eden araçlar konularını okuyun.

Hangi çıktı stilinin yüklü olduğu nasıl kontrol edilir

Tahmin etmek yerine bu kontrolleri kullanın.

  • /status, bu oturum için geçerli olan ayar kaynaklarını listeler; buna bir organizasyon tarafından yönetilen ayarların devrede olup olmadığı da dahildir.
  • /context, yüklü sistem istemini (system prompt) bağlam penceresi dökümünde bir kategori olarak gösterir.
  • claude doctor, bir oturum başlatmadan kabuk üzerinden çalıştırıldığında, kurulum ve ayar tanılamalarını yazdırır ve geçersiz olan ayar dosyalarını raporlar.

Bir stil uygulanmadığında, bunun nedeni neredeyse her zaman iki şeyden biridir. Birincisi, stili oturum ortasında değiştirmiş olmanızdır; bu durumda /clear komutunu çalıştırın. İkincisi ise öncelik sırasıdır: .claude/settings.local.json, .claude/settings.json ayarını geçersiz kılar ve her ikisi de ~/.claude/settings.json ayarını geçersiz kılar. /config seçicisi yerel dosyaya yazma yaptığı için, ekibinizin .claude/settings.json içinde taahhüt ettiği bir stil, birinin menüyü bir kez kullandığı herhangi bir makinede sessizce geçersiz kılınır. Hangi kaynağın kazandığını size /status söyler.

Bir JSON sözdizimi hatası aynı belirtiye sahiptir ancak farklı bir çözümü vardır. claude doctor, ayrıştıramadığı dosyanın adını verir; daha karmaşık bir şey aramaya başlamadan önce bunu çalıştırmakta fayda vardır.

FAQ

/output-style komutu neden çalışmayı durdurdu?

Bu komut v2.1.73 sürümünde kullanımdan kaldırılmış ve v2.1.91 sürümünde tamamen çıkarılmıştır; bu nedenle 2026 ortasından itibaren olan sürümlerde komut artık mevcut değildir. Hangi sürüme sahip olduğunuzu görmek için claude --version komutunu çalıştırın. Output style başlığı altındaki /config kısmından bir stil seçin veya bir ayar dosyasında outputStyle anahtarını yapılandırın. Bu anahtar komuttan daha uzun ömürlüdür, bu yüzden ayarı doğrudan yapılandırmak kendi notlarınıza eklemeniz gereken yöntemdir.

Çıktı stilimi değiştirdim ancak hiçbir şey değişmedi. Neden?

Çıktı stili sistem isteminin (system prompt) bir parçasıdır ve Claude Code, sistem istemini oturum başladığında bir kez oluşturur. Oturum ortasında yapılan bir değişiklik kaydedilir ancak uygulanmaz; çünkü çalışan oturum, başlangıçta oluşturduğu istemi göndermeye devam eder. /clear komutunu çalıştırın veya yeni bir oturum başlatın. Değişiklik hala uygulanmıyorsa, hangi ayar kaynağının öncelikli olduğunu görmek için /status komutunu çalıştırın; çünkü .claude/settings.local.json, .claude/settings.json ayarını geçersiz kılar ve her ikisi de ~/.claude/settings.json ayarını geçersiz kılar.

Concise çıktı stili tasarruf sağlar mı?

Bu stil, Claude'a yanıtları varsayılan olarak kısa tutması talimatını verdiği için çıktı belirteçlerini (tokens) beklediğiniz yönde azaltır. Tasarruf miktarı istemlerinize ve kullandığınız modele bağlıdır; bu nedenle yayınlanan herhangi bir yüzde değerini yalnızca başkasının çalışmasına ait bir ölçüm olarak değerlendirin. Kendi ölçümünüzü yapın: her stil altında yeni bir oturumda giriş tarafı için /context komutunu çalıştırın, ardından aynı görevi her iki stilde de gerçekleştirerek çıktı belirteç sayısını karşılaştırın. Concise stili, hata raporlarını veya güvenlik uyarılarını asla kısaltmaz; bu nedenle okumanız gereken kısımlar bütün kalır.

Çıktı stili değişikliği alt temsilcilerimin (subagents) yazımını etkiler mi?

Hayır. Çıktı stilleri yalnızca ana konuşma için geçerlidir; çünkü bir alt temsilci kendi sistem istemi ve kendi araç setiyle kendi konuşmasını başlatır. Mevcut konuşmanın bir çatalı (fork) istisnadır, çünkü çatal, üst öğenin sistem istemini olduğu gibi devralır. Bir alt temsilcinin yanıt verme biçimini değiştirmek için o temsilcinin kendi dosyasını düzenleyin.

Çıktı stili, Claude'un sormadan komut çalıştırmasını sağlayabilir mi?

Hayır. Çıktı stili sistem istemindeki bir metindir, bu nedenle yalnızca Claude'un ne yapmaya çalışacağını etkileyebilir. Proactive stili, Claude'un rutin kararlarda duraksamak yerine varsayımlarda bulunup harekete geçmesini sağlar, ancak yine de bir komutu onaylayamaz. Bir komutun istem olmadan çalışıp çalışmayacağına izin modunuz (permission mode) karar verir; bir oturumu sunucuda çalışır durumda bırakmadan önce kontrol etmeniz gereken ayar budur.