Codex sürekli onay mı istiyor? Onay politikaları, sandbox ve “don’t ask again” açıklaması
Codex, bir komutun sandbox dışına çıkması gerektiğinde onay ister. “Sürekli soruyor” şikayetlerinin çoğu fazla sıkı bir sandbox'tan, artık var olmayan bir ayardan veya sadece oturum boyunca geçerli olan bir “don’t ask again” cevabından kaynaklanır.
KISA CEVAP
Güncel Codex'te approval_policy değeri on-request (varsayılan: model ihtiyaç duyduğunda sorar), never veya bir granular tablosudur; untrusted kaldırıldı ve on-failure artık on-request için başka bir addan ibaret. Ne sıklıkla sorulacağını büyük ölçüde sandbox belirler: sandbox_mode = "workspace-write" ile Codex projenin içinde sormadan düzenleme yapar ve komut çalıştırır. Her zaman güvendiğin komutlar için ~/.codex/rules/default.rules dosyasına decision = "allow" içeren bir prefix_rule ekle. “Don’t ask again for commands that start with …” seçeneği de kendini oraya kaydeder.
Önce: Codex'te neler değişti
Birçok rehber ve forum cevabı artık çalışmayan ayarları anlatıyor. Herhangi bir şeyi ayarlamadan önce ~/.codex/config.toml dosyanı bu listeyle karşılaştır:
| Eski ayar | Bugün |
|---|---|
approval_policy = "untrusted" | Kaldırıldı. Codex şunu bildirir: “approval_policy = "untrusted" is no longer supported; remove this setting” (artık desteklenmiyor, bu ayarı kaldır). Dokümanlar bunun yerine on-request ile birlikte sandbox_mode = "read-only" öneriyor. |
approval_policy = "on-failure" | Hâlâ kabul ediliyor, ama sadece on-request için bir takma ad olarak. |
--full-auto | Artık CLI referansında yok. En yakın flag --approve-for-me (takma adı --not-so-yolo): on-request ve workspace-write sandbox'ı ile otomatik onay incelemesi. |
config.toml içinde [profiles.name] | Codex 0.134.0'dan beri --profile name bunun yerine $CODEX_HOME/name.config.toml dosyasını okur. Arta kalan bir profile = "x" anahtarı artık hata verir. |
/approvals | /permissions kullan (“Set what Codex can do without asking first.”) |
Codex'in dokümantasyonu da taşındı: eski developers.openai.com/codex sayfaları artık learn.chatgpt.com adresine yönlendiriyor.
Codex sormaya nasıl karar verir
İki ayar birlikte çalışır. Sandbox, bir komutun neye dokunabileceğini sınırlar: proje dışındaki dosyalar, ağ. Onay politikası ise bir komutun sandbox'ın izin verdiğinden fazlasına ihtiyaç duyduğunda ne olacağını belirler.
| sandbox_mode | Codex'in sormadan yapabildikleri |
|---|---|
read-only (varsayılan) | Salt okunur bir sandbox içinde dosya okuma ve komut çalıştırma |
workspace-write | Çalışma dizininde otomatik olarak okuma, düzenleme ve komut çalıştırma |
danger-full-access | Her şey, sandbox olmadan. Önerilmez |
| approval_policy | Davranış |
|---|---|
on-request (varsayılan) | Ne zaman soracağına model karar verir. Sandbox'ın izin verdiği komutlar onaysız çalışır |
never | Asla sormaz. Başarısız olan her şey sana iletilmez, modele geri döner |
{ granular = { … } } | Bazı istem kategorilerini etkileşimli tutar, geri kalanını otomatik reddeder (sandbox_approval, rules, skill_approval, request_permissions, mcp_elicitations) |
Yani read-only modundaysan her düzenleme bir “evet” ister. “Codex her şeyi soruyor” sorununun en yaygın tek sebebi budur. workspace-write modunda bile .git, .codex, .agents ve .aws salt okunur kalır ve sen açmadıkça ağ erişimi kapalıdır.
OpenAI dokümanlarındaki örnek yapılandırma, çalışma alanı seçeneklerinin açıklamalarıyla birlikte:
Yeni sürümler ayrıca izin profilleri de sunar (yerleşik :read-only, :workspace ve :danger-full-access ile default_permissions). Ya profilleri ya da sandbox_mode ayarını kullan, ikisini birden değil.
CLI, IDE eklentisi ve uygulamadaki hazır ayarlar
TOML düzenlemek zorunda değilsin. CLI'da /permissions hazır ayarları açar; uygulamada ve IDE eklentisinde mesaj yazma alanının altında bir izin kontrolü bulunur. CLI hazır ayarları şunlardır:
- Read Only: çalışma alanını okur; dosya düzenlemek veya internete erişmek için onay gerekir.
- Default: çalışma alanı içinde düzenleme yapar; internete erişmek veya başka dosyaları düzenlemek için onay gerekir.
- Full Access: sormadan çalışma alanı dışında düzenleme yapar ve internete erişir.
Uygulama ve IDE eklentisi aynı seçimi Ask for approval, Approve for me ve Full access olarak adlandırır. Eski IDE ekran görüntülerinde bunlar Chat, Agent ve Agent (Full Access) olarak geçer.
Kurallarla belirli komutlara izin ver
Codex'in tek bir komutu (örneğin gh pr view) sandbox dışında sormadan çalıştırmasını istiyorsan bir kural yaz. Kurallar deneyseldir ve bir yapılandırma katmanının yanındaki rules/ klasöründe bir .rules dosyasında bulunur, örneğin ~/.codex/rules/default.rules:
allow: sormadan sandbox dışında çalıştırır.prompt: eşleşen her komuttan önce sorar.forbidden: sormadan engeller.
Birden fazla kural eşleşirse en kısıtlayıcı olan kazanır: forbidden, prompt kuralını yener, o da allow kuralını. Bir kurala güvenmeden önce komutu codex execpolicy check ile test et.
“Don’t ask again” gerçekte neyi kaydeder
Codex CLI'daki onay istemi farklı türde “evet” seçenekleri sunar ve bunların geçerlilik süreleri çok farklıdır:
| Seçenek | Ne kadar sürer |
|---|---|
| Yes, proceed | Sadece bu komut |
Yes, and don’t ask again for commands that start with <prefix> | Kalıcı olarak (~/.codex/rules/default.rules dosyasına kural olarak yazılır) |
| Yes, and don’t ask again for this command in this session | Oturum bitene kadar |
| Yes, and don’t ask again for these files | Dosya düzenlemeleri, bu oturum için |
Oturum seçeneğini seçmeye devam edersen yarın yine sorulur. Ön ek (prefix) seçeneğini seç veya kuralı kendin yaz.
Windows'ta Codex
“Her şeyi soruyor” sorunu en çok Windows'ta yaşanıyordu. #10187 numaralı issue'da bir OpenAI ekip üyesi nedenini açıkladı: “Without a sandboxing mechanism, all tool calls need to be manually approved on Windows.” (Bir sandbox mekanizması olmadan Windows'ta tüm araç çağrılarının elle onaylanması gerekir.) Codex'in artık yerel bir Windows sandbox'ı var ve varsayılan olarak onu kullanıyor:
mxc: uyumlu Windows cihazlarında önerilen sandbox.elevated: MXC kullanılamadığında tercih edilen yedek.unelevated: eski bir yedek.
Yükseltilmiş sandbox'ı kurmak için CLI'da /setup-default-sandbox çalıştır (BT ekipleri için codex sandbox setup --elevated). Windows 11 önerilir; Windows 10 1809 veya daha yenisinde çalışması hedeflenir ama garanti edilmez. WSL'de çalışıyorsan Codex orada Linux sandbox'ını kullanır ve WSL1 artık desteklenmiyor.
Proje yapılandırması sadece güvenilen projelerde yüklenir
Bir repo içindeki .codex/config.toml sadece projeye güvendiğinde okunur. Proje ayarların yok sayılıyor gibi görünüyorsa sebebi budur. Kullanıcı yapılandırmandaki bir güven girdisi şöyle görünür:
Ayarlar katmanlıdır, en yüksekten başlayarak: komut satırı flag'leri ve -c geçersiz kılmaları, güvenilen projenin .codex/config.toml dosyası, --profile dosyası, ~/.codex/config.toml dosyan ve son olarak sistem varsayılanları.
--yolo hakkında
--dangerously-bypass-approvals-and-sandbox (takma adı --yolo) her komutu onay ve sandbox olmadan çalıştırır. Kaynak kod bunu şöyle tanımlar: “EXTREMELY DANGEROUS. Intended solely for running in environments that are externally sandboxed.” (SON DERECE TEHLİKELİ. Sadece harici olarak sandbox'a alınmış ortamlarda çalıştırmak için.) Yapılandırma dosyasında danger-full-access ile birlikte approval_policy = "never" aynı şeyi yapar. Sadece daha az istem istiyorsan workspace-write ve birkaç allow kuralı, sandbox açık kalırken seni oraya götürür.
Tuttuğun istemler için
Codex sadece önemli şeyleri (ağ, proje dışındaki dosyalar, bir push) sormaya başladığında geriye kalan sorun, sorunun farkına varmaktır. Pet Island, Codex'in komut ve dosya düzenleme onaylarını komut veya diff ile birlikte ekranının üstündeki küçük bir adaya koyar; böylece doğru terminali aramadan izin verebilir veya reddedebilirsin. Codex'in çalıştığını ve bittiğini gösterir, Codex soruları da tek tıkla seni doğru pencereye götürür. Codex CLI ve Codex uygulamasıyla çalışır; ada kapalıysa Codex her zamanki gibi kendi penceresinde sorar.
SSS
Codex'in sürekli onay istemesini nasıl durdururum?
Codex'in projenin içinde düzenleme yapıp komut çalıştırabilmesi için sandbox_mode = "workspace-write" kullan, approval_policy = "on-request" olarak bırak ve her zaman güvendiğin komutlar için ~/.codex/rules/default.rules dosyasına decision = "allow" içeren prefix_rule girdileri ekle.
approval_policy = "untrusted" hâlâ destekleniyor mu?
Hayır. Güncel Codex bunu “approval_policy = "untrusted" is no longer supported; remove this setting” hatasıyla reddeder. Bunun yerine approval_policy = "on-request" ile birlikte sandbox_mode = "read-only" kullan.
--full-auto'ya ne oldu?
Artık Codex CLI referansında yok. En yakın seçenek --approve-for-me (takma adı --not-so-yolo); on-request ve workspace-write sandbox'ı ile otomatik onay incelemesi kullanır.
“Don’t ask again” neden kalıcı olmuyor?
“Don’t ask again for this command in this session” sadece oturum boyunca geçerlidir. ~/.codex/rules/default.rules dosyasına bir kural kaydeden “don’t ask again for commands that start with …” seçeneğini seç.
Codex neden Windows'ta daha çok soruyor?
Sandbox olmadan her araç çağrısı onay gerektirir. Codex artık varsayılan olarak yerel bir Windows sandbox'ı kullanıyor; kurulu değilse /setup-default-sandbox çalıştır.
Projemdeki .codex/config.toml neden yok sayılıyor?
Codex proje yapılandırmasını sadece güvenilen projeler için yükler.
Kaynaklar
Bu sayfadaki her ayar ve davranış 26 Ekim 2026 tarihinde bu sayfalarla karşılaştırılarak kontrol edildi. Ajanlar hızlı değişir; bir şey artık uyuşmuyorsa geçerli olan resmi sayfadır.
- OpenAI: Codex agent approvals and security
- OpenAI: Codex permission modes
- OpenAI: Codex config basics
- OpenAI: Codex sample config
- OpenAI: Codex rules
- OpenAI: Codex Windows sandbox
- OpenAI: Codex CLI reference
- OpenAI: Codex slash commands
- openai/codex kaynak kodu (onay istemi, yapılandırma hataları)
- Issue #10187: Codex komut onayını tekrar tekrar istiyor
- Issue #5131: Dosya düzenlemelerini her zaman onaylamak gerekiyor
- Issue #29406: “Don’t ask again” seçeneğine rağmen onay istemi devam ediyor