Thông báo của Codex: nhận cảnh báo khi nó xong việc hoặc chờ phê duyệt
Codex có thể báo cho bạn khi một lượt đã xong và khi nó cần bạn phê duyệt. Vấn đề là: hai cơ chế trong tệp cấu hình bao quát các sự kiện khác nhau, và trên hầu hết terminal, “thông báo trên màn hình” lặng lẽ biến thành tiếng chuông.
TRẢ LỜI NGẮN
Dùng mục [tui]: notifications = ["agent-turn-complete", "approval-requested"], và notification_condition = "always" nếu bạn muốn nhận cảnh báo ngay cả khi terminal đang được focus. Codex chỉ gửi thông báo trên màn hình (OSC 9) trong Ghostty, iTerm2, Kitty, Warp và WezTerm. Ở mọi nơi khác, kể cả Windows Terminal, nó chỉ phát tiếng chuông. Thiết lập cấp cao nhất notify chạy chương trình của riêng bạn, nhưng chỉ cho agent-turn-complete, không bao giờ cho yêu cầu phê duyệt.
Hai thiết lập khác nhau
| [tui] notifications | notify | |
|---|---|---|
| Tác dụng | Cảnh báo terminal từ Codex CLI | Chạy một chương trình bạn chọn |
| Lượt hoàn tất | Có (agent-turn-complete) | Có (agent-turn-complete) |
| Yêu cầu phê duyệt | Có (approval-requested) | Không |
| Lời nhắc kế hoạch / câu hỏi | Có (plan-mode-prompt, async-question) | Không |
| Mặc định | Bật | Tắt |
Nếu bạn muốn biết khi nào Codex đang chờ bạn, chỉ dùng notify sẽ không bao giờ đủ. Hãy dùng thông báo TUI cho việc đó.
Thông báo TUI
Đây là phần liên quan trong cấu hình mẫu của OpenAI:
notifications:true,false, hoặc một danh sách sự kiện.approval-requestedbao gồm yêu cầu phê duyệt lệnh, chỉnh sửa tệp và MCP.notification_condition: theo mặc định, cảnh báo chỉ phát ra khi terminal không được focus. Đặtalwaysnếu bạn luôn để terminal hiển thị trên một màn hình khác.notification_method:auto,osc9hoặcbel.
Các thông điệp trông như “Approval requested: <command>”, “Codex wants to edit <file>” và “Agent turn complete”.
Vì sao bạn chỉ nghe thấy tiếng bíp (Windows Terminal và các terminal khác)
Ở chế độ auto, Codex chỉ gửi thông báo trên màn hình (chuỗi escape OSC 9) khi nhận ra Ghostty, iTerm2, Kitty, Warp hoặc WezTerm. Mọi terminal khác (Windows Terminal, terminal của VS Code, Apple Terminal) nhận chuông terminal. Điều này lấy từ mã nguồn của Codex (tui/src/notifications/mod.rs); tài liệu chỉ nói auto “ưu tiên OSC 9”.
Trên Windows Terminal, bạn có thể làm chuông dễ nhận biết hơn: đặt bellStyle thành all trong thiết lập profile để phát âm thanh và làm nhấp nháy biểu tượng trên taskbar (mặc định là audible).
Bạn cũng có thể ép dùng notification_method = "osc9"; terminal có biến nó thành thông báo hệ thống hay không là tùy vào terminal.
Chạy chương trình của riêng bạn bằng notify
notify chạy một chương trình bên ngoài khi một lượt hoàn tất và truyền một đối số JSON gồm type, thread-id, turn-id, cwd, input-messages và last-assistant-message. Nhờ vậy nó phù hợp để gửi thông báo đẩy đến điện thoại, gọi webhook hoặc ghi log: bất cứ thứ gì ngoài terminal. Đây là khóa cấp cao nhất, nên hãy đặt nó phía trên mọi [section]:
Một script tối giản, theo mẫu trong tài liệu của OpenAI:
- Tệp
.codex/config.tomlcủa dự án không thể đặtnotify. Thiết lập này phải nằm trong cấu hình người dùng của bạn. - Mã nguồn của Codex đánh dấu
notifylà legacy và dự định thay thế nó bằng hook. Hiện tại nó vẫn hoạt động; hãy theo dõi changelog.
Còn hook thì sao?
Codex cũng có hook. Chúng được bật theo mặc định và bao gồm các sự kiện PermissionRequest và Stop, được cấu hình trong ~/.codex/hooks.json hoặc một bảng [hooks], và mọi hook không được quản lý đều phải được xem xét và tin cậy bằng /hooks trước khi chạy. Không có sự kiện Notification, và tài liệu của OpenAI không đưa ra hook thông báo nào. Với cảnh báo, thiết lập TUI ở trên là cách được ghi trong tài liệu.
Ứng dụng Codex và tiện ích mở rộng IDE
Ứng dụng desktop Codex có các nút điều khiển riêng: cảnh báo hoàn tất lượt có thể đặt thành không bao giờ, chỉ khi ứng dụng chạy nền, hoặc luôn luôn, và các công tắc riêng bật hoặc tắt thông báo về quyền và câu hỏi. Tiện ích mở rộng IDE không có thiết lập thông báo riêng. Tài liệu của OpenAI hướng bạn sang notify thay thế.
Nếu bạn phê duyệt từ điện thoại qua ứng dụng ChatGPT, issue #39346 báo cáo một trường hợp điện thoại hiển thị “approval waiting” mà không có thẻ nào để trả lời.
Nhìn thấy và trả lời ngay
Tiếng chuông cho bạn biết có chuyện gì đó xảy ra ở một terminal nào đó. Pet Island hiển thị Codex trên một island nhỏ ở phía trên màn hình (đang làm việc, đang chờ hoặc đã xong), và khi Codex xin chạy một lệnh hoặc chỉnh sửa một tệp, yêu cầu sẽ hiện ở đó kèm lệnh hoặc diff. Cho phép hoặc từ chối mà không cần chuyển cửa sổ; với câu hỏi, một cú nhấp sẽ đưa bạn đến đúng terminal. Pet Island hoạt động với Codex CLI và ứng dụng Codex, cùng với Claude Code, Cursor và các agent khác của bạn.
Câu hỏi thường gặp
Làm sao để nhận thông báo khi Codex xong việc?
Thông báo TUI của Codex được bật mặc định cho agent-turn-complete, nhưng theo mặc định chỉ phát ra khi terminal không được focus. Đặt notification_condition = "always" trong [tui] nếu bạn muốn nhận cả khi terminal đang được focus.
Làm sao để nhận thông báo khi Codex cần phê duyệt?
Thêm "approval-requested" vào notifications trong mục [tui] của ~/.codex/config.toml. Thiết lập notify không kích hoạt cho yêu cầu phê duyệt.
Vì sao Codex chỉ phát tiếng bíp thay vì hiển thị thông báo?
Ở chế độ auto, Codex chỉ gửi thông báo trên màn hình trong Ghostty, iTerm2, Kitty, Warp và WezTerm. Các terminal khác, kể cả Windows Terminal, nhận chuông.
Tôi có thể đặt notify trong tệp .codex/config.toml của dự án không?
Không. Cấu hình dự án không thể đặt notify; hãy đặt nó trong ~/.codex/config.toml.
Codex có hook Notification không?
Không. Hook của Codex gồm PermissionRequest và Stop, nhưng không có sự kiện Notification và không có hook thông báo nào được ghi trong tài liệu.
Nguồn
Mọi thiết lập và hành vi trên trang này đã được đối chiếu với các trang sau vào 26 tháng 10 năm 2026. Agent thay đổi rất nhanh; nếu có điều gì không còn khớp, trang chính thức là chuẩn.
- OpenAI: Codex sample config
- OpenAI: Codex advanced config (notify)
- OpenAI: Codex notifications
- OpenAI: Codex hooks
- Mã nguồn openai/codex: tui/src/notifications/mod.rs
- Mã nguồn openai/codex: tui/src/chatwidget/notifications.rs
- Issue #39346: Mobile shows approval waiting but no approval card
- Microsoft Learn: Thiết lập profile của Windows Terminal (bellStyle)