Claude Code'da Agent View: Arka Planda Çoklu Oturum Yönetimi Rehberi

Claude Code ile tek bir görev üstünde çalışırken sorun yok: terminali açar, isteğinizi yazar, tamamlanmasını beklersiniz. Ama gerçek bir proje üzerinde çalışırken genelde tek görev yoktur — flaky bir testi araştırmak, bir PR'daki inceleme yorumlarını adreslemek ve bağımsız bir refactor'u aynı anda ilerletmek isteyebilirsiniz. Bunları sırayla yapmak zaman kaybıdır, ayrı terminal pencerelerinde ayrı claude süreçleri açmaksa hangisinin ne durumda olduğunu takip etmeyi zorlaştırır. Agent view, tam olarak bu boşluğu dolduran resmi bir Claude Code özelliği: claude agents komutuyla açılan tek bir terminal ekranından birden fazla arka plan oturumu başlatıp izlemenizi, durumlarını görmenizi, sorularını yanıtlamanızı ve gerektiğinde tam bir konuşmaya geçmenizi sağlar. Bu yazıda resmi dokümantasyona dayanarak agent view'ın tüm mekaniğini — oturum başlatmanın üç yolunu, klavye kısayollarını, worktree izolasyonunu, JSON ile otomasyonu ve cross-session messaging ile ilişkisini — adım adım ele alıyorum.

Agent View Nedir?

Agent view, birden fazla Claude Code arka plan oturumunu tek bir terminal ekranından göndermenize (dispatch) ve yönetmenize yarayan bir arayüzdür. Açmak için:

claude agents

komutu yeterlidir. Agent view size şunları sağlar:

  • Görev tanımlarıyla yeni arka plan oturumları göndermek
  • Oturum durumlarını tek bakışta görmek (Working, Needs input, Completed, Failed, Stopped)
  • Tam bir transkripte geçmeden oturumun çıktısına göz atmak ya da yanıt vermek
  • Herhangi bir oturuma tam etkileşimli bir konuşma için bağlanmak (attach)
  • Oturumlar arka planda çalışırken kendi işinize devam etmek
  • Agent view'ı kapatsanız bile oturumların arka planda çalışmaya devam etmesi

Başka bir dizine odaklanmak veya çıktıyı bir betikte kullanmak isterseniz:

claude agents --cwd ~/projeler/benim-projem   # belirli dizine odaklan
claude agents --json                          # oturumları JSON olarak listele

Oturum Durumları

Agent view'daki her satır, o oturumun anlık durumunu bir simge ve renkle gösterir:

Simge Durum Anlamı
(animasyonlu) Working Claude aktif olarak araç çalıştırıyor veya metin üretiyor
(sarı) Needs input Yanıtınızı veya onayınızı bekliyor
(soluk) Idle Bir sonraki isteğe hazır
Yeşil Completed Görev başarıyla tamamlandı
Kırmızı Failed Oturum hatayla sonlandı
Gri Stopped Ctrl+X ile durduruldu ya da süreç sona erdi

Bunun yanında süreç durumunu gösteren üç ek şekil vardır: /animasyonlu süreç canlı ve anında yanıt verebilir anlamına gelir; süreç sonlanmış ama yine de göz atılabilir/yanıtlanabilir (yeniden bağlanınca devam eder) demektir; ise bir /loop oturumunun iterasyonlar arası uykuda olduğunu gösterir.

Oturum Başlatmanın Üç Yolu

1. Agent View İçinden Dispatch

Agent view açıkken bir görev tanımı yazıp Enter'a basmanız yeterlidir:

flaky SettingsChangeDetector testini araştır

Belirli bir subagent'a görev vermek için @ ile subagent adını, bir depoya yönlendirmek için yine @ ile depo adını kullanabilirsiniz:

@code-reviewer PR 1234'teki inceleme yorumlarını adresle
@my-app auth hatasını düzelt

Görev göndermek yerine kabuk komutu, skill veya slash komutu da çalıştırabilirsiniz:

! pytest -x
/init

Dispatch kutusuna yazdığınız metin bir görev tanımı değil de bir filtre kalıbıysa, agent view yeni oturum göndermek yerine listeyi filtreler:

a:code-reviewer   # code-reviewer subagent'ıyla çalışan oturumlar
s:working         # Working durumundaki oturumlar
s:blocked         # Sizden bir şey bekleyen her şey
#1234             # 1234 numaralı PR üzerinde çalışan oturum

2. Kabuktan --bg / --background

Agent view'ı hiç açmadan doğrudan kabuktan da arka plan oturumu başlatabilirsiniz:

# Temel arka plan oturumu
claude --bg "flaky testi araştır"

# Belirli bir subagent ile
claude --agent code-reviewer --bg "PR yorumlarını incele"

# Özel isimle
claude --bg --name "flaky-test-fix" "SettingsChangeDetector'ı araştır"

# Var olan bir oturumu arka planda devam ettir
claude --resume 1f0e2c9a-6d0b-4c11-9f39-2a77c1d4e8b5 --bg "devam et ve bitir"

# Kabuk komutunu arka plan görevi olarak çalıştır
claude --bg --exec 'pytest -x'

Komut çalıştığında terminale şuna benzer bir çıktı ve hazır komutlar basılır:

backgrounded · 7c5dcf5d · flaky-test-fix
  claude agents             oturumları listele
  claude attach 7c5dcf5d    bu terminalde aç
  claude logs 7c5dcf5d      son çıktıyı göster
  claude stop 7c5dcf5d      bu oturumu durdur

3. Oturum İçinden /bg ve /fork

Zaten etkileşimli bir oturumun içindeyken, o oturumu arka plana almak için:

/bg
/bg test paketini çalıştır ve hataları düzelt
/background                            

/fork ise mevcut oturumu arka planda bir kopyaya çoğaltıp siz ön planda çalışmaya devam etmenizi sağlar — yani hem elinizdeki işe devam edersiniz hem de aynı konuşmanın bir kopyası arka planda başka bir yöne ilerler:

/fork
/fork şimdiye kadarki işle bir taslak PR aç

Klavye Kısayolları

Agent view'da satırlar arasında gezinmek ve oturumları yönetmek için şu kısayolları kullanabilirsiniz:

Kısayol İşlev
/ Satırlar arasında gezin
EnterSeçili oturuma bağlan, ya da girişte metin varsa yeni oturum gönder
SpaceSeçili oturum için göz atma (peek) panelini aç/kapat
Shift+EnterDispatch girişinde yeni satır
Ctrl+EnterGörevi gönder ve hemen bağlan
Seçili oturuma bağlan
Alt+1..Alt+9Dizindeki 1-9 numaralı oturuma bağlan
TabSubagent listesine göz at ya da öneriyi uygula
Ctrl+SGruplamayı değiştir (duruma göre / dizine göre)
Ctrl+TOturumu sabitle/sabitlemeyi kaldır (süreci canlı tutar)
Ctrl+ROturumu yeniden adlandır
Ctrl+GDispatch istemini $VISUAL/$EDITOR içinde aç
Ctrl+XOturumu durdur; 2 saniye içinde tekrar basılırsa siler
Shift+↑ / Shift+↓Oturumu yeniden sırala
EscGöz atma panelini kapat, girişi temizle ya da çık
Ctrl+CGirişi temizle; iki kez basılırsa çıkış yap
?Tüm kısayolları göster

Göz Atma (Peek) ve Hızlı Yanıt

Seçili satırda Space'e basmak göz atma panelini açar. Bu panel, oturumun tam olarak ne sorduğunu veya en son çıktısını gösterir; siz de agent view'dan hiç çıkmadan yanıtınızı yazıp Enter'a basabilirsiniz. Seçenekli bir soruda sayı tuşuna basarak seçim yapabilir, Tab ile önerilen yanıtı düzenleyebilir, başına ! koyarak bir Bash komutu gönderebilir, / ile komşu oturumlara göz atabilir ya da ile doğrudan bağlanabilirsiniz. Bu, on tane arka plan oturumunu izlerken her birine tek tek tam ekran bağlanmadan hızlıca "evet devam et" ya da "hayır, önce şunu dene" demenizi sağlayan en pratik özelliktir.

Bağlanma ve Ayrılma

Bir oturumun tam konuşmasını görmek isterseniz Enter ya da ile bağlanırsınız; oturum terminalinizin tamamını, tam etkileşimli bir Claude Code oturumu gibi devralır. Geri dönmek için:

Eylem Sonuç
(boş girişte)Ayrıl, agent view'a dön
Ctrl+ZAyrıl ama kabuğa (shell) dön
/exitAyrıl ( ile aynı)
Ctrl+C (iki kez)Ayrıl ( ile aynı)
/stopArka plan oturumunu tamamen sonlandır (oturumun içinden)

Ön plandaki bir oturumu hızlıca arka plana atıp agent view'a geçmek isterseniz, boş girişte 'ye bir kez basmanız Press ← again to open agents uyarısını gösterir; ikinci basış oturumu arka plana alıp o satır seçiliyken agent view'ı açar. Vazgeçmek isterseniz Esc ile geri dönebilirsiniz.

Oturumları Organize Etme ve Filtreleme

Çok sayıda arka plan oturumu biriktiğinde Ctrl+S ile gruplamayı duruma göre ya da dizine göre değiştirebilir, Ctrl+T ile önemli bir oturumu sabitleyip sürecinin canlı kalmasını garantileyebilir, Ctrl+R ile anlamlı bir isim verebilir, Ctrl+X ile durdurup art arda ikinci kez basarak silebilirsiniz. Dispatch giriş kutusuna filtre kalıbı yazmak (a:<isim>, s:<durum>, #<numara> ya da bir PR URL'si) listeyi daraltır — örneğin bir PR açan oturumların satırında #1234 etiketi görünür ve etiket rengi PR durumuna göre değişir: sarı (inceleme bekliyor), yeşil (hazır), mor (merge edildi), gri (taslak/kapalı). Birden fazla PR açan bir oturum 3 PRs şeklinde gösterilir.

Kabuk Komutlarıyla Oturum Yönetimi

Agent view'ı hiç açmadan, doğrudan kabuktan da arka plan oturumlarını yönetebilirsiniz:

claude attach <id>                    # oturumu terminalde aç
claude logs <id>                      # son çıktıyı göster
claude stop <id>                      # oturumu durdur
claude respawn <id>                   # oturumu yeniden başlat
claude respawn --all                  # çalışan tüm oturumları yeniden başlat
claude rm <id>                        # listeden kaldır ve worktree'yi sil
claude daemon status                  # denetleyici (supervisor) durumunu göster
claude daemon stop --any              # denetleyiciyi ve arka plan oturumlarını durdur
claude daemon stop --keep-workers     # denetleyiciyi durdur, oturumları canlı bırak

Bu komutlar, agent view'ın arkasındaki aynı arka plan altyapısını kabuk betiklerinden ya da CI adımlarından yönetmenizi sağlar — örneğin bir dağıtım betiği bitmeden önce açık kalan tüm arka plan oturumlarını claude respawn --all ile toparlayabilirsiniz.

JSON Çıktısı ile Otomasyon

Agent view'ın durumunu bir arayüz açmadan okumak isterseniz --json bayrağı kullanışlıdır:

claude agents --json               # aktif oturumlar
claude agents --json --all         # tamamlanmışlar dahil
claude agents --json --cwd <yol>   # belirli dizine göre filtrele

Dönen her kayıt şu alanları içerir:

Alan Açıklama
stateworking, blocked, done, failed, stopped
statusSüreç canlıysa busy, waiting ya da idle
waitingForOturumun ne için beklediği
idKısa oturum kimliği
sessionIdTam UUID
nameGörünen isim
cwdÇalışma dizini
startedAtUnix milisaniye zaman damgası

Pratik bir örnek: bir CI adımında paralel başlattığınız üç arka plan oturumunun hepsi bitene kadar bekleyen basit bir kabuk döngüsü yazabilirsiniz.

while claude agents --json | jq -e '[.[] | select(.state=="working" or .state=="blocked")] | length > 0' >/dev/null; do
  sleep 10
done
claude agents --json --all | jq '[.[] | select(.state=="failed")] | length'

Bu döngü çalışan ya da girdi bekleyen oturum kalmayana kadar bekler, sonra kaç oturumun failed durumda bittiğini sayar — örneğin bir dağıtım betiğinin devam edip etmeyeceğine bu sayıya göre karar verebilirsiniz.

Dispatch Varsayılanlarını Yapılandırma

Agent view'ı açarken yeni gönderilecek oturumlar için varsayılan model, effort ve izin modu belirleyebilirsiniz:

claude agents --model opus --effort high
claude agents --permission-mode plan
claude agents --permission-mode acceptEdits
claude agents --dangerously-skip-permissions
claude agents --allow-dangerously-skip-permissions

--dangerously-skip-permissions tüm arka plan oturumlarını hiçbir onay istemeden başlatır; izin sisteminin tamamen devre dışı bırakılması anlamına geldiğinden yalnızca güvendiğiniz, izole (worktree ile ayrılmış) görevler için kullanılmalıdır — özellikle bir CI ortamında ya da tek kullanımlık bir konteynerde çalıştırıyorsanız risk daha düşüktür, ama kişisel makinenizde geniş yazma yetkisi olan bir görevi bu bayrakla başlatmadan önce görevin kapsamını net biçimde tanımlamanız gerekir. --allow-dangerously-skip-permissions ise bu modu yalnızca kullanılabilir hale getirir, oturumu otomatik o modda başlatmaz. Agent view açıkken de /model opus ya da /model default yazarak yeni gönderimler için varsayılanı değiştirebilirsiniz. Ayrıca şu bayraklar da agents alt komutuyla birlikte çalışır — birden fazla değer için bayrağı tekrarlayın, --add-dir ve --mcp-config'i agents'tan sonra verin:

claude agents --settings ./settings.json
claude agents --add-dir ../paylasimli-kutuphane
claude agents --plugin-dir ./eklentim
claude agents --mcp-config ./mcp.json
claude agents --strict-mcp-config

Worktree İzolasyonu

Arka plan oturumları, dosya düzenlemeye başlamadan önce .claude/worktrees/ altında otomatik olarak izole bir git worktree kopyası oluşturur; bu sayede aynı depo üzerinde paralel çalışan birden fazla oturum birbirinin çalışma dizinini bozmaz. Claude değişiklikleri kendisi commit eder, depoda bir remote varsa dalları push eder, ama main veya master'ı asla force-push ya da merge etmez — göreviniz veya proje kökündeki CLAUDE.md dosyanızdaki git talimatlarınız bu davranışın önüne geçer, yani "her zaman feature branch'ten PR aç" gibi bir kuralınız varsa arka plan oturumları da buna uyar. İzolasyonu tamamen kapatmak isterseniz:

{
  "worktree": {
    "bgIsolation": "none"
  }
}

ayarını kullanabilirsiniz — ama bu durumda paralel oturumlar aynı dosyalar üzerinde çalışırsa çakışma riskini siz üstlenirsiniz.

Agent View'ı Kapatma

Agent view'ı hiç kullanmak istemiyorsanız settings dosyanızda disableAgentView: true ayarını ya da CLAUDE_CODE_DISABLE_AGENT_VIEW=1 ortam değişkenini kullanabilirsiniz.

Agent View ile Remote Control Farkı

Agent view sıkça Remote Control ile karıştırılır ama ikisi farklı sorunları çözer. Agent view, aynı makinede aynı anda birden fazla arka plan oturumu çalıştırıp bunları tek terminalden yönetmenize yarar; Remote Control ise zaten çalışan tek bir yerel oturumu telefonunuzdan ya da tarayıcınızdan (claude.ai/code veya Claude mobil uygulaması) uzaktan sürmenizi sağlar. İkisi de yürütmeyi yerel makinenizde tutar; fark tetikleyicidedir.

Agent View Remote Control
Ne yapar Tek terminalden çoklu arka plan oturumu yönetir Tek bir yerel oturumu başka cihazdan sürer
Başlatma claude agents claude remote-control, claude --remote-control, /remote-control
Nerede çalışır Sizin makineniz Sizin makineniz (mobil/web sadece bir pencere)
En iyi kullanım Birden fazla bağımsız görevi paralel ilerletmek Devam eden bir işi masadan kalkıp koltuktan sürmek

İkisi birlikte de çalışır: agent view'da arka planda başlattığınız bir oturuma bağlı bir Remote Control cihazından bakıldığında, o oturumun subagent'ları ve dinamik workflow ilerlemesi cihazda da görünür; telefonunuzdan o görevi durdurursanız Claude Code aynı görevi makinenizde de durdurur.

Gerçek Dünya Örneği: Üç Görevi Paralel İlerletmek

Diyelim ki bir sprint sonunda elinizde üç bağımsız görev var: flaky bir testin kök nedenini bulmak, açık bir PR'daki inceleme yorumlarını adreslemek ve kullanılmayan bir bağımlılığı kaldırmak. Bunları agent view ile şöyle paralelleştirebilirsiniz:

$ claude agents
> flaky SettingsChangeDetector testini araştır ve düzelt
> @code-reviewer PR 482'deki inceleme yorumlarını adresle
> package.json'daki kullanılmayan lodash bağımlılığını kaldır ve testleri çalıştır

Üç satır da Working durumuna geçer. Birkaç dakika sonra ekrana bakıp hangi satırın Needs input (sarı) olduğuna göz atarsınız — örneğin lodash görevini alan oturum, kaldırmadan önce bir kullanım noktası bulduğunu ve onay istediğini bildirir. Space ile göz atma panelini açıp doğrudan "evet, o noktayı da güncelle" yazıp devam ettirirsiniz, agent view'dan hiç çıkmadan. Flaky test görevi bittiğinde satır yeşile döner; ile bağlanıp tam düzeltmeyi (diff'i) inceler, memnun kalırsanız oturumdan /exit ile ayrılırsınız. PR görevi bir #482 etiketiyle görünür ve rengi PR durumuna göre güncellenir. Üçü de bittiğinde claude agents --json --all ile hangi oturumun failed bittiğini kabuktan da doğrulayabilir, gerekiyorsa claude respawn <id> ile o görevi yeniden başlatabilirsiniz. Tüm bu süre boyunca üç görev de kendi izole worktree'sinde çalıştığından, biri package.json'ı değiştirirken diğeri testleri çalıştırıyor olsa bile birbirlerini bozmazlar.

Sorun Giderme

Belirti Açıklama / Çözüm
Agent view boş görünüyor Dispatch girişine bir görev tanımı yazıp Enter'a basarak ilk oturumu başlatın.
"Görev tanımı çok kısa" uyarısı Görev tanımı en az 4 karakter olmalıdır.
Kapanıştan sonra oturumlar "failed" görünüyor 48 saat içinde satıra bağlanıp yanıt vererek yeniden başlatın; 48 saati geçtiyse "stopped" görünür.
"Conversation already open" hatası Aynı transkript başka bir süreçte açık — o süreci kapatın ya da o terminali kullanın.
"No saved transcript" hatası Oturum arka plana alındı ama hiç yanıt vermedi; Enter'a basıp sıfırdan başlatın ya da claude respawn <id> kullanın.

Sıkça Sorulan Sorular (SSS)

Agent view ile subagent arasındaki fark nedir?

Subagent, tek bir ana konuşmanın içinde Claude'un kendi başlattığı ve kendi bağlamını kullanan bir alt görevdir; sonucu ana konuşmaya döner. Agent view ise claude agents ile açılan, birbirinden tamamen bağımsız Claude Code oturumlarını (her biri kendi tam konuşma geçmişi, izin modu ve isteğe bağlı git worktree'siyle) tek bir ekrandan yönettiğiniz bir kontrol panelidir. Subagent rehberimizde ilk kavramı ayrıntılı işledim.

claude --bg ile başlattığım bir oturum terminali kapatınca kaybolur mu?

Hayır, bağımsız bir süreç olarak çalışmaya devam eder ve claude agents ekranından tekrar görülür. Süreç bir şekilde sonlanırsa durum "stopped" olur ama transkript kaybolmaz; claude respawn <id> ile yeniden başlatabilirsiniz.

Paralel oturumlar birbirinin dosyalarını bozar mı?

Hayır — varsayılan olarak her arka plan oturumu .claude/worktrees/ altında kendi izole git worktree'sini otomatik oluşturur. Bu izolasyonu worktree.bgIsolation: "none" ile kapatabilirsiniz ama o zaman çakışma riski size aittir.

claude agents --json çıktısını otomasyonda nasıl kullanabilirim?

state, status, id, sessionId, cwd ve startedAt alanlarını içeren bir JSON dizisi döner. Bunu jq ile ayrıştırıp bir CI adımında tüm oturumlar bitene kadar bekleyen bir döngü yazabilir ya da failed oturum sayısını raporlayabilirsiniz.

Agent view ile Remote Control aynı şey mi?

Hayır. Agent view aynı makinede birden fazla arka plan oturumunu tek terminalden yönetir; Remote Control ise zaten çalışan tek bir yerel oturumu telefon ya da tarayıcıdan uzaktan sürmenizi sağlar. İkisi birlikte de çalışır: agent view'daki bir oturum, bağlı bir Remote Control cihazında da görünür.

Agent view'ı nasıl kapatabilirim?

Settings dosyanızda disableAgentView: true ayarlayın ya da CLAUDE_CODE_DISABLE_AGENT_VIEW=1 ortam değişkenini kullanın. Yalnızca o anki oturumları durdurmak için claude daemon stop --any ya da oturumları canlı bırakarak denetleyiciyi kapatan claude daemon stop --keep-workers komutlarını kullanabilirsiniz.

Özet

Agent view, Claude Code'u "bir seferde bir görev" modelinden çıkarıp gerçek bir çoklu görev kontrol paneline dönüştürüyor. claude agents ekranı, claude --bg/--background kabuk bayrağı ve oturum içindeki /bg//fork komutları aynı arka plan altyapısının üç farklı giriş kapısı; hangisini kullanırsanız kullanın oturumlar kendi izole worktree'sinde çalışır, durumları renkli simgelerle özetlenir ve claude attach/logs/stop/respawn/rm komutlarıyla ya da --json çıktısıyla kabuktan da yönetilebilir. Tek başına oturan bir terminalde beklemek yerine, bağımsız görevleri paralel gönderip Space ile göz atarak yanıtlamak, günlük Claude Code kullanımında ciddi bir zaman kazancı sağlıyor — özellikle subagent'lar ve cross-session messaging ile birlikte kullanıldığında, oturumlarınız artık birbirinden habersiz izole terminaller olmaktan çıkıp koordine olabilen bir ağa dönüşüyor.

Bu yazı Ahmet Bilgiç tarafından ahmetbilgic.com için yazılmıştır. Diğer yazılar için: medium.com/@ahmet_bilgic07