Birden Fazla Claude Code Ajanı Paralel Olarak Nasıl Çalıştırılır?

Tek bir checkout üzerinde iki Claude Code oturumu çalıştırmak, bir ajanın commit'ine diğerinin yarım kalmış kodunun karışmasına yol açar. Oturum başına bir worktree, arka plan oturumları ve belirli bir merge sırası bu sorunu çözer.

Aiden Flux

Aiden Flux

5 Kasım 2026

Birden Fazla Claude Code Ajanı Paralel Olarak Nasıl Çalıştırılır?

Özet: Birden fazla Claude Code ajanını paralel olarak çalıştırmak için her oturuma kendi git worktree'sini verin (claude -w <name> bunu tek bir bayrakla halleder), izlemediğiniz oturumları claude --bg ile arka plana gönderin ve ajanlar işini bitirmeden önce birleştirme sırasını belirleyin; çünkü izole dallar birleştirilirken çakışmalar yine de yaşanabilir. İki oturumun aynı checkout'u paylaşması, bir ajanın yaptığı commit'in diğer ajanın yarım kalmış kodunu da içermesine yol açar. Bu rehber, hâlihazırda Claude Code kullanan ve aynı anda iki ila beş oturumu birden yürütmek isteyen geliştiriciler içindir.

Her şey ikinci bir terminalle başlar. İlkinde Claude Code kimlik doğrulama modülünü yeniden yapılandırırken (refactoring), siz başka bir terminal açıp yeni bir oturumdan kararsız (flaky) tarih testini düzeltmesini istersiniz. Ardından dokümantasyon için üçüncüsünü açarsınız. Yirmi dakika sonra üç farklı oturum aynı çalışma dizinine yazıyor olur, git status hiç talep ettiğinizi hatırlamadığınız dosyaları listeler ve kimse config.ts dosyasına hangi oturumun dokunduğunu bilemez.

Birden fazla Claude Code ajanını çalıştırmak kolaydır: daha fazla terminal açarsınız. Ancak oturumların birbirlerinin çalışmasını bozmadan çalışmalarını sağlamak üç kritik karara bağlıdır: her oturumun dosyalarının nerede tutulacağı, o an incelemediğiniz oturumları nasıl takip edeceğiniz ve oluşturdukları dalların hangi sırayla birleştirileceği. Bu yazıda Claude Code'un yerleşik komutlarını ve basit bir test deposunda yeniden oluşturduğumuz iki hata senaryosunu kullanarak bu üç konuyu da ele alıyoruz. Worktree kavramına yabancıysanız öncelikle yapay zekâ kodlama ajanlarıyla git worktree rehberimize ya da git worktree belgelerine göz atabilirsiniz.

Birden fazla Claude Code ajanı paylaşılan bir checkout'u neden bozar?

Birden fazla Claude Code ajanını paralel çalıştırmak; her biri kendi görevine ve kendi bağlam penceresine (context window) sahip iki veya daha fazla oturumun aynı depo üzerinde eşzamanlı çalışması anlamına gelir. Oturumlar birbirinden habersizdir. Her biri sanki depoda tek başınaymış gibi dosyaları okur, düzenler, testleri çalıştırır ve commit atar.

Bir checkout yalnızca bir çalışma dizinine, bir dizine (index) ve bir HEAD'e sahiptir; bu yüzden "tek başınaymış gibi" varsayımı hızla çöker. Bu durumun en sık karşılaşılan versiyonunu, ajanları temsil eden iki kabuk yazıcısıyla basit bir Python deposunda yeniden ürettik. Ajan B, yarım yazılmış bir truncate() fonksiyonunu textutils.py dosyasına kaydetmiştir. Ajan A ise farklı bir dosyadaki kendi görevini tamamlar ve birçok prompt'un yönlendirdiği şekilde git add -A && git commit ile commit atar:

$ git show --stat --format='%an: %s' HEAD
agent-a: add slugify
 slug.py      | 2 ++
 textutils.py | 4 ++++
 2 files changed, 6 insertions(+)

$ python3 -m pytest -q
1 error in 0.09s

Ajan A'nın attığı commit, Ajan B'nin bitmemiş fonksiyonunu da içine almıştır ve test paketi artık import dahi edilemez. Üzerine yazılan hiçbir şey olmamıştır. Dizin paylaşıldığı için A'nın commit'i B'nin üzerinde çalışmaya devam ettiği değişiklikleri de süpürüp almıştır ve geçmişte artık hatalı kodu Ajan A yazmış gibi görünür. Bu sorunun aynı dosya üzerinde gerçekleşen versiyonunu iki kodlama ajanı aynı dosyayı düzenlediğinde ne olur başlıklı yazımızda ele almıştık.

Her oturuma bir worktree vererek birden fazla Claude Code ajanı çalıştırma

Bu durumun çözümü oturum başına bir çalışma dizini sağlamaktır ve Claude Code bunu doğrudan bir bayrak olarak sunar:

Claude Code background session commands
# interactive sessions, one task each, each in its own worktree
claude -w auth-refactor
claude -w flaky-date-test --tmux   # opens the session in its own tmux or iTerm2 pane

# fire-and-forget work: starts in the background and prints an id
claude --bg "update the README examples for the new config format"

Worktree dokümantasyonuna göre claude -w <name>, worktree-<name> adında yeni bir dal üzerinde .claude/worktrees/<name>/ konumunda bir worktree oluşturur; farklı bir isimle açılan ikinci bir terminal ise tamamen izole ikinci bir oturuma sahip olur. Biz çalıştırdığımızda git, yeni worktree'yi locked olarak listeledi; bu da aktif bir oturum sürerken git worktree prune komutunun bu dizini silmesini engeller. Ajan görünümü (agent view) sayfasına göre --bg veya /bg ile başlatılan arka plan oturumları, herhangi bir düzenleme yapmadan önce .claude/worktrees/ altındaki kendi worktree'lerine geçer.

Üç kurulum detayı sizi saatlerce uğraşmaktan kurtarır:

  1. Klasörü yoksayın (.gitignore). Worktree'ler deponun içinde yer alır; bu nedenle dokümantasyonun da önerdiği gibi .gitignore dosyasına .claude/worktrees/ dizinini eklemediğiniz sürece ana checkout'taki git status komutu .claude/ klasörünü izlenmeyen (untracked) olarak listeler.
  2. Tertemiz bir checkout bekleyin. Yeni bir worktree'de node_modules, virtualenv veya .env bulunmaz. Kopyalanması gereken ve git tarafından yoksayılan .env gibi dosyaları bir .worktreeinclude dosyasında listeleyin ve her worktree için bir kurulum adımını hesaba katın.
  3. Arayüzsüz (headless) çalıştırmaları kendiniz temizleyin. Etkileşimli oturumlar kapanırken worktree'lerini silmeyi teklif eder. claude -p ile başlatılan işlemler ise arkasını asla temizlemez; bu nedenle bunları önce git worktree unlock, ardından git worktree remove komutuyla silmeniz gerekir.

Arka plan oturumları kabuktan yönetilir. Bu açıklamalar 2.1.283 sürümündeki claude --help çıktısından alınmıştır:

Komut Ne işe yarar
claude --bg "<task>" Oturumu arka planda başlatır, bir kimlik (ID) yazdırır ve hemen sonlanır
claude agents Çalışan oturumların listesi olan ajan görünümünü açar (script'ler için --json)
claude logs <id> Arka plandaki bir oturumun son terminal çıktısını yazdırır
claude attach <id> Arka plandaki bir oturumu geçerli terminalde açar
claude stop <id> Oturumu durdurur; konuşma geçmişi korunur ve claude attach <id> ile yeniden açılabilir

--bg bayrağı -p ile birlikte kullanılamaz. Script tabanlı toplu bir dağıtım (fan-out) için Anthropic'in Claude Code ile çalışma rehberi, --allowedTools ve --permission-mode dontAsk bayraklarıyla claude -p üzerinde dönen bir kabuk döngüsü önerir. Her çalıştırmanın kendi dizinine sahip olması için bunu -w ile eşleştirin.

İzole Claude Code ajanları birleştirme aşamasında yine de çakışabilir

Worktree'ler, oturumların çalışma esnasında birbirlerinin ayağına basmasını engeller; ancak yapılan işleri kendiliğinden uyumlu hâle getirmez. İki worktree dalına benzer türde bir değişiklik verdik; her biri textutils.py dosyasının sonuna bir fonksiyon ekledi ve ardından her ikisini de birleştirdik:

$ git merge agent/slugify
Fast-forward
$ git merge agent/truncate
Auto-merging textutils.py
CONFLICT (content): Merge conflict in textutils.py
Automatic merge failed; fix conflicts and then commit the result.

İki ajan da yanlış bir şey yapmadı. Her ikisi de aynı yere kod ekledi ve git bunların sırasını kendi başına belirleyemez. Dört veya beş oturumun çalıştığı gerçek bir kod tabanında bu durum; yönlendirme (route) tabloları, __init__.py dışa aktarımları, değişiklik günlükleri veya kilit (lock) dosyaları gibi her şeyin temas ettiği dosyalar için olağandır. Paylaşılan bir checkout'a kıyasla fark, çakışmanın artık net, görünür ve kaynağının kime ait olduğunun belli olmasıdır. Üç alışkanlık bu çakışmaları en aza indirir:

  1. Görevleri özelliğe göre değil, dosyalara göre bölün. İkisi de router dosyasına ihtiyaç duyan iki görev aslında tek bir görevdir ya da birbiri ardına çalıştırılması gereken iki ayrı görevdir.
  2. Sabit bir sırayla merge edin ve kalanları rebase yapın. İlk dalı birleştirin, ardından incelemeye geçmeden önce bir sonraki oturuma main dalı üzerine rebase yapmasını ve testlerini tekrar çalıştırmasını söyleyin. Kodu yazan oturum, kendi çakışmasını çözecek bağlama zaten sahiptir.
  3. Her worktree'ye görevine göre isim verin. Bir saat sonra git worktree list çıktısına baktığınızda claude -w fix-date-test ismi claude -w agent2 isminden katbekat daha açıklayıcıdır.

Asıl sınır genellikle git değildir; asıl sınır sizin beş farklı diff okumak zorunda kalmanızdır. Paralel ajanlarda insan incelemesinin neden darboğaz oluşturduğu üzerine yazdığımız makale, bu inceleme kuyruğunu nasıl ölçeklendireceğinizi ele alıyor.

Birden fazla Claude Code ajanı için alt ajanlar, ajan ekipleri veya ayrı oturumlar

Claude Code artık işleri paralel yürütmek için çeşitli yöntemler sunuyor ve paralel ajanlara genel bakış sayfası bunları yan yana sıralıyor. Bunlar birbirinin yerine doğrudan kullanılabilecek seçenekler değildir. En çok önem taşıyan sütun ise izolasyondur:

Ways to run multiple Claude Code agents and how each isolates files
Seçenek Ne çalışır Dosya izolasyonu Kullanım senaryosu
Subagents Her biri kendi bağlam penceresine sahip, tek bir oturum içindeki yardımcılar Alt ajan isolation: worktree olarak ayarlanmadığı sürece paylaşılan checkout Tek bir görevin ek araştırmaya, bir inceleme turuna veya paralel okumalara ihtiyaç duyduğu durumlar
/batch 5 ila 30 alt ajana bölünmüş tek bir değişiklik Alt ajan başına bir worktree Birçok dosyaya yayılan büyük ve mekanik bir değişiklik
Agent teams Bir görev listesini paylaşan ve birbiriyle mesajlaşan bir lider oturum ile takım arkadaşları Yok: dokümantasyon işin bölünmesini tavsiye eder Takım arkadaşlarının görev ortasında iletişim kurması gerektiğinde; deneyseldir, varsayılan olarak kapalıdır
Separate sessions (-w, --bg, Desktop) Bağımsız oturumlar Oturum başına bir worktree Tek tek inceleyeceğiniz bağımsız görevler
Cloud sessions (claude --cloud) Push ettiğiniz dalı klonlayan izole VM'lerdeki oturumlar Oturum başına bir sanal makine (VM) Dizüstü bilgisayarınızı meşgul etmemesi gereken işler

Bağımsız görevler için worktree'ler eşliğinde ayrı oturumlar kullanın. Parçaların birbirine bağlı olduğu ve takım arkadaşlarının karşılıklı uzlaşması gereken durumlarda ise ajan ekiplerini tercih edin; ancak her ekip üyesine farklı dosyalar atayın, çünkü ajan ekipleri sayfası bu konuda oldukça nettir: "Aynı dosyayı düzenleyen iki takım arkadaşı, değişikliklerin birbirinin üzerine yazılmasına yol açar." Hangi yöntemi seçerseniz seçin, kota kullanımı ortaktır. Ajan görünümü dokümantasyonu bunu açıkça ifade eder: "On ajanı paralel olarak çalıştırmak, kotayı tek bir ajan çalıştırmaya kıyasla kabaca on kat daha hızlı tüketir."

Birden fazla Claude Code ajanı çalıştırırken Sharkly nerede devreye girer?

Kendi dizüstü bilgisayarınızda iki veya üç oturum çalıştırıyor ve her diff'i kendiniz inceliyorsanız, yukarıdaki komutlar yeterlidir ve Sharkly'ye ihtiyaç duymayabilirsiniz. Ancak oturumlar birden fazla kişiye ait olduğunda veya "tarih testi düzeltmesi hangi oturumdaydı?" sorusuna yanıt bulmak düzeltmeyi yazmaktan daha uzun sürdüğünde dengeler değişir.

Zaten kodlama ajanlarına sahipsiniz; Sharkly onları bir ekibe dönüştürür. Her iş parçası bir Göreve dönüşür. Bunu Bilgisayarlarınızdan birindeki Claude Code Runtime üzerinde çalışan bir Ajana atarsınız ve Atanan Kişiyi belirlemek çalıştırmayı başlatır. Varsayılan çalışma dizini olan Create temporary directory seçeneğiyle, her Görev kendi dizinini edinir ve depo tabanlı çalıştırmalar izole bir git worktree elde eder: hiç kimsenin elle worktree isimlendirmesine gerek kalmadan, tıpkı claude -w ile sağlanan izolasyon gibi. Bir Ajanın yerel bir Bilgisayarda zaten mevcut olan bir ortamı yeniden kullanması gerektiğinde ise Run in isolated worktrees seçeneği, her Görevin sonucunu kendi agent/<agent>/<task> dalında sunar. Ajan üzerindeki Max concurrency (assigned tasks) ayarı, aynı anda en fazla kaç görevin çalışabileceğini sınırlar; bu da yukarıda bahsettiğimiz inceleme sınırının tüm ekibin görebileceği şekilde belirlenmesini sağlar.

İlerleme durumu, çalıştırma geçmişi ve sonuç Göreve aktarılır; bir insanın müdahalesini gerektiren her şey ise Gelen Kutusu'na düşer. Hiçbir şey kendi kendine birleştirilmez: bir insan worktree değişikliklerini inceler; bunları onaylar, birleştirir veya iptal eder ve Görevi Tamamlandı olarak işaretler. Sharkly token satmadığından, çalıştırmalar yine sizin mevcut Claude Code planınız üzerinden faturalandırılır. Kurulumu Ajanlar özellik sayfası gösterir, yürütme tarafını ise Sharkly'nin ajanları paralel olarak nasıl çalıştırdığı yazısı ele alır.

Üç terminalin ötesine geçtiyseniz ve her bir Claude Code oturumunun sonucunu bir incelemecinin kolayca üzerinden geçebileceği tek bir yerde toplamak istiyorsanız, Sharkly tam da bu problem için tasarlanmıştır.

Sıkça Sorulan Sorular

Aynı anda kaç Claude Code ajanı çalıştırabilirim? Dokümantasyon ayrı oturumlar için herhangi bir üst sınır koymaz. Alt ajanlar varsayılan olarak aynı anda en fazla 20 adet çalışır ve ajan ekipleri sayfası 3 ila 5 takım arkadaşıyla başlamayı önerir. Pratik sınırlar ise planınızın kullanım limitleri, dizüstü bilgisayarınızın işlemci ve bellek kapasitesi ve günde kaç sonucu inceleyebileceğinizdir; altıncı bir oturum eklemeden önce inceleme kapasitesi hesabını yapmakta fayda vardır.

Paralel Claude Code oturumları kullanım limitlerimi paylaşır mı? Evet. Pro ve Max planlarında, beş saatlik bir aralık ve haftalık bir sınırla birlikte kullanım limitleri Claude ve Claude Code arasında paylaşılır ve paralel her oturum aynı havuzdan harcar. ANTHROPIC_API_KEY tanımlanmışsa Claude Code harcamaları doğrudan API'ye faturalandırır.

claude --worktree komutu .env dosyamı ve bağımlılıklarımı kopyalar mı? Hayır. Her worktree tertemiz bir checkout'tur. .env gibi ihtiyaç duyduğunuz gitignored dosyaları .worktreeinclude dosyasına ekleyin ve her worktree'de kurulum adımınızı çalıştırın.

Aynı depoda Claude Code ve Codex'i paralel olarak çalıştırabilir miyim? Evet, yine aynı kural geçerlidir: oturum başına bir worktree ve belirli bir birleştirme sırası. Claude Code ve Codex'i tek bir kod tabanında birlikte çalıştırma rehberimiz bu sürecin yönlendirme tarafını ele almaktadır.

Daha fazlasını keşfedin

Gemini Omni 1.2 Flash API: Video Üretimini Ajanlarınızın Yürütebileceği Bir Göreve Dönüştürün

Gemini Omni 1.2 Flash API: Video Üretimini Ajanlarınızın Yürütebileceği Bir Göreve Dönüştürün

Gemini Omni 1.2 Flash API'sini takip edilen bir ajan çalışması olarak yürütün: Çağrı yapısı, brief, referans materyalleri, çok turlu düzenlemeler ve bir klip yayına alınmadan önceki insan incelemesi.

6 Kasım 2026

ChatGPT Images 2.6 ile Marka Maskotunuzu Nasıl Canlandırırsınız?

ChatGPT Images 2.6 ile Marka Maskotunuzu Nasıl Canlandırırsınız?

Marka maskotunuzu ChatGPT Images 2.6 ile canlandırın: Test edilmiş bir sprite sheet prompt'u, kusursuz bir döngü için kare hizalama ve ekip içi inceleme iş akışı.

6 Kasım 2026

Daha Ucuz Bir Model Ne Zaman Daha Pahalıya Mal Olur: Ajan Çalıştırmalarını Kabul Edilen Değişiklik Başına Fiyatlandırın

Daha Ucuz Bir Model Ne Zaman Daha Pahalıya Mal Olur: Ajan Çalıştırmalarını Kabul Edilen Değişiklik Başına Fiyatlandırın

Milyon token başına 0,10 dolarlık fiyatıyla GPT-6 Luna, deneme maliyetini düşürürken kullanıma sunulan her değişiklik başına deneme sayısını, çıktıyı ve alınan kararları artırıyor. Ajan çalıştırmalarını token başına değil, kabul edilen değişiklik başına fiyatlandırın.

6 Kasım 2026