Codex बार-बार approval माँगता है? Approval policies, sandbox और “don’t ask again” की पूरी जानकारी
Codex तब approval माँगता है जब किसी command को उसके sandbox से बाहर जाना हो। “यह बार-बार पूछता है” वाली ज़्यादातर शिकायतों की वजह होती है: बहुत ज़्यादा सख़्त sandbox, कोई ऐसी setting जो अब मौजूद नहीं है, या ऐसा “don’t ask again” जो सिर्फ़ उसी session तक चला।
संक्षेप में
मौजूदा Codex में approval_policy की value on-request (default: model ज़रूरत पड़ने पर पूछता है), never, या एक granular table होती है; untrusted हटा दिया गया है और on-failure अब बस on-request का दूसरा नाम है। आपसे कितनी बार पूछा जाएगा, यह ज़्यादातर sandbox तय करता है: sandbox_mode = "workspace-write" के साथ Codex आपके project के अंदर बिना पूछे फ़ाइलें edit करता है और commands चलाता है। जिन commands पर आप हमेशा भरोसा करते हैं, उनके लिए ~/.codex/rules/default.rules में decision = "allow" के साथ एक prefix_rule जोड़ें। “don’t ask again for commands that start with …” वाला जवाब भी वहीं सेव होता है।
पहले: Codex में क्या बदला
कई गाइड और forum जवाब ऐसी settings बताते हैं जो अब काम नहीं करतीं। कुछ भी ट्यून करने से पहले अपनी ~/.codex/config.toml को इस list से मिलाएँ:
| पुरानी setting | आज |
|---|---|
approval_policy = "untrusted" | हटा दिया गया। Codex यह संदेश देता है: “approval_policy = "untrusted" is no longer supported; remove this setting” (अब समर्थित नहीं है; यह setting हटाएँ)। Docs इसकी जगह on-request के साथ sandbox_mode = "read-only" सुझाते हैं। |
approval_policy = "on-failure" | अब भी स्वीकार किया जाता है, लेकिन सिर्फ़ on-request के alias के रूप में। |
--full-auto | अब CLI reference में नहीं है। सबसे क़रीबी flag --approve-for-me है (alias --not-so-yolo): on-request और workspace-write sandbox के साथ automatic approval review। |
config.toml के अंदर [profiles.name] | Codex 0.134.0 से --profile name इसकी जगह $CODEX_HOME/name.config.toml पढ़ता है। बचा हुआ profile = "x" key अब error देता है। |
/approvals | /permissions इस्तेमाल करें (“Set what Codex can do without asking first.”, यानी तय करें कि Codex पहले पूछे बिना क्या कर सकता है) |
Codex के docs भी जगह बदल चुके हैं: पुराने developers.openai.com/codex पेज अब learn.chatgpt.com पर redirect होते हैं।
Codex कैसे तय करता है कि पूछना है
दो settings साथ मिलकर काम करती हैं। Sandbox यह सीमित करता है कि कोई command किन चीज़ों तक पहुँच सकता है: project के बाहर की फ़ाइलें, network। Approval policy यह तय करती है कि जब किसी command को sandbox की अनुमति से ज़्यादा चाहिए, तब क्या होगा।
| sandbox_mode | Codex बिना पूछे क्या कर सकता है |
|---|---|
read-only (default) | Read-only sandbox में फ़ाइलें पढ़ना और commands चलाना |
workspace-write | Working directory में अपने आप पढ़ना, edit करना और commands चलाना |
danger-full-access | सब कुछ, बिना sandbox के। सुझाया नहीं जाता |
| approval_policy | व्यवहार |
|---|---|
on-request (default) | Model तय करता है कि कब पूछना है। Sandbox जिन commands की अनुमति देता है वे बिना approval के चलते हैं |
never | कभी नहीं पूछता। जो भी fail होता है वह model को लौटा दिया जाता है, आप तक escalate नहीं होता |
{ granular = { … } } | कुछ prompt categories को interactive रखें और बाक़ी को अपने आप reject करें (sandbox_approval, rules, skill_approval, request_permissions, mcp_elicitations) |
तो अगर आप read-only में हैं, तो हर edit के लिए हाँ कहना पड़ेगा। “Codex हर चीज़ के बारे में पूछता है” की यही सबसे आम वजह है। workspace-write में भी .git, .codex, .agents और .aws read-only रहते हैं, और network access तब तक बंद रहता है जब तक आप उसे चालू न करें।
यह OpenAI के docs से लिया गया sample configuration है, workspace options की व्याख्या के साथ:
नए versions permission profiles भी देते हैं (default_permissions, जिसमें built-in :read-only, :workspace और :danger-full-access हैं)। या तो profiles इस्तेमाल करें या sandbox_mode, दोनों नहीं।
CLI, IDE extension और app में presets
आपको TOML edit करने की ज़रूरत नहीं है। CLI में /permissions presets खोलता है; app और IDE extension में composer के नीचे एक permissions control है। CLI presets ये हैं:
- Read Only: workspace पढ़ता है; फ़ाइलें edit करने या internet इस्तेमाल करने के लिए approval ज़रूरी है।
- Default: workspace के अंदर edit करता है; internet इस्तेमाल करने या दूसरी फ़ाइलें edit करने के लिए approval ज़रूरी है।
- Full Access: workspace के बाहर edit करता है और बिना पूछे internet इस्तेमाल करता है।
App और IDE extension इन्हीं विकल्पों को Ask for approval, Approve for me और Full access कहते हैं। IDE के पुराने screenshots में इन्हें Chat, Agent और Agent (Full Access) कहा गया है।
Rules से ख़ास commands को allow करें
जब आप चाहते हैं कि Codex कोई एक command sandbox के बाहर बिना पूछे चलाए (जैसे gh pr view), तो एक rule लिखें। Rules experimental हैं और किसी config layer के बगल में rules/ folder के अंदर .rules फ़ाइल में रहते हैं, जैसे ~/.codex/rules/default.rules:
allow: बिना prompt के sandbox के बाहर चलाएँ।prompt: हर match होने वाले command से पहले पूछें।forbidden: बिना पूछे block करें।
जब कई rules match करते हैं, तो सबसे सख़्त rule जीतता है: forbidden prompt से ऊपर है, जो ख़ुद allow से ऊपर है। किसी rule पर भरोसा करने से पहले codex execpolicy check से command को टेस्ट करें।
“don’t ask again” असल में क्या सेव करता है
Codex CLI का approval prompt अलग-अलग तरह की “हाँ” देता है, और वे बहुत अलग-अलग समय तक चलती हैं:
| विकल्प | कितने समय तक चलता है |
|---|---|
| Yes, proceed (हाँ, आगे बढ़ें) | सिर्फ़ यही एक command |
Yes, and don’t ask again for commands that start with <prefix> (हाँ, और इस prefix से शुरू होने वाले commands के लिए दोबारा न पूछें) | हमेशा के लिए (~/.codex/rules/default.rules में rule के रूप में लिखा जाता है) |
| Yes, and don’t ask again for this command in this session (हाँ, और इस session में इस command के लिए दोबारा न पूछें) | Session ख़त्म होने तक |
| Yes, and don’t ask again for these files (हाँ, और इन फ़ाइलों के लिए दोबारा न पूछें) | फ़ाइल edits, इस session के लिए |
अगर आप बार-बार session वाला विकल्प चुनते हैं, तो कल आपसे फिर पूछा जाएगा। Prefix वाला विकल्प चुनें, या rule ख़ुद लिखें।
Windows पर Codex
“यह हर चीज़ के लिए पूछता है” वाली समस्या Windows पर सबसे ज़्यादा थी। Issue #10187 में OpenAI टीम के एक सदस्य ने इसकी वजह बताई: “Without a sandboxing mechanism, all tool calls need to be manually approved on Windows.” (Sandboxing mechanism के बिना Windows पर हर tool call को हाथ से approve करना पड़ता है)। अब Codex के पास native Windows sandbox है और वह default रूप से उसे इस्तेमाल करता है:
mxc: compatible Windows devices पर सुझाया गया sandbox।elevated: MXC उपलब्ध न होने पर पसंदीदा fallback।unelevated: एक पुराना (legacy) fallback।
Elevated sandbox सेट करने के लिए CLI में /setup-default-sandbox चलाएँ (या IT के लिए codex sandbox setup --elevated)। Windows 11 सुझाया जाता है; Windows 10 1809 या नए पर support best-effort है। अगर आप WSL में काम करते हैं, तो Codex वहाँ अपना Linux sandbox इस्तेमाल करता है, और WSL1 अब supported नहीं है।
Project config सिर्फ़ trusted projects में load होता है
Repo के अंदर की .codex/config.toml सिर्फ़ तभी पढ़ी जाती है जब आप project को trust करते हैं। अगर आपकी project settings ignore होती लगती हैं, तो यही वजह है। आपकी user config में trust entry ऐसी दिखती है:
Settings layers में होती हैं, सबसे ऊँची पहले: command-line flags और -c overrides, trusted project की .codex/config.toml, --profile फ़ाइल, आपकी ~/.codex/config.toml, फिर system defaults।
--yolo के बारे में
--dangerously-bypass-approvals-and-sandbox (alias --yolo) हर command को बिना approvals या sandboxing के चलाता है। Source code इसे ऐसे बताता है: “EXTREMELY DANGEROUS. Intended solely for running in environments that are externally sandboxed.” (बेहद ख़तरनाक; सिर्फ़ उन environments के लिए जो बाहर से sandboxed हैं)। Config फ़ाइल में danger-full-access के साथ approval_policy = "never" यही काम करता है। अगर आप बस कम prompts चाहते हैं, तो workspace-write और कुछ allow rules आपको वहाँ पहुँचा देते हैं, sandbox चालू रहते हुए।
जो prompts आप रखते हैं, उनके लिए
जब Codex सिर्फ़ ज़रूरी चीज़ों के बारे में पूछता है (network, project के बाहर की फ़ाइलें, push), तब बची हुई समस्या सवाल पर ध्यान जाना है। Pet Island Codex के command और file-edit approvals को आपकी स्क्रीन के ऊपर एक छोटे island पर command या diff के साथ दिखाता है, ताकि आप सही terminal ढूँढे बिना उन्हें allow या deny कर सकें। यह दिखाता है कि Codex कब काम कर रहा है और कब काम पूरा हुआ, और Codex के सवाल एक click में आपको सही window पर ले जाते हैं। यह Codex CLI और Codex app के साथ काम करता है, और अगर island बंद है, तो Codex हमेशा की तरह अपनी window में पूछता है।
अक्सर पूछे जाने वाले सवाल
Codex को हर समय approval माँगने से कैसे रोकूँ?
sandbox_mode = "workspace-write" इस्तेमाल करें ताकि Codex आपके project के अंदर edit कर सके और commands चला सके, approval_policy = "on-request" रखें, और जिन commands पर आप हमेशा भरोसा करते हैं उनके लिए ~/.codex/rules/default.rules में decision = "allow" वाली prefix_rule entries जोड़ें।
क्या approval_policy = "untrusted" अब भी supported है?
नहीं। मौजूदा Codex इसे “approval_policy = "untrusted" is no longer supported; remove this setting” संदेश के साथ reject करता है। इसकी जगह approval_policy = "on-request" के साथ sandbox_mode = "read-only" इस्तेमाल करें।
--full-auto का क्या हुआ?
यह अब Codex CLI reference में नहीं है। सबसे क़रीबी विकल्प --approve-for-me (alias --not-so-yolo) है, जो on-request और workspace-write sandbox के साथ automatic approval review इस्तेमाल करता है।
“don’t ask again” टिकता क्यों नहीं?
“Don’t ask again for this command in this session” सिर्फ़ उसी session तक चलता है। “don’t ask again for commands that start with …” चुनें, जो ~/.codex/rules/default.rules में एक rule सेव करता है।
Codex Windows पर ज़्यादा क्यों पूछता है?
Sandbox के बिना हर tool call के लिए approval चाहिए। Codex अब default रूप से native Windows sandbox इस्तेमाल करता है; अगर यह सेट नहीं है तो /setup-default-sandbox चलाएँ।
मेरे project की .codex/config.toml ignore क्यों हो रही है?
Codex project config सिर्फ़ trusted projects के लिए load करता है।
स्रोत
इस पेज की हर setting और हर व्यवहार को 26 अक्टूबर 2026 को इन पेजों से मिलाकर जाँचा गया। एजेंट तेज़ी से बदलते हैं; अगर कुछ अब मेल नहीं खाता, तो आधिकारिक पेज ही मान्य है।
- OpenAI: Codex agent approvals और security
- OpenAI: Codex permission modes
- OpenAI: Codex config की बुनियादी बातें
- OpenAI: Codex sample config
- OpenAI: Codex rules
- OpenAI: Codex Windows sandbox
- OpenAI: Codex CLI reference
- OpenAI: Codex slash commands
- openai/codex source code (approval prompt, config errors)
- Issue #10187: Codex बार-बार command approval माँगता है
- Issue #5131: फ़ाइल edits को हमेशा approve करना पड़ता है
- Issue #29406: don’t ask again के बावजूद approval prompt बना रहता है