1
00:00:00,099 --> 00:00:04,420
Quick shoutout to Jellypod for helping us
bring this daily break to you every

2
00:00:04,539 --> 00:00:05,639
morning.

3
00:00:05,719 --> 00:00:10,819
Alright, so Maya, if, if you have ever sat
there staring at a frozen terminal

4
00:00:10,880 --> 00:00:15,319
because a pre turn git script or test run
was hogging the whole process...

5
00:00:16,199 --> 00:00:20,479
OpenAI just pushed Codex version zero
point one forty eight point zero,

6
00:00:21,159 --> 00:00:23,719
and it completely fixes that bottlenecks
issue.

7
00:00:24,689 --> 00:00:26,089
Wait, seriously?

8
00:00:26,450 --> 00:00:29,170
They finally made hooks non blocking?

9
00:00:29,690 --> 00:00:34,329
Because, like, I, I cannot tell you how
many times a simple background indexing

10
00:00:34,409 --> 00:00:38,170
script completely locked up my TUI session
while I was trying to prompt.

11
00:00:38,739 --> 00:00:39,099
Right!

12
00:00:39,620 --> 00:00:40,339
Exactly.

13
00:00:40,879 --> 00:00:45,659
So, in this release, inside your dot codex
slash hooks dot toml file,

14
00:00:46,279 --> 00:00:49,559
you can now set execution mode equals
async.

15
00:00:50,239 --> 00:00:55,079
And what that actually means under the
hood is your pre turn and post turn commands

16
00:00:55,180 --> 00:00:57,439
run asynchronously in the background.

17
00:00:58,159 --> 00:01:03,260
The terminal user interface stays
completely responsive, so you can draft prompts

18
00:01:03,340 --> 00:01:05,360
while startup or background checks are
happening.

19
00:01:05,715 --> 00:01:09,614
Okay, wait, let me make sure I understand
the mechanics here.

20
00:01:09,694 --> 00:01:14,734
If execution mode is async, what happens
if that background script wants to,

21
00:01:14,774 --> 00:01:17,774
like, feed context into my prompt?

22
00:01:17,835 --> 00:01:23,334
If generation starts immediately, can an
async hook still alter the turn input?

23
00:01:23,867 --> 00:01:26,867
Ah, that is the exact boundary condition
they built in.

24
00:01:27,487 --> 00:01:32,348
No, an async hook cannot mutate turn input
once model generation begins.

25
00:01:33,008 --> 00:01:37,088
If you need a script to modify what the
model sees before it starts thinking,

26
00:01:37,168 --> 00:01:39,027
that still has to be a synchronous hook.

27
00:01:39,867 --> 00:01:45,187
Async is specifically for non blocking
automation, like running background linters,

28
00:01:45,647 --> 00:01:49,747
firing off webhooks, or updating local
state without making you wait.

29
00:01:49,951 --> 00:01:51,992
Ah, that makes total sense.

30
00:01:52,371 --> 00:01:57,371
You can't let a background process
retroactively edit a prompt that the model is

31
00:01:57,451 --> 00:01:59,391
already halfway through answering!

32
00:02:00,092 --> 00:02:05,471
But, um, what happens if one of those
async background scripts hangs indefinitely?

33
00:02:05,951 --> 00:02:08,851
Does it just sit there sucking up memory
forever?

34
00:02:09,167 --> 00:02:12,527
That is where issue thirty seven five two
seven comes in.

35
00:02:12,639 --> 00:02:16,367
They added process tree termination for
timed out hooks.

36
00:02:16,634 --> 00:02:23,247
So if a hook process times out, Codex
doesn't just kill the parent PID and leave

37
00:02:23,304 --> 00:02:25,967
orphaned child processes floating around.

38
00:02:26,207 --> 00:02:31,087
It terminates the whole process tree
cleanly across Linux, Mac,

39
00:02:31,127 --> 00:02:31,887
and Windows.

40
00:02:32,274 --> 00:02:34,674
Oh, that is so clean!

41
00:02:35,375 --> 00:02:40,795
Process tree cleanup is notoriously messy,
especially on Windows when sub-shells

42
00:02:40,835 --> 00:02:42,554
spawn their own sub-processes.

43
00:02:43,354 --> 00:02:46,614
But wait, Ethan, there was another hook
feature in this release,

44
00:02:46,734 --> 00:02:46,934
right?

45
00:02:47,534 --> 00:02:49,475
Something about MCP tools?

46
00:02:50,057 --> 00:02:50,557
Yes!

47
00:02:50,958 --> 00:02:51,797
This is huge.

48
00:02:52,178 --> 00:02:57,037
Hooks can now programmatically invoke
Model Context Protocol tools directly.

49
00:02:57,657 --> 00:03:03,757
You define mcp tool equals server colon
tool inside your hook configuration,

50
00:03:04,277 --> 00:03:07,437
and Codex calls that MCP tool
automatically.

51
00:03:08,197 --> 00:03:12,818
Think about what that unlocks: before a
turn even starts, a hook can

52
00:03:12,878 --> 00:03:17,737
programmatically query a database via MCP,
grab fresh context,

53
00:03:18,138 --> 00:03:23,997
or run a diagnostic tool, all without
adding prompt overhead or requiring human

54
00:03:24,057 --> 00:03:24,638
intervention.

55
00:03:25,026 --> 00:03:30,806
Wait, so instead of me manually asking the
model, hey, go run this database check

56
00:03:30,866 --> 00:03:35,426
tool before answering, the workspace hook
just does it silently in the pipeline?

57
00:03:36,326 --> 00:03:40,906
That, that, that completely changes how we
chain local developer tools into LLM

58
00:03:40,966 --> 00:03:41,707
workflows!

59
00:03:42,083 --> 00:03:42,963
It really does.

60
00:03:43,103 --> 00:03:48,163
And speaking of keeping your developer
workflow seamless, zero point one forty eight

61
00:03:48,230 --> 00:03:53,523
point zero also brings some massive
quality of life upgrades to session management

62
00:03:53,623 --> 00:03:55,203
and conversation export.

63
00:03:55,488 --> 00:03:56,527
Oh, like what?

64
00:03:57,027 --> 00:04:01,587
Because I know exporting full terminal
chat histories used to be a copy-paste

65
00:04:01,907 --> 00:04:06,047
nightmare with broken formatting and weird
wrapped URLs.

66
00:04:06,534 --> 00:04:07,534
Exactly that.

67
00:04:08,115 --> 00:04:11,534
Now you just type slash export inside the
TUI.

68
00:04:12,134 --> 00:04:16,135
You can export the complete conversation
directly to structured Markdown,

69
00:04:16,694 --> 00:04:19,854
either straight to your clipboard or saved
to a new file.

70
00:04:20,554 --> 00:04:26,655
It preserves code blocks, tool call
records, and turn metadata perfectly so you can

71
00:04:26,694 --> 00:04:30,394
paste it right into pull request
descriptions or issue tickets.

72
00:04:30,677 --> 00:04:32,198
Oh, thank goodness.

73
00:04:32,658 --> 00:04:38,097
No more manually selecting terminal text
and getting weird line break artifacts in

74
00:04:38,257 --> 00:04:38,997
code blocks!

75
00:04:39,857 --> 00:04:41,737
But what about branching sessions?

76
00:04:42,317 --> 00:04:47,177
Say I am halfway through debugging a
complex bug, and I want to test a radical

77
00:04:47,277 --> 00:04:50,237
refactor without ruining my current chat
history?

78
00:04:50,500 --> 00:04:56,180
You can now run codex exec fork directly
from the command line to branch headless

79
00:04:56,242 --> 00:04:56,820
sessions.

80
00:04:56,960 --> 00:05:02,500
And inside the TUI resume picker, you can
archive old sessions to declutter your

81
00:05:02,556 --> 00:05:07,700
workspace list, or restore archived
sessions whenever you need to revisit an old

82
00:05:07,757 --> 00:05:08,180
thread.

83
00:05:08,420 --> 00:05:12,420
So you get complete control over session
branching and cleanup.

84
00:05:12,936 --> 00:05:18,476
So I can fork a session, try an
experimental fix in a isolated branch,

85
00:05:19,116 --> 00:05:23,156
and if it fails, just jump back to my
archived main session?

86
00:05:24,176 --> 00:05:27,936
That is basically git branch for AI
conversation trees.

87
00:05:28,857 --> 00:05:31,677
But wait, what about long running OAuth
tools?

88
00:05:32,296 --> 00:05:37,636
I remember in earlier builds, if an MCP
server's OAuth token expired mid session,

89
00:05:38,056 --> 00:05:41,677
the whole thing would crash or demand a
full Codex restart.

90
00:05:42,079 --> 00:05:42,519
Fixed!

91
00:05:43,199 --> 00:05:46,000
Issue thirty seven three three seven.

92
00:05:46,159 --> 00:05:52,099
MCP servers now automatically recover
after OAuth reauthentication without needing a

93
00:05:52,159 --> 00:05:53,739
Codex restart.

94
00:05:53,800 --> 00:05:58,639
The background connection stream stays
alive through temporary provider outages or

95
00:05:58,699 --> 00:05:59,840
credential refreshes.

96
00:06:00,520 --> 00:06:03,479
You reauth, and Codex just picks right
back up.

97
00:06:04,799 --> 00:06:09,399
That is going to save so many people from
midday CLI restarts!

98
00:06:09,440 --> 00:06:10,960
And what about cost tracking?

99
00:06:11,399 --> 00:06:16,319
Is there any quick way to see how many
credits or tokens a long session has consumed

100
00:06:16,359 --> 00:06:18,299
without logging into a web dashboard?

101
00:06:18,667 --> 00:06:24,427
Yep, slash status now displays estimated
thread credits or cost directly in your

102
00:06:24,484 --> 00:06:28,107
status lines and terminal titles for
eligible workspaces.

103
00:06:28,347 --> 00:06:33,227
So you get real time visibility into
resource usage while you code.

104
00:06:33,647 --> 00:06:39,807
Non blocking async hooks, automatic
process tree cleanup, programmatic MCP tool

105
00:06:39,907 --> 00:06:44,008
chaining, clean Markdown exports, and
session forking.

106
00:06:45,008 --> 00:06:50,427
Zero point one forty eight point zero
really feels like Codex growing up into a true

107
00:06:50,687 --> 00:06:52,247
enterprise ready CLI tool.

108
00:06:52,682 --> 00:06:53,482
Spot on.

109
00:06:54,022 --> 00:06:56,022
Alright, that is our quick take for today!

110
00:06:56,602 --> 00:07:02,183
Go update your Codex binary, try out slash
export, and we will talk to you tomorrow.

111
00:07:02,250 --> 00:07:03,610
Bye everyone!

