Aynı anda üç dört Claude Code oturumu açık tutanlarımız az değil, kabul edelim. Bende de böyle: bir sekmede bir özellik yazdırıyorum, bir başkasında bug avlatıyorum, üçüncüsüne de “şuna bir bak” deyip unutuyorum. Sonra macOS’un bildirimi geliyor, hep aynı cümle: “Claude sizin girdinize bekliyor.” Hangi sekmeden geldiğini anlamak için tek tek tıklamak gerekiyor, beş altı sekme açıkken bu iş resmen angaryaya dönüşüyor.

Geçenlerde bir video izledim, cmux diye bir terminal uygulamasından bahsediyordu. Ghostty’nin motorunu kullanan, doğrudan AI ajanları için düşünülmüş bir macOS terminaliymiş. Videoyu izleyip biraz kurcaladıktan sonra şunu gördüm: cmux bir terminal daha değil, ajanlı çalışmanın gerçek sorunlarını çözmek için baştan tasarlanmış bir araç. Bu yazıda cmux’un ne olduğunu, tmux ya da iTerm’den farkını, tarayıcı kontrolü ve alt ajan oluşturma gibi özelliklerinin pratikte işe nasıl yaradığını ve kurulumda karşınıza çıkabilecek pürüzleri anlatacağım.

Cmux tam olarak ne, tmux’la ilgisi var mı?

İsmine bakıp ben de ilk anda “tmux’un yeni sürümü mü” diye düşündüm, ama alakası yok. Cmux, Swift ve AppKit ile yazılmış yerli bir Mac uygulaması; ekran render motoru olarak Ghostty’nin kütüphanesi libghostty’i kullanıyor. Electron değil, bu yüzden açılışı hızlı, bellek kullanımı da düşük kalıyor.

Kurulumdan sonra karşınıza çıkan şey gayet tanıdık bir terminal: sekmeler var, dikey yatay bölmeler var, mevcut Ghostty ayarlarınızı (tema, font, renk) olduğu gibi okuyor. Asıl fark görünümde değil; ajanla kurduğu iletişim biçiminde.

CLI ve soket API: ajan artık ekranı görüyor

Cmux’ta bir CLI ve bir Unix soket API’si var. Yani Claude Code (ya da başka bir ajan) çalışırken, doğrudan komut satırından cmux’a “yeni bir bölme aç,” “şu bölmede bir tarayıcı başlat,” “şu adrese git” gibi talimatlar geçebiliyor. Videodaki ilk örnek tam bunu gösteriyor: Claude’a cmux CLI’sını kullanarak bölünmüş bir pencerede tarayıcı açmasını, google.com’a gitmesini, arama kutusuna yazı yazıp aratmasını söylüyorlar. Claude bunu birebir yapıyor, arama sonuçlarındaki bir bağlantıya “şuna tıkla” dendiğinde onu da tıklıyor.

Şöyle bir benzetme yapayım: normal bir terminalde ajan sadece komut satırına yazı yazabilen kör bir asistan gibi. Cmux’ta elinde bir de fare var, ekranı görüyor, üzerinde gezinip tıklayabiliyor. Üstelik bu tarayıcı bölmesinin içinde geliştirici araçlarına (devtools) da erişimi var; ajan bir sayfada hata ayıklarken siz de aynı anda o hatayı canlı izleyebiliyorsunuz.

Terminalde bunx skills add komutuyla cmux skill'inin kurulduğu ekran görüntüsü
Cmux için hazırlanmış skill’i tek komutla kurmak mümkün; geliştiricisi ayrıca Claude ve tarayıcı skill’lerini de kurmayı öneriyor.

Bir ajan yetmiyorsa: alt ajanlar aynı ekranda

Bence videonun en ilginç kısmı burası. Cmux’a “kendi kendine iki kopya oluştur, biri projeyi anlamaya çalışsın, biri kodu analiz etsin, işleri bitince sonuçları bana özetleyip pencereleri kendileri kapatsın” dendiğinde, gerçekten iki ayrı bölme açılıyor ve her ikisinde de Claude’un ayrı bir örneği çalışmaya başlıyor. İşi bitince kendiliğinden kapanıyorlar, ana pencereye özet geliyor.

Kafanızda şu resim canlansın: bir proje yöneticisi iki stajyere aynı anda iki farklı görev veriyor, onlar çalışırken siz masanızda oturup ikisini de görebiliyorsunuz, iş bitince de raporu doğrudan size getiriyorlar. Kod incelemesi, mimari analiz, dokümantasyon kontrolü gibi birbirinden bağımsız işleri paralel yaptırmak isteyenler için gerçek bir zaman kazancı bu.

Cmux'ta ikinci alt ajanın kod analizi çıktısı: monorepo yapısı, Context API ile durum yönetimi ve API proxy yönlendirmesi listeleniyor
İkinci alt ajan projenin mimarisini kendi başına çıkarıp ana pencereye rapor ediyor: backend/frontend ayrımı, state yönetimi, port yönlendirmesi.

Bildirim sorunu: hangi ajan bana ihtiyaç duyuyor?

Yazının başında bahsettiğim dert tam burada çözülüyor. Cmux, terminal kaçış dizilerini (teknik dilde OSC 9/99/777 diye geçiyor) yakalayıp kendi bildirim sistemine çeviriyor. Bir ajan bir işleme takıldığında ya da sizden onay beklediğinde, o bölmenin kenarlığı mavi yanıp sönüyor, kenar çubuğundaki ilgili sekme de aydınlanıyor.

cmux notify diye bir komut da var; bunu Claude Code’un hook mekanizmasına bağlayıp “iş bittiğinde bana özel bir bildirim yaz” diyebiliyorsunuz. Videodaki örnekte geliştirici tam bunu yapıyor: bir ajana kod inceleme yaptırıyor, iş bitince cmux üzerinden kendine bildirim yazdırıyor, dikkat çekmesi için bölmenin kenarlığını da yanıp söndürüyor. Beş altı sekme açıkken hangisinin sizi gerçekten beklediğini anlamanın pratik yolu bu.

Cmux'ta çalışma alanı seçici ekranı: dotfiles reposundaki 27 klasör ve dosyanın listelendiği arayüz
Çalışma alanları arasında geçiş de klasör listesi kadar basit; her workspace kendi git dalını, bildirimini ve terminal geçmişini ayrı tutuyor.

Kurulumda karşınıza çıkabilecek pürüzler

Her şey kutudan çıktığı gibi kusursuz çalışmıyor, bunu baştan söyleyeyim. Videoyu hazırlayan kişi cmux’u hiçbir hook ya da skill kurmadan denediğinde Claude Code’un sandbox özelliğini kapatmak zorunda kalmış, aksi halde hata alıyormuş. Gerçek kullanım için birkaç ayar gerekiyor:

  • Cmux’un geliştiricisinin hazırladığı Claude ve tarayıcı skill’lerini kurmak işleri kolaylaştırıyor.
  • Bildirimlerin düzgün çalışması için Claude Code hook’larını elle bağlamak ya da kendi betiğinizi yazmak gerekiyor.
  • Şu an bunların hepsini otomatik kuran bir kurulum betiği yok; bu, projenin en büyük eksiği.

Bir de küçük bir gözlem: cmux, komut satırı ile uygulama arasındaki iletişimi Unix soketleri üzerinden JSON ile yapıyor. Kulağa teknik bir ayrıntı gibi gelse de pratikte fark yaratan şey bu; iletişim hafif kaldığı için ajan komutları neredeyse anında uygulanıyor, gecikme hissetmiyorsunuz.

Kimler için mantıklı, kimler için gereksiz

Günde yarım saat tek bir Claude Code penceresiyle çalışıyorsanız cmux size fazla gelir, kurulum zahmetine değmeyebilir. Ama benim gibi aynı anda birden fazla ajanı farklı görevlerde koşturuyorsanız, hangisinin sizi beklediğini anlamak için sekmeler arasında gezinmekten bıktıysanız, cmux tam da bu sorunu çözmek için var. Açık kaynak ve GPL lisanslı olması da ayrı bir artı; isterseniz kaynağına bakıp kendi ihtiyacınıza göre üzerine bir şeyler ekleyebilirsiniz.

Peki şimdi ne yapacaksınız?

Toparlarsak:

  • Cmux, Ghostty tabanlı, Swift/AppKit ile yazılmış yerli bir macOS terminali.
  • CLI ve Unix soket API’si sayesinde ajanlar tarayıcıyı kontrol edebiliyor, yeni bölmeler açabiliyor, birbirine iş devredebiliyor.
  • Bildirim sistemi hangi ajanın sizi beklediğini net şekilde gösteriyor.
  • Kurulumda hook ve skill ayarlarını elle yapmanız gerekiyor, otomatik kurulum betiği henüz yok.

Tek Claude Code sekmesiyle idare ediyorsanız acele etmeyin, ama üç dört ajanı aynı anda koşturuyorsanız bir göz atmaya değer. Sorularınız olursa yorumlarda buluşalım.

Yorum Bırakın

Bu site istenmeyenleri azaltmak için Akismet kullanır. Yorum verilerinizin nasıl işlendiğini öğrenin.