14 lý do John Kim chuyển từ Codex CLI sang Codex app
14 tính năng của Codex app mà John Kim thấy hơn CLI: rich rendering, prompt queue, side chat, voice, schedules, spaces, cùng lý do anh tin app là tương lai.
✓ Đã duyệt độc lập · cập nhật 26/10/2026 · 29 min
1. Vì sao John chuyển từ CLI sang Codex app
John mở đầu thẳng vào vấn đề: nếu bạn vẫn đang dùng CLI, rất có thể bạn đang bỏ lỡ nhiều thứ. Trong video này anh đưa ra 14 lý do để chuyển sang dùng app. Theo anh, lời khuyên này áp dụng cho cả Claude Code lẫn Codex, nhưng video tập trung chủ yếu vào Codex, vì anh cho rằng OpenAI đã làm rất tốt việc thêm một loạt tính năng mới vào Codex, tới mức biến chính công cụ này thành con hào (moat) của họ (nhận định của John trong video đăng ngày 16/10/2026). Anh nói nếu người xem chưa tin, ở cuối video anh sẽ đưa ra một lý do dứt khoát cho việc vì sao anh nghĩ tương lai của AI coding sẽ nằm ở các app.
Anh tự giới thiệu: tên là John, đang là senior staff software engineer tại Meta, và đã dành hàng nghìn giờ trên Codex app ("thật sự là hàng nghìn giờ", anh nói thêm), nên anh nắm nó từ trong ra ngoài. Trên màn hình lúc đó có một bộ đếm ghi "I have spent ... of hours in Codex app", con số chạy từ 1,548.1 lên 1,701.9 giờ (số liệu trên màn hình trong video đăng ngày 16/10/2026).
Để trình bày, John chuẩn bị một bộ slide đơn giản với 14 tính năng mà anh coi là tốt trong số những gì Codex app có. Anh nói rõ trước: không phải tính năng nào cũng chỉ app mới có. CLI đã có một vài tính năng trong số này rồi, nhưng với từng tính năng, anh sẽ giải thích vì sao bản app vẫn có lợi thế hơn (so sánh theo John, video đăng ngày 16/10/2026).

2. Lý do 1: Rich rendering
Lý do số một, theo John, có lẽ là lợi thế dễ thấy nhất: rich rendering. Để giải thích, anh mở Codex CLI. Kiểu hiển thị ở đây là một TUI, được vẽ bằng ký tự ASCII, về bản chất chỉ là hiển thị dựa trên chữ. Nếu bạn yêu cầu một hình ảnh, hoặc trong câu trả lời có link, hay bất cứ thứ gì không chỉ là chữ, thì các TUI rất khó hiển thị nó (so sánh của John, video đăng ngày 16/10/2026).
Sau đó anh chuyển sang app. Cho chính video này, anh đã nhờ Codex làm thumbnail. Trong thread đó anh đang lặp đi lặp lại trên các phương án thumbnail, có cả một loạt thumbnail anh muốn thử nhiều phiên bản khác nhau, và chúng hiện ra dưới dạng hình ảnh ngay trong cuộc trò chuyện (demo trong video đăng ngày 16/10/2026). Ngoài hình ảnh, anh nói app còn phát được âm thanh (audio playback) ngay bên trong, và app cũng có thể tự chụp màn hình.
Anh thử ngay chuyện chụp màn hình bằng prompt "Take a screenshot of our home screen." Đây là app iPhone anh đang làm, chạy trong simulator, và Codex chụp được màn hình của chiếc iPhone đó rồi hiển thị ảnh ngay trong thread (demo trong video đăng ngày 16/10/2026). Theo John, có rất nhiều kiểu rich rendering như vậy giúp bạn thấy chuyện gì đang diễn ra. Ý kiến của anh: một khi đã quen với nó, rất khó quay lại với terminal trơn chỉ có chữ.
Take a screenshot of our home screen.
Nói tới hình ảnh, anh còn gợi ý: bạn có thể nhờ Codex vẽ trực quan kiến trúc hệ thống, và thay vì vẽ bằng ASCII, nó render một thứ có đồ họa thật (theo John, video đăng ngày 16/10/2026). Anh gõ "Can you visualize my architecture and render it here?" Kết quả là một sơ đồ kiểu UML điển hình, trình bày đẹp và nằm gọn trong app (demo trong video đăng ngày 16/10/2026). Anh thấy nhìn công việc theo cách trực quan như vậy tốt hơn hẳn.
Can you visualize my architecture and render it here?

Lý do app làm được như vậy, theo John, là vì app là một ứng dụng hoàn chỉnh, có khả năng render đầy đủ, nên nó làm được gần như bất cứ thứ gì nó muốn: thứ gì một app thông thường làm được thì Codex app cũng làm được. Đó là một trong những lợi ích rõ ràng của nó so với TUI (nhận định trong video đăng ngày 16/10/2026).
3. Lý do 2: Visual feedback
Tính năng thứ hai có phần giống tính năng thứ nhất: visual feedback. John giải thích rằng rich rendering còn mang thêm một lợi ích nữa: tận dụng chính những gì đang được render để đưa thêm context vào prompt (theo John, video đăng ngày 16/10/2026).
Ví dụ, với ảnh chụp màn hình app iPhone vừa rồi, anh bấm chuột phải vào ảnh và chọn thêm nó vào chat. Thao tác này đưa thêm context cho Codex, rồi anh nói đại ý: "okay, giờ bạn bấm vào mục create và cho tôi xem màn hình đó". Codex làm đúng như vậy (demo trong video đăng ngày 16/10/2026). Theo John, khả năng chọn từng phần của màn hình để đưa context như thế là một lợi ích rất lớn, và đây mới chỉ là một ví dụ nhỏ.
Anh nói bạn cũng làm được điều này với một website bạn đã build và đang xem, bằng cách chọn trực tiếp các phần tử trên trang. Anh nhờ Codex khởi động website local để minh họa (trên màn hình là lời nhắn "start he local website", và Codex trả lời rằng nó sẽ chạy website Momeo local rồi mở ra). Website hiện lên ngay trong app. Anh chọn một phần trên trang, bấm annotate, ghi chú "change this text to say hello", và ghi chú đó được gắn vào ô chat; sau đó Codex bắt tay vào sửa (demo trong video đăng ngày 16/10/2026).

Như vậy, theo John, bạn có thể lướt nhanh qua từng phần của website và đưa đúng phần đó làm context. Đó là một cách rất mạnh để gửi visual feedback cho AI, và anh nói đây là thứ bạn không làm được trên CLI (so sánh theo John, video đăng ngày 16/10/2026).
4. Lý do 3: Sidebar để quản lý thread
Lý do thứ ba là sidebar dùng để quản lý thread. John nói nghe thì có vẻ không phải chuyện gì to tát, nhưng thật lòng mà nói, nhìn vào tất cả những thứ anh đang có trong đó, anh dựa vào sidebar rất nhiều. Với anh, việc tổ chức công việc xoay quanh những thứ đang làm là cực kỳ quan trọng (theo John, video đăng ngày 16/10/2026).
Anh lấy ví dụ: anh đang làm một monorepo và làm việc với nó liên tục, nên thường sẽ pin nó lên. Pin là một tính năng có trên app. Trên CLI có một thứ anh gọi là "agent commander" (màn hình CLI ghi "Agent command center"), và bạn có thể làm khá nhiều việc tương tự trong CLI, nhưng theo anh nó hơi vụng (clunky), khó làm, và bạn phải nhớ một loạt thao tác (so sánh theo John, video đăng ngày 16/10/2026). Còn với sidebar thì mọi thứ rất trơn tru: nhìn vào là thấy, muốn pin thì pin.
Sidebar còn có các dấu hiệu nhỏ, ví dụ dấu báo một session đang cần anh sửa, hay dấu cho biết đây là một worktree. Ngoài ra còn nhiều tính năng khác. Chẳng hạn bạn có thể tạo một section mới: anh tạo thử một section tên "Hi", và section "Hi" xuất hiện ngay trong sidebar (demo trong video đăng ngày 16/10/2026; hộp thoại trên màn hình ghi "New section, Group chats and projects however you like"). Theo anh, sidebar tùy biến được rất nhiều và bạn làm được nhiều thứ với nó. Tất nhiên bạn cũng có thể ẩn nó đi rồi mở lại.
Với riêng John, việc giữ sidebar bên cạnh và tổ chức công việc quanh nó đã giúp anh quản lý công việc tốt hơn hẳn. Bạn còn có thể double click để đổi tên thread, ví dụ đổi thành "monorepo migration". Cách anh làm là: với bất kỳ task cấp cao hay project nào đang làm, anh luôn đổi tên, pin nó, hoặc chuyển nó vào đúng chỗ, và đó là cách anh theo dõi tất cả các session thread khác nhau (cách làm của John, video đăng ngày 16/10/2026).
Với những thứ đã xong, anh luôn archive chúng để giữ project sạch sẽ, gọn gàng và context cũng "khỏe mạnh". Anh coi đó là một lợi ích lớn. Anh còn luôn nhìn thấy được những gì đang chạy, như một job đã chạy suốt khoảng một ngày qua: đó về cơ bản là việc migration monorepo. Anh biết nó vẫn đang chạy vì biểu tượng đang xoay, nên anh không cần phải vào kiểm tra (demo trong video đăng ngày 16/10/2026).
Khi quản lý thread, bạn cũng sẽ thấy tất cả những việc đang cần approve và những thứ tương tự. Theo John, sidebar là một tính năng bị đánh giá thấp, nhưng lại rất hiệu quả để tự quản lý các thread của mình (nhận định trong video đăng ngày 16/10/2026).
5. Lý do 4: Điều khiển prompt queue
Tính năng tiếp theo là prompt queue controls. John nói ngay rằng prompt queue chắc chắn có trên CLI, và anh minh họa nhanh: khi agent đang chạy một việc, bạn có thể gửi thêm prompt bằng cách bấm shift tab (anh nói vậy; dòng gợi ý trên màn hình CLI ghi "tab to queue message"). Những prompt đó là follow-up. Bạn vẫn hoàn toàn dùng prompt queue được trên CLI (theo John, video đăng ngày 16/10/2026).
Nếu bạn chưa từng dùng prompt queue, John cho rằng nó cực kỳ mạnh, nhất là khi bạn có những goal chạy lâu. Nhưng như anh đã nói, trên CLI nó khá vụng (so sánh theo John, video đăng ngày 16/10/2026). Trong app, anh đang có một goal chạy rất lâu. Giả sử anh có một loạt ý tưởng muốn goal tiếp tục làm sau khi nó hoàn thành mục tiêu hiện tại; anh thêm một loạt prompt vào. Anh gõ ba prompt:
Build a new feature to edit my videos. Help me research a bunch of one of tens. Let's do a round of cleanup and refactoring and remove any dead code.
Ba prompt này được xếp hàng chờ, chưa chạy, chưa active, vì goal vẫn đang chạy. Khi goal xong, ví dụ trong lúc anh đang ngủ, các prompt này sẽ lần lượt chạy từng cái một (demo trong video đăng ngày 16/10/2026). Anh nói rõ đây chỉ là prompt thử cho video, nhưng bạn có thể làm rất nhiều việc theo cách này.

Cách John hay dùng prompt queue là khi review một chồng diff hoặc PR lớn. Anh đọc một vài diff, viết nhanh một ghi chú về diff đó, đưa nó vào hàng đợi, rồi sang diff tiếp theo trong chồng, cứ thế tiếp tục, cho tới khi có thể có một hàng đợi khoảng 20 comment và feedback để AI lần lượt xử lý (cách làm của John, video đăng ngày 16/10/2026).
Anh thật sự muốn giữ toàn bộ context đó trong cùng một thread, vì nếu là một chồng diff thì context của chúng đều liên quan tới nhau, và giữ context ở đó là điều quan trọng. Với cá nhân anh, đó là một use case rất tốt (cách làm của John, video đăng ngày 16/10/2026).
Điểm "ăn tiền" khác với bản CLI, theo John, là trong app bạn có thể kéo thả các prompt để đổi thứ tự. Bạn cũng có thể bấm steer để đưa thẳng prompt vào điều hướng việc đang chạy, sửa nội dung prompt, hoặc xóa nó đi (so sánh theo John, video đăng ngày 16/10/2026). Khả năng thêm thật nhanh một loạt prompt vào hàng đợi, rồi chuyển sang thread khác làm việc khác, với anh là thứ thay đổi cuộc chơi. Anh nhớ lại lúc mới phát hiện ra tính năng này, nó thật sự mở khóa khả năng làm nhiều việc cùng lúc cho anh, vì đôi khi bạn chợt có một ý tưởng và chỉ muốn thread nhớ nó, mà không phải lo việc đó sẽ không được làm. Với anh, prompt queue là một điểm cộng lớn.
6. Lý do 5: Appshots
Tính năng tiếp theo rất đơn giản, nhưng John nói đó là một trong những tính năng anh thích: appshots. Theo anh, appshots chỉ có trên Codex app (tính đến video đăng ngày 16/10/2026).
Giả sử bạn đang ở trên YouTube, hay đang xem website của chính mình hoặc bất cứ thứ gì, và muốn nhanh chóng đưa một ảnh chụp của nó vào. Cách cũ là chụp màn hình rồi kéo ảnh vào chỗ bạn muốn, tức ô nhập prompt. Với appshot, anh nói bạn chỉ cần bấm hai phím command trên bàn phím, và app sẽ chụp lại thứ bạn đang nhìn rồi đưa vào prompt của thread bạn dùng gần nhất (theo John, video đăng ngày 16/10/2026).
Đây chỉ là một tiện ích nhỏ, một thứ "dễ chịu", nhưng với John, chính những tính năng nhỏ như vậy là thứ thật sự thuyết phục anh dùng Codex app, vì theo thời gian, tất cả những điều nhỏ này cộng lại thành rất nhiều thời gian trong workflow của bạn. Anh coi appshots chắc chắn là một trong những tính năng "ăn tiền", kiểu mà một khi đã quen thì bạn không sống thiếu nó được (nhận định trong video đăng ngày 16/10/2026).
Anh so sánh nó với tính năng cửa đóng êm (soft close) trên xe Tesla: nếu bạn có một chiếc X, thì sau khi đã có tính năng đó rồi, rất khó để không có nó nữa (so sánh của John trong video đăng ngày 16/10/2026).
7. Lý do 6: Side chat
Tính năng lớn tiếp theo là side chat. John nói tính năng này Codex CLI có sẵn (tính đến video đăng ngày 16/10/2026). Anh minh họa: gõ một prompt bất kỳ; trong lúc nó đang chạy, anh nói bạn có thể dùng "side" hoặc "by the way", và một cuộc trò chuyện bên lề (side conversation) bắt đầu; anh gõ thử "hello". Trên màn hình CLI hiện dòng "Side from main thread" kèm gợi ý ctrl+/ để chuyển qua lại.
Cách side conversation hoạt động, theo John: nó lấy context hiện tại của thread đó, và bạn hỏi được các câu về nó mà không làm thay đổi context của việc đang chạy. Nó rất hữu ích khi bạn muốn hỏi về một goal chạy lâu mà không muốn làm gián đoạn goal (theo John, video đăng ngày 16/10/2026).
Nhược điểm trên Codex CLI là side chat chiếm luôn cửa sổ bạn đang dùng. Còn trong app thì không như vậy (so sánh theo John, video đăng ngày 16/10/2026). Có nhiều cách để mở một side chat trong app: mở từ visual feedback, tức bắt đầu side chat theo cách đó; bấm lên phía trên để mở side chat mới; hoặc dùng phím tắt.

Thứ John hay làm là hỏi side chat về goal. Goal này đã chạy rất lâu, nên anh hỏi "tell me about the status of the goal". Đây là workflow rất thường gặp của anh khi có một goal chạy lâu mà không muốn ngắt nó: anh hỏi trạng thái; nếu goal đang bị chặn hoặc kẹt ở đâu đó, anh sẽ thêm cách sửa vào chat chính rồi steer nó vào, việc đó không làm gián đoạn goal, goal vẫn chạy tiếp và tự điều chỉnh (cách làm của John, video đăng ngày 16/10/2026).
Tell me about the status of the goal.
Anh nói đây là những tính năng rất thú vị và anh dùng hằng ngày. Theo anh, lợi ích của việc nhìn thấy cả thread chính lẫn side chat cùng lúc là khá lớn: bạn đọc lại được những gì đã diễn ra, đồng thời theo dõi side chat đang chạy. Ngay lúc đó, side chat đang compact context nên người xem chưa thấy được câu trả lời (trên màn hình là dòng "Compacting context" và "This can take a few minutes"), nhưng anh nghĩ mọi người đã hiểu ý (demo trong video đăng ngày 16/10/2026).
8. Lý do 7: Computer use có màn hình theo dõi
Lợi thế lớn tiếp theo, và John nghĩ nhiều người sẽ nói đây có lẽ là một trong những lợi thế then chốt, là computer use. Có nhiều kiểu computer use khác nhau, nhưng theo anh, app làm cho việc này rất dễ: app có quyền truy cập vào nhiều thứ hơn và "nhìn" được máy tính nhiều hơn (theo John, video đăng ngày 16/10/2026). Nó còn một lợi ích khác nữa, và anh minh họa bằng prompt:
Can you control my app and do a QA test?
Một trong những lợi thế lớn nằm ngay ở khung màn hình nhỏ anh đang kéo qua kéo lại: về cơ bản, đó là thứ Codex app đang nhìn thấy. Bạn có được context đó và một bản tường thuật trực tiếp, từng bước một (play-by-play), về những gì app đang làm. Theo John, bạn hoàn toàn không có điều này ở bản CLI. CLI cũng bị giới hạn quyền truy cập vào các app khác; bạn có thể có thứ tương tự nếu cấu hình thật chuẩn (so sánh theo John, video đăng ngày 16/10/2026).

Với John, chỉ riêng bản tường thuật trực tiếp này đã là một lợi thế lớn. Anh nắm được rất nhanh app đang thực sự nhìn vào cái gì, thay vì chỉ đoán rằng có chuyện gì đó đang diễn ra phía sau. Anh thấy điều đó rất tốt. Thêm vào đó, việc computer use đơn giản là mạnh hơn trên app là một lý do lớn để chuyển sang (nhận định trong video đăng ngày 16/10/2026).
"Nhìn kìa, nhìn xem nó hay thế nào", anh nói khi chỉ vào khung theo dõi. Bạn còn bấm được vào khung đó để đi tới đúng chỗ app đang thực hiện computer use (demo trong video đăng ngày 16/10/2026). Anh gọi đó là tuyệt vời.
9. Lý do 8: Voice call điều khiển cả app
Tính năng tiếp theo là một trong những tính năng John thích. Anh không dùng nó thường xuyên, nhưng có những lúc nó chạy rất tốt: voice call. Anh nói Codex CLI cũng có một phiên bản của tính năng này ở chế độ experimental, nhưng không tốt bằng (tính đến video đăng ngày 16/10/2026).
Anh cho xem trên CLI trước. Để dùng, bạn chỉ cần gõ lệnh voice (trên màn hình là /voice, với mô tả "start or stop voice; use /voice settings to choose a voice"), và giọng nói bắt đầu. Anh chào "Hey, how's it going?", rồi hỏi "Can we go to a different thread?". Nó không chuyển sang thread khác được; câu trả lời trên màn hình là "I can't switch threads for you, but you can just open a new chat or pick another thread in the sidebar." (demo trong video đăng ngày 16/10/2026). Điều anh rút ra về trải nghiệm voice trên CLI là nó bị giới hạn trong một thread, ít nhất là theo những gì anh đã thử thì chắc chắn bị giới hạn trong thread.
Điểm hay của Codex app, theo John, là voice cho phép bạn điều khiển gần như toàn bộ app (theo John, video đăng ngày 16/10/2026). Để bắt đầu, bạn chỉ cần bấm nút gọi. Cuộc gọi diễn ra như sau (demo trong video đăng ngày 16/10/2026):
- John chào "Hey, how's it going?", và giọng của app đáp "Hey! It's going well. What can I help you with?" (demo trong video đăng ngày 16/10/2026).
- John nhờ mở thread về Andrew Ng; app nói "Checking that now" rồi báo đã mở chat "TT - Andrew Ng" (demo trong video đăng ngày 16/10/2026).
- John nói "Awesome", rồi nhờ app lần lượt chiếu các slide anh đang có, vì anh chỉ muốn đọc từng slide một; app trả lời "Let me take a look. I've got the Thread open." (demo trong video đăng ngày 16/10/2026).
- John thêm: trong lúc đó, hãy vào sticker game và chạy thêm một vòng QA. App đáp "All right, let's check that too", báo đã gửi yêu cầu hiện slide đầu tiên và có thể chạy QA cho sticker cat song song (demo trong video đăng ngày 16/10/2026).

Anh tắt tiếng một lúc. Trong thread kia hiện dòng "sent by ChatGPT from another task", và Codex đang chuyển sang thread sticker để chạy một vòng QA. Điều hay là bạn còn làm được việc này trên điện thoại. Anh hay làm vậy khi có nhiều việc đang chạy và anh đi dạo (cách làm của John, video đăng ngày 16/10/2026).
Giọng của app tiếp tục báo rằng chat "Start emulator and plan feature" đã mở và nó đã gửi yêu cầu QA mới, còn yêu cầu xem slide vẫn đang nằm ở "TT - Andrew Ng". John tắt tiếng cả hai. Theo anh, nó thật sự giống Jarvis: tính năng này tuyệt tới mức bạn làm được rất nhiều việc (nhận định trong video đăng ngày 16/10/2026).
John lưu ý: để làm được như vậy, bạn phải thiết lập trước một loạt thứ để agent chạy được lâu hơn, chạy theo goal, và làm được việc từ trước. Nếu bạn bảo app "hey, đi chạy QA đi", nó sẽ không làm được, trừ khi bạn đã dạy nó cách làm trước đó, có thể bằng một skill, hoặc viết một kiểu skill UI test nào đó (theo John, video đăng ngày 16/10/2026).
Anh kết luận voice mode cực kỳ hữu ích. Anh không dùng nó mọi lúc vì với anh nó vẫn còn hơi hỗn loạn. Nhưng nếu bạn thật sự muốn cảm giác mình là Tony Stark, đây là trải nghiệm dành cho bạn (nhận định của John, video đăng ngày 16/10/2026).
10. Lý do 9: Browser tích hợp sẵn
Tính năng lớn tiếp theo, theo John, là browser tích hợp sẵn (built-in browser). Trước hết, CLI hoàn toàn không có khái niệm browser tích hợp: nó đưa cho bạn một đường link và bạn tự mở ra (so sánh theo John, video đăng ngày 16/10/2026).
Anh rất thích browser tích hợp vì nó gom context và output được tạo ra vào ngay trong thread, và giữ chúng ở đó. Người xem đã thấy nó vài lần trong video rồi. Ví dụ, anh đang làm một bộ slide, và bộ slide đó nằm sẵn trong chính thread này. Kể cả khi anh chuyển từ thread này sang thread khác, nó vẫn ở đó và anh luôn quay lại được. Anh không phải chạy theo một bộ slide lạc đâu đó trong browser, và nó không bị lạc giữa đống tab Chrome (cách làm của John, video đăng ngày 16/10/2026).
Cái này cũng vậy: anh có một project mới đang làm, và mọi thứ của nó đều nằm ở đây. Anh mở nó ra ngay từ thread, và còn dùng được cả phần visual feedback đã nói ở trên. Anh nói bạn cần màn hình to hơn một chút; màn hình anh đang trình chiếu khá nhỏ. Theo anh, đây là một mức tích hợp rất lớn, giúp bạn tổ chức công việc muốn làm, lặp nhanh và xem được thành quả. Anh thật sự nghĩ browser trong app là thứ thay đổi cuộc chơi (nhận định trong video đăng ngày 16/10/2026).
11. Lý do 10: Visual code review
Liên quan tới browser tích hợp, tính năng tiếp theo là visual code review. Trên CLI, để làm việc này bạn về cơ bản phải mở một terminal hoặc mở code trong một code editor nào đó; theo John, xem code đã thay đổi ngay trong terminal là rất khó (so sánh theo John, video đăng ngày 16/10/2026).
Với Codex app thì có một khung bên cạnh, giống như cái browser bên cạnh kia, để xem tất cả các thay đổi code bạn đã làm, xem diff ngay tại đó. Nếu bạn muốn nhìn nhanh toàn bộ code đã sửa, đây là một cách xem tốt hơn hẳn (theo John, video đăng ngày 16/10/2026).

workers/editor/plan_edit.py ở dưới, trong khi goal vẫn đang chạy test (màn hình app trong video đăng ngày 16/10/2026).Còn có thêm các tùy chọn khác, như đổi chế độ xem: thay vì nhìn trái phải, bạn xem inline; bạn cũng xem được toàn bộ các file và nhảy qua lại giữa các file. Anh thấy nó khá ổn, một sự pha trộn với kiểu cũ, nơi bạn có tất cả những thứ của IDE. Với anh, đây là một thứ "có thì tốt", vì đôi khi anh vẫn thật sự muốn xem code đã thay đổi. Nên theo anh, có thêm cái này cũng là thứ thay đổi cuộc chơi (nhận định trong video đăng ngày 16/10/2026).
12. Lý do 11: Kéo thread để chia sẻ context
Tính năng tiếp theo rất ngắn, nhưng là một trong những tính năng John thích: kéo thread để chia sẻ context. Anh nói đây là tính năng chỉ có trên Codex và khá hay (tính đến video đăng ngày 16/10/2026).
Có những lúc anh muốn đưa context của một thread sang một thread khác. Trong Codex có nhiều cách để làm việc này, và thật lòng mà nói, trong CLI cũng có cách để làm phần nào, chỉ là vụng hơn. Giả sử anh có một thread mới và muốn "gieo" (seed) cho nó context của thread kia. Bạn chỉ cần kéo thread đó thả vào, và về cơ bản nó sẽ tham chiếu tới cuộc chat. Nó không lấy toàn bộ context, mà tận dụng context đó để bắt đầu lại từ đầu (theo John, video đăng ngày 16/10/2026). Anh thả thread "Start emulator and plan feature" vào ô chat mới của Sticker-Game và hỏi thử "What was this about?".
What was this about?
Tất nhiên còn cách khác: với bất kỳ thread nào, bạn có thể branch cuộc chat, nhưng việc đó tạo ra một worktree nên hơi khác (theo John, video đăng ngày 16/10/2026). Anh kết lại: đây là một tính năng nhỏ, nhưng anh nghĩ nó thật sự rất hay.
13. Lý do 12: Schedules
Tính năng tiếp theo mà John nói là riêng của Codex app là schedules (tính đến video đăng ngày 16/10/2026). Trên CLI, bạn có thể lên lịch một việc bằng cách tự tạo cron job chạy trên máy, nhưng theo anh rất khó quản lý vì bạn không nhìn thấy chúng.
Trong Codex app, bạn chỉ cần dùng /schedule và nói kiểu như sau, và app sẽ thiết lập lịch cho bạn (demo trong video đăng ngày 16/10/2026):
/schedule Every morning at 8 a.m., check all of the PRs that I have and give me a summary of them and fix any issues that people have commented on my PRs.
Codex trả lời rằng nó sẽ thiết lập một lượt kiểm tra hằng ngày lúc 8 giờ sáng cho các PR đang mở, tóm tắt trạng thái và xử lý các comment review có thể hành động được, rồi ghi "I'm using the OpenAI docs skill to configure the recurring check" và "Creating scheduled chat" (demo trong video đăng ngày 16/10/2026).
Một điểm quan trọng John nhắc: laptop của bạn phải bật thì lịch mới chạy, vì anh đặt lịch ngay trong app; nhưng cũng có cách đặt lịch trên cloud để nó chạy luôn trên cloud. Anh nhắc lại đây là tính năng riêng của Codex app: bạn không làm được trên CLI, trừ khi tự dựng giải pháp riêng như cron job (theo John, video đăng ngày 16/10/2026).
Điểm hay là có tín hiệu trực quan cho biết một lịch đang tồn tại, và bạn quản lý được nó. Mở lịch ra, bạn thêm được các rule; anh gọi đó là dạng biểu diễn kiểu cron (trên màn hình là ô "Edit schedule rule" với chuỗi bắt đầu bằng RRULE:FREQ=DAILY;BYHOUR=8;BYMINUTE=0). Bạn còn có các tính năng nâng cao như mỗi lần chạy thì bắt đầu trong một chat mới thay vì chat hiện tại, hay thậm chí chọn model khác, và những thứ tương tự. Nhờ vậy nó trở nên rất mạnh (theo John, video đăng ngày 16/10/2026).

John kể anh có một lịch chuyên dọn các ảnh chụp màn hình trên desktop và những việc tương tự. Bạn có thể tạm dừng (pause) hoặc tiếp tục (resume) lịch, và thấy được có một lịch đang gắn vào nhờ một dấu hiệu nhỏ. Cuối phần này anh xóa lịch vừa tạo (demo trong video đăng ngày 16/10/2026).
14. Lý do 13: Sites
Tính năng tiếp theo là sites. Theo John, sites là một trong những thứ chỉ thật sự hữu ích nếu bạn làm việc với Codex cùng nhiều người. Cá nhân anh hiện không có nhiều người làm việc cùng thường xuyên, nhưng anh vẫn phải đưa nó vào danh sách vì nghĩ nó rất mạnh (theo John, video đăng ngày 16/10/2026).
Trên CLI, anh tin là bạn cũng tạo được site, nhưng không có toàn bộ phần giao diện xem, analytics và quản lý trọn vẹn (so sánh theo John, video đăng ngày 16/10/2026). Để tới sites trong app, bạn vào spaces, rồi chọn mục sites, và thấy danh sách tất cả các site.
Một site về cơ bản là một website đã được deploy mà đồng đội của bạn truy cập được. Nếu bạn muốn chia sẻ thứ gì đó, anh nhắc tới cái meme về chuyện gửi cho người khác link localhost của mình: với sites, chuyện đó không còn là vấn đề, vì website đã thực sự được deploy bên trong cả hệ sinh thái Codex và bạn chia sẻ được cho đồng đội (theo John, video đăng ngày 16/10/2026).
Theo anh, đây là cách nhanh để làm slide, dashboard, hay thứ gì đó mà nhóm muốn dùng thường xuyên. Bạn cùng nhóm build nó, rồi deploy và chia sẻ ra. Vì vậy, nếu bạn đang làm việc cùng người khác ngay trong Codex, anh nghĩ sites là một tính năng rất lớn (nhận định trong video đăng ngày 16/10/2026).
15. Lý do 14: Spaces
Liên quan tới sites, mẹo tiếp theo là spaces. John nói tính năng này thật sự dành cho trường hợp bạn làm việc với Codex theo nhóm, và khi đó nó rất lớn, vì trong spaces có tất cả những kết nối này (theo John, video đăng ngày 16/10/2026).
Ví dụ, anh đã tải một file về và đặt nó vào đây, nên về cơ bản nó giống Google Drive. Ngoài ra còn có các page bạn tạo được, như to-do list. Có cả các hình ảnh mà nhóm bạn đã thêm vào. Anh đang làm một podcast, và bảo người xem đừng để ý tới bức ảnh xấu xí kia; anh đang dựng một cái set quay. Bạn tạo được page mới. Vậy nên, theo anh, nó giống một Google Drive cục bộ mà không cần có Google Drive (theo John, video đăng ngày 16/10/2026).
Nhưng bạn cũng kết nối được Google Drive của mình, và mời đồng đội vào space để chia sẻ. Một lần nữa, theo John, nếu bạn làm việc với Codex theo nhóm, spaces là nơi rất tốt để gom nhiều context về một chỗ rồi kéo từ spaces vào từng thread riêng (nhận định trong video đăng ngày 16/10/2026).
16. Bonus: mọi thứ ở một chỗ, với dots và điện thoại
Thế là xong 14 mẹo. Nhưng trước khi kết thúc, John tặng thêm một mẹo bonus cuối cùng cho đủ 15. Anh nói đây là thứ anh vừa mới nghĩ ra, nên có thể anh đã cập nhật lại slide. Theo anh, cái hay của Codex app nằm ở chỗ mọi thứ đều ở một nơi, và anh nghĩ điều này hiện là riêng của Codex app của OpenAI (nhận định trong video đăng ngày 16/10/2026; slide ghi "Everything in one place").
Anh cho rằng app ChatGPT có thể nói là thứ gắn kết nhất giữa các app khác. Claude cũng có app như thế này, nhưng theo anh họ chưa có agent của mình (nhận định của John, video đăng ngày 16/10/2026). Ví dụ, dots vừa mới ra mắt (trang giới thiệu trên màn hình ghi "Introducing dots", ngày September 29, 2026). Trong dot của anh, bạn điều khiển được các thread khác. Anh nói với nó:
Hey, can you go to the cohort run thread and start a new thread and tell me what that project is about? As an example. Can you also open the sticker game so I can play it on my phone?
Với yêu cầu thứ hai, về cơ bản anh có thể để nó cài game lên điện thoại của anh. Dot trả lời rằng nó sẽ tìm thread cohort run, mở một thread mới để tìm hiểu project và tóm tắt, rồi tìm sticker game và xem cách mở trên điện thoại; sau đó báo "I've started two threads on your Mac" (demo trong video đăng ngày 16/10/2026).

Vì dots kết nối với toàn bộ Codex của anh và điều khiển được Codex, tất cả các thread khác nhau, nó trở nên mạnh hơn nhiều: bạn gọi dots và để nó làm "chief of staff" cho mình, hoặc như một người bạn của anh nói, làm "captain" của bạn (theo John, video đăng ngày 16/10/2026). Anh thấy pattern này rất mạnh.
Một điểm bonus thật sự lớn nữa mà anh chưa nhắc: anh bật iPhone mirroring ngay trên máy. Trên điện thoại có Alfred, chính là dot của anh, và nó khớp một-một với tin nhắn đang thấy trên máy. Tất nhiên bản điện thoại không có mấy dấu hiệu "đang chạy" nhỏ, nhưng anh tương tác được với app và điều khiển toàn bộ Codex app bằng điện thoại (demo trong video đăng ngày 16/10/2026).
Không chỉ vậy, nếu anh vào Codex trên điện thoại, nó kết nối với laptop vì anh đã kết nối sẵn, và về cơ bản khớp một-một với tất cả những thứ anh có và quan tâm, tất cả các trạng thái. Anh vào thử thread PR đang làm, thấy nó nằm ngay đó, và điều khiển được hoàn toàn; nó đang "thinking", và nếu anh gõ "hey, what's up" thì nó phản hồi (demo trong video đăng ngày 16/10/2026). Tất cả làm được trên điện thoại. Chỉ cần laptop bật, anh làm được ở bất cứ đâu. Anh chỉ thêm: chỗ này là Alfred đang khởi động app của anh trên điện thoại.
Vậy là, theo John, sự tương tác của mọi thứ ở cùng một chỗ, việc anh có toàn quyền truy cập vào tất cả contact, tất cả thread, và bot của anh điều khiển được các app, thật lòng mà nói mới là tính năng "ăn tiền" thật sự. Anh gọi đó là sự hợp nhất, kiểu khu vườn có tường bao (walled garden) theo phong cách Apple: chỉ cần bạn ở trong hệ sinh thái này, bạn sẽ có quyền truy cập vào tất cả những thứ nói chuyện được với nhau (nhận định trong video đăng ngày 16/10/2026).
Nếu bạn là engineer nhưng cũng làm content hay làm bất cứ việc gì khác, John nói thật lòng: OpenAI đang làm cả voice, hình ảnh và nhiều thứ khác, còn Claude Code thì không thật sự làm những thứ đó. Theo anh, Claude không có những model voice hay model hình ảnh ấn tượng như vậy, và một khi đã ở trong hệ sinh thái thì rất khó rời đi (nhận định của John, video đăng ngày 16/10/2026; trên màn hình lúc này là trang OpenAI "Advancing voice intelligence with new models in the API").
Anh mời người xem nhìn thử: anh đang tạo một loạt hình ảnh, và theo anh bạn sẽ không có được hình ảnh chất lượng thế này trừ khi bạn ở trên Codex (nhận định của John, video đăng ngày 16/10/2026; trên màn hình có hình huy hiệu "ChatGPT Images 2.0"). Anh khen những hình đó tuyệt vời, dù tất nhiên vẫn còn vài lỗi trong đó.
17. Vì sao John nghĩ app là tương lai của AI coding
Nếu 14 hay 15 lý do trên vẫn chưa đủ để bạn chuyển sang app, John muốn chứng minh vì sao anh nghĩ app là tương lai. Theo anh, nhìn vào những gì một công ty chọn open source là điều rất đáng chú ý: công ty sẽ open source những thứ có lợi cho họ, nhưng không đủ giá trị để họ phải giữ lại (lập luận của John, video đăng ngày 16/10/2026).
Theo anh, điều rất đáng chú ý là OpenAI đang coi trọng app và dồn nhiều công sức hơn vào app. Anh nói điều này cũng đúng với Claude Code, với Anthropic: họ đang dồn nhiều công sức hơn hẳn vào app, vì chính app là con hào (moat). Tất cả những tính năng anh vừa kể, một khi đã quen thì rất khó bỏ (nhận định của John, video đăng ngày 16/10/2026).
Và với anh, điều rất đáng chú ý là nếu bạn nhìn lên GitHub, Codex bản CLI đã được open source. Anh thấy việc họ open source nó là thật sự đáng nể, và anh đã đào sâu vào mã nguồn để tìm hiểu thêm (theo John, video đăng ngày 16/10/2026). Trang repo trên màn hình là openai/codex, phần About ghi "Lightweight coding agent that runs in your terminal", giấy phép Apache-2.0.

openai/codex trên GitHub như trong video: các thư mục codex-cli, codex-rs, docs, sdk..., phần About "Lightweight coding agent that runs in your terminal", Apache-2.0, 129.1k stars và bản release mới nhất 0.162.1 (số liệu trên màn hình trong video đăng ngày 16/10/2026).Nhưng thứ gì không được open source? Chính là app. App không được open source. Và theo John, đó là vì app là chiến lược chính của họ. Nếu đó là chiến lược chính, họ sẽ tiếp tục đổ tài nguyên vào đó, thêm nữa và thêm nữa. Và một ngày nào đó, nó có thể trở thành nơi duy nhất bạn làm mọi việc, không chỉ coding mà có thể cả nhắn tin hay quản lý task, mọi thứ bạn nghĩ ra được cho một công việc văn phòng (nhận định của John, video đăng ngày 16/10/2026).
Theo anh, một ngày nào đó bạn có thể làm mọi thứ trên IDE này, một kiểu IDE mới. Đó là quan điểm tổng thể của anh (video đăng ngày 16/10/2026).
18. Kết: những tính năng đủ để John chuyển hẳn
John nói anh chưa kịp đi qua hết mọi tính năng khác nhau, nhưng những tính năng đã nói, theo anh, là những thứ mang tính quyết định, đặc biệt là mấy tính năng đầu. Ví dụ anh dùng prompt queue suốt trong công việc, và chỉ riêng visual feedback cùng visual rendering đã đủ để anh chuyển sang app (nhận định của John, video đăng ngày 16/10/2026).

Anh còn chưa nói tới các session kiểu SSH, khi bạn dùng các instance on-demand và phải SSH vào. Trên màn hình lúc đó là trang tài liệu của OpenAI với hướng dẫn "In the app, open Settings > Connections, add or enable the SSH host, then choose a remote project folder." và mục "Hand off a chat between hosts" (trang tài liệu trong video đăng ngày 16/10/2026). Anh nói mình có thể nói về chủ đề này lâu hơn nhiều, có khi thêm 15 lý do nữa.
Anh hy vọng mọi người thích video này, cảm ơn người xem và hẹn gặp lại.
Nguồn và liên kết 6 nguồn
- Tên gốc: Stop Using Codex in Terminal (It’s Holding You Back)
- Sự kiện: YouTube
- Video gốc: https://www.youtube.com/watch?v=yK9GnaE9rlY youtube.com
- Kênh YouTube John Kim (John Kim): youtube.com/channel/UCiZotp9tZ4uXgXEjHDUYzBQ youtube.com
- Repo Codex CLI của OpenAI, phần About ghi "Lightweight coding agent that runs in your terminal", giấy phép Apache-2.0 (đọc ngày 26/10/2026): github.com/openai/codex github.com
- Tài liệu desktop app của OpenAI (đọc ngày 26/10/2026; link developers.openai.com/codex/app hiện chuyển tới trang "ChatGPT desktop app", mô tả việc chạy project song song, dùng browser và máy tính, lên lịch task trong chat): learn.chatgpt.com/docs/app developers.openai.com