Codex ขออนุมัติอยู่เรื่อย ๆ? อธิบายนโยบายการอนุมัติ แซนด์บ็อกซ์ และ “don’t ask again”

Codex จะขออนุมัติเมื่อคำสั่งต้องออกไปนอกแซนด์บ็อกซ์ คำบ่น “มันถามอยู่เรื่อย ๆ” ส่วนใหญ่มาจากแซนด์บ็อกซ์ที่เข้มงวดเกินไป การตั้งค่าที่ไม่มีอยู่แล้ว หรือ “don’t ask again” ที่มีผลแค่ในเซสชันเดียว

โดย Aslan ทีม Pet Island · อัปเดต 26 ต.ค. 2026 · อ่าน 5 นาที

คำตอบสั้น ๆ

ใน Codex ปัจจุบัน approval_policy มีค่าเป็น on-request (ค่าเริ่มต้น: โมเดลจะถามเมื่อจำเป็น), never หรือตาราง granular ส่วน untrusted ถูกลบออกแล้ว และ on-failure ตอนนี้เป็นแค่อีกชื่อหนึ่งของ on-request สิ่งที่กำหนดว่าคุณจะถูกถามบ่อยแค่ไหนส่วนใหญ่คือแซนด์บ็อกซ์: เมื่อใช้ sandbox_mode = "workspace-write" Codex จะแก้ไขและรันคำสั่งภายในโปรเจกต์ของคุณโดยไม่ถาม สำหรับคำสั่งที่คุณไว้ใจเสมอ ให้เพิ่ม prefix_rule ที่มี decision = "allow" ใน ~/.codex/rules/default.rules ซึ่งตัวเลือก “don’t ask again for commands that start with …” ก็บันทึกกฎไว้ในไฟล์เดียวกันนี้

อย่างแรก: อะไรเปลี่ยนไปใน Codex

คู่มือและคำตอบในฟอรัมจำนวนมากอธิบายการตั้งค่าที่ใช้ไม่ได้แล้ว ก่อนปรับแต่งอะไร ให้ตรวจ ~/.codex/config.toml ของคุณเทียบกับรายการนี้:

การตั้งค่าเดิมปัจจุบัน
approval_policy = "untrusted"ถูกลบออกแล้ว Codex จะแจ้งว่า “approval_policy = "untrusted" is no longer supported; remove this setting” (ไม่รองรับแล้ว ให้ลบการตั้งค่านี้) เอกสารแนะนำให้ใช้ sandbox_mode = "read-only" กับ on-request แทน
approval_policy = "on-failure"ยังรับค่าได้ แต่เป็นแค่ชื่อแทนของ on-request
--full-autoไม่มีอยู่ในเอกสารอ้างอิง CLI แล้ว แฟล็กที่ใกล้เคียงที่สุดคือ --approve-for-me (ชื่อแทน --not-so-yolo): การตรวจทานการอนุมัติอัตโนมัติด้วย on-request และแซนด์บ็อกซ์ workspace-write
[profiles.name] ภายใน config.tomlตั้งแต่ Codex 0.134.0 --profile name จะอ่าน $CODEX_HOME/name.config.toml แทน คีย์ profile = "x" ที่หลงเหลืออยู่จะทำให้เกิดข้อผิดพลาด
/approvalsใช้ /permissions (“Set what Codex can do without asking first.”)

เอกสารของ Codex ก็ย้ายที่แล้ว: หน้า developers.openai.com/codex เดิมตอนนี้รีไดเรกต์ไปที่ learn.chatgpt.com

Codex ตัดสินใจถามอย่างไร

มีการตั้งค่าสองอย่างที่ทำงานร่วมกัน แซนด์บ็อกซ์ จำกัดสิ่งที่คำสั่งเข้าถึงได้ เช่น ไฟล์นอกโปรเจกต์และเครือข่าย ส่วน นโยบายการอนุมัติ กำหนดว่าจะเกิดอะไรขึ้นเมื่อคำสั่งต้องการมากกว่าที่แซนด์บ็อกซ์อนุญาต

sandbox_modeสิ่งที่ Codex ทำได้โดยไม่ถาม
read-only (ค่าเริ่มต้น)อ่านไฟล์และรันคำสั่งในแซนด์บ็อกซ์แบบอ่านอย่างเดียว
workspace-writeอ่าน แก้ไข และรันคำสั่งในไดเรกทอรีที่ทำงานอยู่โดยอัตโนมัติ
danger-full-accessทำได้ทุกอย่าง ไม่มีแซนด์บ็อกซ์ ไม่แนะนำ
approval_policyพฤติกรรม
on-request (ค่าเริ่มต้น)โมเดลตัดสินใจว่าจะถามเมื่อไร คำสั่งที่แซนด์บ็อกซ์อนุญาตจะรันโดยไม่ต้องอนุมัติ
neverไม่ถามเลย อะไรที่ล้มเหลวจะถูกส่งกลับไปให้โมเดล ไม่ได้ส่งต่อมาถึงคุณ
{ granular = { … } }ให้พรอมต์บางหมวดยังโต้ตอบได้ และปฏิเสธหมวดที่เหลืออัตโนมัติ (sandbox_approval, rules, skill_approval, request_permissions, mcp_elicitations)

ดังนั้นถ้าคุณอยู่ใน read-only ทุกการแก้ไขต้องตอบ yes นี่คือสาเหตุที่พบบ่อยที่สุดของ “Codex ถามทุกอย่าง” แม้ใน workspace-write โฟลเดอร์ .git, .codex, .agents และ .aws ก็ยังเป็นแบบอ่านอย่างเดียว และการเข้าถึงเครือข่ายจะปิดอยู่จนกว่าคุณจะเปิด

นี่คือการกำหนดค่าตัวอย่างจากเอกสารของ OpenAI พร้อมคำอธิบายตัวเลือกของ workspace:

~/.codex/config.tomlคัดลอก
approval_policy = "on-request"
sandbox_mode = "workspace-write"
 
[sandbox_workspace_write]
# Additional writable roots beyond the workspace (cwd). Default: []
writable_roots = []
# Allow outbound network access inside the sandbox. Default: false
network_access = false

เวอร์ชันใหม่ ๆ ยังมีโปรไฟล์สิทธิ์ (default_permissions ที่มีตัวในตัวคือ :read-only, :workspace และ :danger-full-access) ให้ใช้โปรไฟล์หรือ sandbox_mode อย่างใดอย่างหนึ่ง ไม่ใช่ทั้งสองอย่าง

พรีเซ็ตใน CLI, ส่วนขยาย IDE และแอป

คุณไม่จำเป็นต้องแก้ TOML ใน CLI คำสั่ง /permissions จะเปิดพรีเซ็ต ส่วนในแอปและส่วนขยาย IDE จะมีตัวควบคุมสิทธิ์อยู่ใต้ช่องพิมพ์ข้อความ พรีเซ็ตของ CLI มีดังนี้:

  • Read Only: อ่าน workspace ต้องได้รับอนุมัติเพื่อแก้ไขไฟล์หรือเข้าถึงอินเทอร์เน็ต
  • Default: แก้ไขภายใน workspace ต้องได้รับอนุมัติเพื่อเข้าถึงอินเทอร์เน็ตหรือแก้ไขไฟล์อื่น
  • Full Access: แก้ไขนอก workspace และใช้อินเทอร์เน็ตโดยไม่ถาม

แอปและส่วนขยาย IDE อธิบายตัวเลือกเดียวกันว่า Ask for approval, Approve for me และ Full access ภาพหน้าจอ IDE รุ่นเก่าเรียกว่า Chat, Agent และ Agent (Full Access)

อนุญาตคำสั่งเฉพาะด้วยกฎ

เมื่อคุณต้องการให้ Codex รันคำสั่งหนึ่งนอกแซนด์บ็อกซ์โดยไม่ถาม (เช่น gh pr view) ให้เขียนกฎ กฎยังเป็นฟีเจอร์ทดลองและอยู่ในไฟล์ .rules ในโฟลเดอร์ rules/ ข้างชั้นการกำหนดค่า เช่น ~/.codex/rules/default.rules:

~/.codex/rules/default.rulesคัดลอก
prefix_rule(
pattern = ["gh", "pr", "view"],
decision = "allow",
)
  • allow: รันนอกแซนด์บ็อกซ์โดยไม่ถาม
  • prompt: ถามก่อนทุกคำสั่งที่ตรงกัน
  • forbidden: บล็อกโดยไม่ถาม

เมื่อมีหลายกฎที่ตรงกัน กฎที่เข้มงวดที่สุดจะชนะ: forbidden ชนะ prompt ซึ่งก็ชนะ allow อีกที ทดสอบคำสั่งด้วย codex execpolicy check ก่อนจะพึ่งพากฎ

“don’t ask again” บันทึกอะไรจริง ๆ

พรอมต์ขออนุมัติใน Codex CLI มี “yes” หลายแบบ และแต่ละแบบมีผลนานต่างกันมาก:

ตัวเลือกมีผลนานแค่ไหน
Yes, proceedคำสั่งนี้คำสั่งเดียว
Yes, and don’t ask again for commands that start with <prefix>ถาวร (เขียนเป็นกฎลงใน ~/.codex/rules/default.rules)
Yes, and don’t ask again for this command in this sessionจนกว่าเซสชันจะจบ
Yes, and don’t ask again for these filesการแก้ไขไฟล์ สำหรับเซสชันนี้

ถ้าคุณตอบตัวเลือกแบบเซสชันไปเรื่อย ๆ พรุ่งนี้คุณก็จะถูกถามอีก ให้เลือกตัวเลือกแบบ prefix หรือเขียนกฎเอง

Codex บน Windows

Windows คือที่ที่ปัญหา “ถามทุกอย่าง” หนักที่สุด ใน issue #10187 สมาชิกทีม OpenAI อธิบายเหตุผลไว้ว่า “Without a sandboxing mechanism, all tool calls need to be manually approved on Windows.” (หากไม่มีกลไกแซนด์บ็อกซ์ การเรียกเครื่องมือทั้งหมดบน Windows ต้องอนุมัติด้วยตนเอง) ตอนนี้ Codex มีแซนด์บ็อกซ์เนทีฟของ Windows และใช้เป็นค่าเริ่มต้น:

  • mxc: แซนด์บ็อกซ์ที่แนะนำบนอุปกรณ์ Windows ที่รองรับ
  • elevated: ตัวสำรองที่แนะนำเมื่อใช้ MXC ไม่ได้
  • unelevated: ตัวสำรองแบบเดิม
~/.codex/config.tomlคัดลอก
[windows]
sandbox = "elevated" # or "unelevated"
 
[features]
prefer_mxc = true

รัน /setup-default-sandbox ใน CLI เพื่อตั้งค่าแซนด์บ็อกซ์แบบ elevated (หรือ codex sandbox setup --elevated สำหรับฝ่าย IT) แนะนำ Windows 11 ส่วน Windows 10 1809 ขึ้นไปรองรับแบบ best-effort หากคุณทำงานใน WSL Codex จะใช้แซนด์บ็อกซ์ของ Linux ที่นั่น และไม่รองรับ WSL1 แล้ว

การกำหนดค่าโปรเจกต์จะโหลดเฉพาะในโปรเจกต์ที่เชื่อถือแล้ว

.codex/config.toml ภายในรีโปจะถูกอ่านก็ต่อเมื่อคุณเชื่อถือ (trust) โปรเจกต์นั้น หากการตั้งค่าโปรเจกต์ดูเหมือนถูกเพิกเฉย นี่คือสาเหตุ รายการ trust ในการกำหนดค่าผู้ใช้ของคุณมีหน้าตาแบบนี้:

~/.codex/config.tomlคัดลอก
[projects."/absolute/path/to/project"]
trust_level = "trusted"

การตั้งค่าซ้อนกันเป็นชั้น จากสูงสุด: แฟล็กบรรทัดคำสั่งและการแทนที่ด้วย -c, .codex/config.toml ของโปรเจกต์ที่เชื่อถือแล้ว, ไฟล์ --profile, ~/.codex/config.toml ของคุณ แล้วจึงเป็นค่าเริ่มต้นของระบบ

เกี่ยวกับ --yolo

--dangerously-bypass-approvals-and-sandbox (ชื่อแทน --yolo) รันทุกคำสั่งโดยไม่มีการอนุมัติหรือแซนด์บ็อกซ์ ซอร์สโค้ดอธิบายไว้ว่า “EXTREMELY DANGEROUS. Intended solely for running in environments that are externally sandboxed.” (อันตรายอย่างยิ่ง ใช้เฉพาะในสภาพแวดล้อมที่มีแซนด์บ็อกซ์จากภายนอก) การตั้ง approval_policy = "never" คู่กับ danger-full-access ให้ผลเหมือนกันจากไฟล์การกำหนดค่า หากคุณแค่อยากได้พรอมต์น้อยลง workspace-write กับกฎ allow อีกไม่กี่ข้อก็พาไปถึงได้ โดยที่แซนด์บ็อกซ์ยังเปิดอยู่

สำหรับพรอมต์ที่คุณเก็บไว้

เมื่อ Codex ถามเฉพาะเรื่องที่สำคัญ (เครือข่าย ไฟล์นอกโปรเจกต์ การ push) ปัญหาที่เหลือคือการสังเกตเห็นคำถาม Pet Island นำการขออนุมัติคำสั่งและการแก้ไขไฟล์ของ Codex มาไว้บนเกาะเล็ก ๆ ที่ด้านบนของหน้าจอ พร้อมคำสั่งหรือ diff คุณจึงอนุญาตหรือปฏิเสธได้โดยไม่ต้องหาเทอร์มินัลที่ถูกต้อง มันแสดงว่า Codex กำลังทำงานหรือทำเสร็จแล้ว และคำถามของ Codex จะพาคุณไปยังหน้าต่างที่ถูกต้องได้ในคลิกเดียว ใช้ได้กับ Codex CLI และแอป Codex และถ้าเกาะปิดอยู่ Codex ก็จะถามในหน้าต่างของตัวเองตามปกติ

คำถามที่พบบ่อย

จะหยุดไม่ให้ Codex ขออนุมัติตลอดเวลาได้อย่างไร?

ใช้ sandbox_mode = "workspace-write" เพื่อให้ Codex แก้ไขและรันคำสั่งภายในโปรเจกต์ได้ คง approval_policy = "on-request" ไว้ และเพิ่มรายการ prefix_rule ที่มี decision = "allow" ใน ~/.codex/rules/default.rules สำหรับคำสั่งที่คุณไว้ใจเสมอ

approval_policy = "untrusted" ยังรองรับอยู่ไหม?

ไม่ Codex ปัจจุบันปฏิเสธค่านี้ด้วยข้อความ “approval_policy = "untrusted" is no longer supported; remove this setting” ให้ใช้ sandbox_mode = "read-only" กับ approval_policy = "on-request" แทน

--full-auto หายไปไหน?

ไม่มีอยู่ในเอกสารอ้างอิง Codex CLI แล้ว ตัวเลือกที่ใกล้เคียงที่สุดคือ --approve-for-me (ชื่อแทน --not-so-yolo) ซึ่งใช้การตรวจทานการอนุมัติอัตโนมัติด้วย on-request และแซนด์บ็อกซ์ workspace-write

ทำไม “don’t ask again” ถึงไม่ติด?

“Don’t ask again for this command in this session” มีผลแค่ในเซสชันนั้น ให้เลือก “don’t ask again for commands that start with …” ซึ่งจะบันทึกกฎลงใน ~/.codex/rules/default.rules

ทำไม Codex ถึงถามมากกว่าบน Windows?

หากไม่มีแซนด์บ็อกซ์ การเรียกเครื่องมือทุกครั้งต้องได้รับอนุมัติ ตอนนี้ Codex ใช้แซนด์บ็อกซ์เนทีฟของ Windows เป็นค่าเริ่มต้น ให้รัน /setup-default-sandbox หากยังไม่ได้ตั้งค่า

ทำไม .codex/config.toml ของโปรเจกต์ฉันถึงถูกเพิกเฉย?

Codex โหลดการกำหนดค่าโปรเจกต์เฉพาะสำหรับโปรเจกต์ที่เชื่อถือแล้วเท่านั้น

แหล่งข้อมูล

การตั้งค่าและพฤติกรรมทุกอย่างในหน้านี้ได้รับการตรวจสอบกับหน้าเหล่านี้เมื่อวันที่ 26 ตุลาคม 2026 เอเจนต์เปลี่ยนแปลงเร็ว หากมีอะไรไม่ตรงกันแล้ว ให้ยึดหน้าทางการเป็นหลัก

อ่านต่อ

ตอบทุกเอเจนต์ได้จากด้านบนของหน้าจอ

Windows และ Mac · ทดลองใช้ฟรี 7 วัน จากนั้นจ่ายครั้งเดียว $8.99 · $1 จากทุกการขายนำไปซื้ออาหารให้สัตว์จรจัด

ลองใช้ Pet Island ฟรี