1
00:00:00,099 --> 00:00:03,639
You know that feeling when you fire up the
terminal, you type codex,

2
00:00:04,019 --> 00:00:05,299
and it just...

3
00:00:05,500 --> 00:00:09,619
sits there spinning because one slow
database server somewhere is hanging during

4
00:00:09,679 --> 00:00:10,079
startup?

5
00:00:10,859 --> 00:00:14,380
Huge shoutout to Jellypod for helping us
bring you this show every day,

6
00:00:14,460 --> 00:00:14,880
by the way.

7
00:00:15,559 --> 00:00:20,260
But seriously, that old synchronous
initialize handshake was blocking everything.

8
00:00:22,167 --> 00:00:24,127
Oh, I, I know it so well.

9
00:00:24,647 --> 00:00:30,128
It used to lock up the entire Codex CLI
startup loop while it sat around waiting for

10
00:00:30,287 --> 00:00:33,527
every single Model Context Protocol server
to report back.

11
00:00:34,147 --> 00:00:36,808
Even if you just wanted to edit a local
file!

12
00:00:37,465 --> 00:00:38,104
Exactly.

13
00:00:38,584 --> 00:00:44,444
Well, Codex version 0.147.0 finally fixes
that whole mess.

14
00:00:45,254 --> 00:00:51,714
Yeah, they upgraded the underlying MCP
stack to rmcp version 3.0.0,

15
00:00:52,274 --> 00:00:58,394
and added opt in support for the new MCP
2026 07 28 specification.

16
00:00:59,054 --> 00:01:04,014
That moves things away from those rigid
stateful connections to a stateless stdio

17
00:01:04,135 --> 00:01:04,734
serving model.

18
00:01:05,042 --> 00:01:08,642
Wait, so how does that actually play out
in real time when you launch it?

19
00:01:08,754 --> 00:01:12,882
Like, what happens under the hood in pull
request 35937?

20
00:01:13,194 --> 00:01:19,754
Okay, so pull request 35937 implements non
blocking server initialization.

21
00:01:20,375 --> 00:01:25,275
That means native tools like your local
bash commands or file editing can run

22
00:01:25,314 --> 00:01:30,334
immediately while the remote or background
MCP connections finish booting up in the

23
00:01:30,375 --> 00:01:30,854
background.

24
00:01:31,592 --> 00:01:33,252
What about the tools themselves?

25
00:01:33,892 --> 00:01:38,092
If the server is still booting, does Codex
know what functions are available yet?

26
00:01:38,564 --> 00:01:42,844
That is where pull request 35590 comes in!

27
00:01:43,324 --> 00:01:48,484
It exposes cached tool definitions right
away, before the server process finishes

28
00:01:48,545 --> 00:01:48,944
spawning.

29
00:01:49,444 --> 00:01:53,924
So you do not have to wait three seconds
just to see what tools you have available.

30
00:01:54,208 --> 00:01:56,208
Ah, so the UI feels instant.

31
00:01:56,368 --> 00:02:01,248
But what happens when you connect to a
huge enterprise server that has hundreds of

32
00:02:01,294 --> 00:02:02,528
custom tools?

33
00:02:02,661 --> 00:02:07,568
In the past, that would just dump a
massive JSON schema right into your prompt

34
00:02:07,648 --> 00:02:08,768
context, right?

35
00:02:09,889 --> 00:02:10,509
Yes!

36
00:02:10,909 --> 00:02:15,589
It would completely trash your context
window budget and send token costs through

37
00:02:15,649 --> 00:02:16,289
the roof.

38
00:02:17,010 --> 00:02:22,369
But 0.147.0 introduces paginated discovery
for schemas.

39
00:02:22,809 --> 00:02:27,989
Instead of a monolithic single payload
tool schema dump, the discovery is streamed

40
00:02:28,069 --> 00:02:29,269
in chunks as needed.

41
00:02:29,709 --> 00:02:32,769
It stops context truncation dead in its
tracks.

42
00:02:33,363 --> 00:02:35,882
That context budget saving is massive.

43
00:02:36,442 --> 00:02:42,702
And speaking of interactive tool behavior,
pull request 35725 brings support for

44
00:02:42,742 --> 00:02:44,362
multi round requests.

45
00:02:44,463 --> 00:02:49,402
So if a tool needs parameter clarification
mid turn, it can actually ask you follow

46
00:02:49,442 --> 00:02:52,322
up questions instead of just failing or
guessing.

47
00:02:52,694 --> 00:02:56,954
Wait, what if you hit Control C halfway
through one of those multi round

48
00:02:56,994 --> 00:02:57,815
conversations?

49
00:02:58,125 --> 00:03:04,605
That was actually a big issue before, but
pull request 35836 specifically cleans up

50
00:03:04,685 --> 00:03:09,565
orphaned elicitation state when a user
hits Control C to cancel.

51
00:03:09,832 --> 00:03:12,605
No ghost state left hanging in your
session.

52
00:03:12,944 --> 00:03:15,284
That is super clean.

53
00:03:15,384 --> 00:03:21,685
Now, if people want to turn on this new
2026 07 28 protocol version,

54
00:03:22,324 --> 00:03:23,404
how do they actually do it?

55
00:03:23,750 --> 00:03:29,590
You just set it in your dot codex slash
config dot toml file under the protocol

56
00:03:29,647 --> 00:03:30,950
configuration block.

57
00:03:31,090 --> 00:03:33,830
But there is a catch you have to watch out
for.

58
00:03:34,232 --> 00:03:35,612
What kind of catch?

59
00:03:36,125 --> 00:03:40,845
If you are connecting through legacy stdio
gateways, some of them still require

60
00:03:40,918 --> 00:03:46,925
persistent Mcp Session Id headers or those
old stateful initialization sequences.

61
00:03:47,165 --> 00:03:51,965
If you force stateless on a server that
expects state, connection will fail.

62
00:03:52,437 --> 00:03:53,578
Right, right.

63
00:03:54,158 --> 00:03:58,737
I actually tested this background boot
improvement yesterday with a really slow

64
00:03:58,878 --> 00:04:02,977
remote database connector that usually
takes five or six seconds to respond.

65
00:04:03,477 --> 00:04:06,037
The difference in session feel is wild.

66
00:04:06,557 --> 00:04:10,397
I was able to run local git commands
instantly without waiting on the remote

67
00:04:10,458 --> 00:04:11,137
database link.

68
00:04:12,018 --> 00:04:13,938
It makes a huge difference in flow.

69
00:04:14,717 --> 00:04:21,458
And hey, there are two small terminal
polish updates in 0.147.0 that I

70
00:04:21,477 --> 00:04:22,418
really appreciate.

71
00:04:23,157 --> 00:04:29,898
First, pull request 36036 lets you name
forked sessions directly inside the terminal

72
00:04:30,058 --> 00:04:30,777
user interface.

73
00:04:31,152 --> 00:04:32,272
Oh nice!

74
00:04:32,752 --> 00:04:33,912
And what was the second one?

75
00:04:34,292 --> 00:04:39,092
Pull request 35962 upgraded Ratatui to
version

76
00:04:39,412 --> 00:04:41,412
0.30.2.

77
00:04:41,652 --> 00:04:46,532
It fixes those annoying cursor positioning
glitches when rendering halfwidth

78
00:04:46,612 --> 00:04:48,532
Japanese sound marks in the terminal.

79
00:04:49,001 --> 00:04:54,542
Love seeing those subtle quality of life
fixes land alongside big protocol updates.

80
00:04:55,241 --> 00:04:57,962
Alright, I am off to go clean out my
config file.

