Onaylar

Claude Code (ve Codex) izin isteklerini telefonunuzdan onaylamak

Bir ajanın ilerlemeyi bırakmasının olağan nedeni, kimsenin görmediği bir izin isteğidir. Birini cebinizden yanıtlamanın üç yolu var: Claude Code'un kendi anlık bildirimleri, kendin yap bir ntfy hook'u ya da gelen kutusu olan bir uygulama. Her birinin Claude Code için nasıl çalıştığı, Codex ve diğer ajanlarda neyin değiştiği ve güvenlik açısından her birinin size neye mal olduğu burada.

Claude Code (ve Codex) izin isteklerini telefonunuzdan onaylamak

Kısa yanıt

Pro, Max, Team veya Enterprise planıyla Remote Control'ü başlatın ve /config içinde Push when actions required seçeneğini açın. Claude uygulaması size bildirim gönderir ve isteği uygulamada yanıtlarsınız. Ücretsiz, kendiniz barındırdığınız bir alternatif için claude-remote-approver gibi açık kaynak hook'lar her PermissionRequest'i Approve/Deny düğmeleriyle ntfy'ye gönderir. Codex'te de aynı PermissionRequest hook'u var. Maude gibi uygulamalar birkaç ajanın isteklerini, İzin ver/Reddet içeren anlık bildirimlerle tek bir gelen kutusunda gösterir.

Claude Code önceden onaylamadığınız bir komutu çalıştırmak veya bir dosyayı düzenlemek istediğinde durur ve sorar. Terminalin başındaysanız bu bir saniye sürer. Değilseniz oturum bekler; bu da tek bir tuşa basılması için bir saat beklemek anlamına gelebilir. Her uzaktan onay kurulumu isteği telefonunuza, yanıtınızı da ajana geri taşır. Farkları, isteğin nasıl yakalandığında, nereye gittiğinde ve kimin yanıtlayabildiğindedir.

Uzaktan onaylar nasıl çalışır

İki mekanizma var ve her araç bunlardan birini kullanıyor.

  • Ajanın kendi uzak protokolü. Claude Code'un Remote Control'ü gerçek izin iletişim kutusunu Claude uygulamasına iletir. Antigravity'nin Remote Control'ü ve Codex'in app-server'ı da aynı şekilde çalışır. Ortada hiçbir şey karar vermez: ajanın kendi isteğini yanıtlarsınız.
  • Hook'lar. Claude Code, yapılandırdığınız bir programı belirli noktalarda çalıştırır. Bir PermissionRequest hook'u, bir izin iletişim kutusu görünmek üzereyken tetiklenir ve {"behavior": "allow"} veya "deny" gibi bir karar yazdırarak sizin yerinize yanıt verebilir. Bir PreToolUse hook'u her araç çağrısından önce tetiklenir ve allow, deny, ask veya defer döndürebilir. Bir bildirim gönderip dokunmanızı bekleyen bir hook, her kendin yap telefondan onay aracının çalışma şeklidir. Ayrıntılar hook başvurusunda.

Claude Code'da yerel bildirimler

Anthropic'in kendi yolu Remote Control'den geçer:

  1. Bir oturumu claude remote-control (sunucu modu) veya claude --remote-control ile başlatın ya da çalışan bir oturumda /remote-control yazın.
  2. Telefonunuzdaki Claude uygulamasında aynı hesapla oturum açın ve bildirimlere izin verin.
  3. Terminalde /config çalıştırın ve izin isteklerini ve soruları kapsayan Push when actions required seçeneğini açın. Push when Claude decides ise "testler bitti" gibi proaktif güncellemeleri kapsar.

Belgeler karşılaşacağınız birkaç noktaya değiniyor:

  • Planlar ve kimlik doğrulama. Remote Control Pro, Max, Team ve Enterprise'da mevcuttur ve API anahtarları desteklenmez. Team ve Enterprise'da bir Owner'ın onu açması gerekir.
  • İstekler zaman aşımına uğramaz. İzin istekleri ve sorular siz yanıtlayana kadar açık kalır.
  • Terminalin başındayken bildirimler duraklar. Claude Code, bağlı terminalde yazarken veya terminal odaktayken bildirim göndermez. CLAUDE_CLIENT_PRESENCE_FILE bunu makinenin başında olduğunuz her duruma genişletir.
  • Sürecin canlı kalması gerekir. claude sürecinin çalışmaya devam etmesi gerekir; bu yüzden bir sunucuda onu tmux içinde başlatın.
  • Bazı modlar uygulamadan seçilemez. Mobil belgelere göre uygulamadan Bypass permissions'ı ya da bir Remote Control oturumu için Auto'yu seçemezsiniz.

Bir Claude planınız varsa ve yalnızca Claude Code kullanıyorsanız buradan başlayın. Planınızla ücretsizdir ve Anthropic tarafından sürdürülür.

ntfy hook'larıyla kendin yap

ntfy açık kaynak bir bildirim hizmetidir. Düz bir HTTP isteğiyle bir konuya yayın yaparsınız ve telefonunuzdaki ntfy uygulaması bunu gösterir. Birkaç açık kaynak proje onu bir PermissionRequest hook'uyla eşleştiriyor. Hook bekleyen araç çağrısını eylem düğmeleriyle konunuza gönderir, ikinci bir konuda dokunmanızı bekler ve kararı Claude Code'a geri yazdırır. Hakkını teslim edelim:

ProjeHookYanıt vermezsenizNotlar
claude-remote-approver (yuuichieguchi)PermissionRequest120 sn sonra (plan incelemeleri için 300 sn) terminal istemine geri dönernpm install -g claude-remote-approver; 128 bitlik rastgele bir konu oluşturur; Approve / Always Approve / Deny
claude-push (coa00)PermissionRequest90 sn sonra (yapılandırılabilir) terminale geri dönerKabuk kurulum betiği; Allow / Deny
claude-code-phone-notifications (ssarnecki)PermissionRequest, PreToolUse, StopYaklaşık 9 dakika bekler, sonra terminale geri dönerMasa başındaysanız diye bildirim göndermeden önce 30 sn bekler; AskUserQuestion isteklerini de gönderir (düğmesiz)
hookline (tsyche)Claude için PreToolUse; Codex için PermissionRequestVarsayılan 15 dakika, geç yanıtlar için daha uzun bir pencereyleCodex, Grok ve OpenCode'u da kapsar; kimlik bilgileriyle kendi barındırdığınız bir ntfy'yi destekler

Dördü de MIT lisanslı. Zaman aşımları belgelenmiş varsayılan değerleri. Uzaktan yanıt vermeden yalnızca bir uyarı istiyorsanız Claude Code'un Notification hook'u yeterli. permission_prompt eşleştiricisi bir iletişim kutusu göründüğünde tetiklenir:

{
  "hooks": {
    "Notification": [
      {
        "matcher": "permission_prompt",
        "hooks": [
          { "type": "command",
            "command": "curl -s -d 'Claude Code is waiting for approval' https://ntfy.sh/your-long-random-topic" }
        ]
      }
    ]
  }
}

Bunu Claude Code'u çalıştıran makinedeki ~/.claude/settings.json dosyasına koyun. Yanıt vermek için yine bir terminale ulaşmanız gerekecek. Yukarıdaki projeler yanıt yolunu ekliyor.

Maude'un gelen kutusu

Maude ilk yaklaşımı benimser. Sunucunuzdaki daemon'ı her ajanın kendi protokolüyle konuşur; bu yüzden bir izin isteği uygulamaya bir hook tahmini olarak değil, gerçek istek olarak ulaşır. Her sunucudaki her oturumdan gelen istekler, hataların ve biten işlerin yanında tek bir gelen kutusuna düşer. Orada satır içinde ya da İzin ver ve Reddet içeren anlık bildirimden doğrudan yanıt verebilirsiniz. Bir istek siz yanıtlayana kadar bekler; oturum zaman aşımına uğrayıp sizsiz devam etmez. Claude Code, Codex, OpenCode ve Grok Build için çalışır. İstisna Antigravity'dir: headless agy bir araç çalışmadan önce duramaz; bu yüzden Maude reddedilen eylemi sonradan gösterir ve izin verirseniz yeniden dener. Maude ücretli bir uygulamadır ve her ajanın kendi hesabına ihtiyacı vardır. Gelen kutusu ve bildirimi olan tek uygulama değil: diğerlerinin yanı sıra Happier'da ikisi de var.

Codex ve diğer ajanlar

  • Codex'in de varsayılan olarak etkin hook'ları var. Bir PermissionRequest hook'u "behavior": "allow" veya "deny" ile yanıt verebilir, PreToolUse ise reddedebilir. Bunlar ~/.codex/hooks.json içinde ya da config.toml içindeki [hooks] bölümünde durur. hookline'ın Codex için kullandığı şey bu. Codex'in eski notify ayarı, bir tur tamamlandığında bir program çalıştırır. Üçüncü taraf yazılar onun onay istekleri için tetiklenmediğini bildiriyor; bu yüzden onaylar için hook'ları kullanın. Codex'in resmi telefon uygulaması yolu ve Linux sınırları için VPS'te Codex CLI yazısına bakın.
  • Antigravity, onu etkileşimli olarak veya daemon olarak çalıştırdığınızda istekleri Remote Control panelinden yanıtlar. Headless agy sormak yerine reddeder. Sunucuda Antigravity CLI yazısına bakın.
  • OpenCode ve Grok Build, hookline'ın eklenti ve hook desteğiyle ya da çok ajanlı uygulamalarla kapsanır.

Uzaktan onayların güvenliği

Telefonunuzdan verilen bir onay, istek ile dokunuşunuz arasındaki en zayıf halka kadar güçlüdür.

  • ntfy.sh'de konu, paroladır. ntfy'nin belgeleri bunu doğrudan söylüyor: kayıt olmadan, bir konu adını bilen herkes onu okuyabilir ve ona yayın yapabilir. Herkese açık bir sunucuda tahmin edilen bir konu, başka birinin ajanınızın komutlarını onaylayabileceği anlamına gelir. Uzun, rastgele bir konu kullanın ya da kimlik doğrulamalı kendi ntfy'nizi barındırın.
  • Başlığı değil, komutu okuyun. Kilit ekranındaki bir bildirim bir özet gösterir. Uzun bir Bash satırının içindeki rm -rf, 6 inçlik bir ekranda kolayca gözden kaçar. "Her zaman izin ver"i Bash(*) için değil, salt okunur araçlar için kullanın.
  • Geri dönüş davranışınızı bilin. Yukarıdaki kendin yap hook'lar zaman aşımında terminal istemine geri döner; bu yüzden yanıtlanmamış bir istek otomatik onaylamak yerine engeller. Kendi hook'unuzu aynı kuralla yazın. Claude Code'un belgeleri, zaman aşımına uğrayan bir PreToolUse hook'unun araç çağrısını engellemediği, çağrının normal izin akışından devam ettiği konusunda uyarıyor; bu yüzden takılmış bir hook'a kapı gözüyle bakmayın.
  • Kanalı kilitleyin. Onay trafiği ajanınızın ne yaptığını ortaya koyar. Anthropic'in Remote Control'ü Anthropic'in sunucularından geçer, Maude'un relay'i ise yalnızca uçtan uca şifreli trafik görür. Bir hook ile nereye gideceğini siz seçersiniz. Anthropic'in Require trusted devices ayarı, hangi cihazların Remote Control'ü kullanabileceğini sınırlar.
  • Onaylar bir güvenlik ağıdır, sandbox değil. Ajanı yeniden kurabileceğiniz bir makinede root olmayan bir kullanıcı olarak çalıştırmak, herhangi bir onay arayüzünden daha önemlidir. Ajanları tam izinlerle güvenle çalıştırma yazısına bakın.

Maude'dan yanıtlayın

Ajanlarınız bir sunucuda çalışıyorsa ve hepsini tek bir yerden yanıtlamak istiyorsanız, Maude'u Claude Code veya Codex ile deneyin. Sunucuyu uygulamadan ekleyin, kendi planınızla oturum açın; izin istekleri İzin ver ve Reddet içeren anlık bildirimler olarak gelir. Gelen kutusu sizi bekleyen her şeyi toplar.

Sıkça sorulan sorular

Claude Code anlık bildirim gönderebilir mi?
Evet, Remote Control üzerinden. Oturumu Claude uygulamasına bağlayın, ardından /config içinde Push when actions required (ve isteğe bağlı olarak Push when Claude decides) seçeneğini açın. Pro, Max, Team veya Enterprise planı gerektirir; API anahtarıyla girişler desteklenmez.
Kilit ekranından İzin ver veya Reddet diyebilir miyim?
ntfy tabanlı hook'larla evet: bildirime Approve/Deny eylem düğmeleri eklerler. Anthropic'in belgeleri izin istekleri için bildirimleri anlatıyor, ancak bildirimin kendisinde yanıt düğmelerinden söz etmiyor; bu yüzden Claude uygulamasında yanıt vermeyi bekleyin. Maude'un izin bildirimlerinde İzin ver ve Reddet eylemleri bulunur.
Yanıt vermezsem ne olur?
Claude Code'un kendisinde izin istekleri yanıtlanana kadar açık kalır, yani oturum sadece bekler. Kendin yap ntfy hook'ları yapılandırılmış sürelerinin sonunda zaman aşımına uğrar ve normal terminal istemine geri döner. Yazdığınız her hook'un kapalı başarısız olduğunu kontrol edin: zaman aşımına uğrayan bir PreToolUse hook'u araç çağrısını engellemez.
Bu Codex için çalışır mı?
Evet. Codex, izin verebilen veya reddedebilen bir PermissionRequest hook'unu destekler ve hookline gibi projeler onu Codex onaylarını ntfy'ye yönlendirmek için kullanır. Üçüncü taraf raporlara göre Codex'in notify ayarı yalnızca biten turları kapsar; bu yüzden onaylar için hook'ları kullanın.
Komutları telefonumdan onaylamak güvenli mi?
Kanal ve dikkatiniz kadar güvenlidir. Tahmin edilemeyen veya kimlik doğrulamalı bir ntfy konusu kullanın, onaylamadan önce komutun tamamını okuyun, kabuk komutları için toptan "her zaman izin ver" kurallarından kaçının ve ajanı yeniden kurabileceğiniz bir makinede root olmayan bir kullanıcı olarak çalıştırın.

Neler değişti

  • — İlk yayın. Remote Control ve hook davranışları Anthropic ve OpenAI belgeleriyle karşılaştırılarak kontrol edildi; depo ayrıntıları ve varsayılanlar bu tarihte her projenin README dosyasından alındı.

İzin isteklerini kaçırmayı bırakın

Her sunucudaki her ajan için bildirimden İzin ver veya Reddet. iOS ve Android.

Download Maude on the App Store Get Maude on Google Play