1
00:00:00,240 --> 00:00:00,960
Morning, everyone.

2
00:00:01,500 --> 00:00:06,680
Quick note before we get into it: this
daily show exists because of Jellypod,

3
00:00:07,380 --> 00:00:10,380
so thanks to Jellypod for helping make it
a reality.

4
00:00:11,440 --> 00:00:17,900
Today is Codex CLI 0.166.0, tagged on
October 29,

5
00:00:18,400 --> 00:00:23,820
commit 6ff1e1c, following the 0.165 line.

6
00:00:24,638 --> 00:00:27,718
And there's one change in this release
that you'll notice the first time a long

7
00:00:27,818 --> 00:00:29,278
session scrolls off your screen.

8
00:00:29,778 --> 00:00:32,758
The TUI now has keyboard driven transcript
selection.

9
00:00:33,178 --> 00:00:39,638
That's four pull requests: 57221, 57222,
57223, and

10
00:00:40,078 --> 00:00:40,998
57224.

11
00:00:41,498 --> 00:00:45,118
Together they add word, line, and page
motions, integrated search,

12
00:00:45,398 --> 00:00:49,158
configurable shortcuts, and wiring into
the transcript overlays.

13
00:00:49,993 --> 00:00:54,933
Let's take those pieces one at a time,
because each one maps to something you do.

14
00:00:55,753 --> 00:00:57,113
The motions come first.

15
00:00:57,753 --> 00:01:01,593
You can move through the transcript by
word, by line, or by page,

16
00:01:01,953 --> 00:01:02,553
without a mouse.

17
00:01:03,333 --> 00:01:07,773
If an agent printed a long diff or a
command output twenty screens ago,

18
00:01:08,273 --> 00:01:12,273
you can navigate back to the exact spot
and select what you need.

19
00:01:13,097 --> 00:01:16,237
Second is Find, which is integrated with
that selection mode.

20
00:01:16,517 --> 00:01:18,497
That's PR 57222.

21
00:01:18,977 --> 00:01:21,397
So search and selection aren't two
separate features.

22
00:01:21,817 --> 00:01:25,617
You can search the transcript text and
land in a selection context,

23
00:01:26,017 --> 00:01:29,137
instead of searching in one place and then
trying to grab text somewhere else.

24
00:01:29,677 --> 00:01:35,077
Third, 57223 wires keyboard selection into
the transcript overlays,

25
00:01:35,617 --> 00:01:37,457
so it isn't limited to the main view.

26
00:01:38,057 --> 00:01:39,597
And the shortcuts are configurable.

27
00:01:40,097 --> 00:01:42,777
That matters, and I'll come back to it in
the caveats.

28
00:01:43,537 --> 00:01:47,197
The one I'd flag as the most practical is
57224.

29
00:01:47,837 --> 00:01:52,697
Its title is fix transcript selection
input routing and preserve composer drafts.

30
00:01:53,417 --> 00:01:54,437
Think about the scenario.

31
00:01:54,737 --> 00:01:58,657
You're halfway through typing a prompt,
you need to copy a file path from earlier

32
00:01:58,737 --> 00:02:01,177
output, and you don't want to lose what
you typed.

33
00:02:01,817 --> 00:02:06,117
The fix means that when you enter
selection mode, your unsubmitted composer text

34
00:02:06,377 --> 00:02:06,937
stays put.

35
00:02:07,457 --> 00:02:10,136
Right, and the release notes are specific
about that.

36
00:02:10,636 --> 00:02:13,957
The thing they claim is routing:
keystrokes go to the selection mode,

37
00:02:14,257 --> 00:02:15,197
not into your draft.

38
00:02:15,737 --> 00:02:18,737
The thing they don't spell out is every
single key.

39
00:02:19,517 --> 00:02:23,577
So I'd treat this as something to try on
your own setup rather than something I can

40
00:02:23,617 --> 00:02:24,737
recite a cheat sheet for.

41
00:02:25,340 --> 00:02:25,540
Fair.

42
00:02:26,100 --> 00:02:27,420
Here's how I'd actually try it.

43
00:02:27,840 --> 00:02:32,480
Start a session, let it produce some real
output, then type a half written prompt in

44
00:02:32,500 --> 00:02:33,900
the composer and leave it there.

45
00:02:34,560 --> 00:02:38,520
Enter transcript selection mode using
whatever binding your build gives you.

46
00:02:39,160 --> 00:02:41,820
Move by word, then line, then page.

47
00:02:42,280 --> 00:02:43,340
Run a search with Find.

48
00:02:43,900 --> 00:02:44,580
Copy something.

49
00:02:45,120 --> 00:02:48,700
Then back out and confirm that your draft
is still sitting in the composer.

50
00:02:49,257 --> 00:02:53,997
That last check is the one that tells you
whether the routing fix works in your

51
00:02:54,037 --> 00:02:54,417
terminal.

52
00:02:55,517 --> 00:03:01,137
And if you've been relying on mouse
selection or on tmux copy mode for this,

53
00:03:01,697 --> 00:03:02,517
it's worth comparing.

54
00:03:03,697 --> 00:03:06,857
I can't say from the release notes how it
stacks up against those.

55
00:03:07,397 --> 00:03:13,097
But a selection mode that lives inside the
TUI at least knows where the transcript

56
00:03:13,177 --> 00:03:13,737
boundaries are.

57
00:03:15,172 --> 00:03:16,312
Now the caveats.

58
00:03:17,092 --> 00:03:18,512
First, shortcuts.

59
00:03:19,312 --> 00:03:22,572
Since they're configurable, check the
keybinding configuration,

60
00:03:23,172 --> 00:03:26,452
especially if you customized TUI keys in
an earlier release.

61
00:03:27,392 --> 00:03:32,372
The release notes don't describe a
migration, so I'd look for conflicts between your

62
00:03:32,412 --> 00:03:34,052
custom bindings and the new ones.

63
00:03:35,465 --> 00:03:40,765
Second, and this is my inference, not
something from the release notes: terminals

64
00:03:40,805 --> 00:03:45,125
and multiplexers can intercept keys before
the application ever sees them.

65
00:03:46,045 --> 00:03:51,165
If you run Codex inside tmux or screen,
and a navigation key does nothing,

66
00:03:51,725 --> 00:03:52,805
that's the first place I'd look.

67
00:03:53,705 --> 00:03:57,345
Check whether the multiplexer or your
terminal emulator is capturing it,

68
00:03:57,965 --> 00:04:00,205
then rebind on whichever side is easier.

69
00:04:01,117 --> 00:04:05,657
And third, this is a new mode with four
PRs behind it in one release.

70
00:04:06,437 --> 00:04:08,757
If something behaves oddly, narrow it
down.

71
00:04:09,457 --> 00:04:11,537
Does it happen with a draft in the
composer?

72
00:04:12,097 --> 00:04:13,057
Inside an overlay?

73
00:04:13,777 --> 00:04:15,157
Only with a particular binding?

74
00:04:16,037 --> 00:04:17,877
That makes a bug report much more useful.

75
00:04:18,365 --> 00:04:20,425
A few smaller items worth mentioning.

76
00:04:21,365 --> 00:04:26,445
There's a connection to an earlier episode
here: when we covered Codex CLI

77
00:04:26,905 --> 00:04:33,585
0.164.0, the story was switching to GPT
6.1 Terra inline.

78
00:04:34,505 --> 00:04:41,485
In 0.166.0, PR 57293 adds Terra to the
bundled

79
00:04:41,585 --> 00:04:45,625
catalog, and also to the Vertex AI and
Amazon Bedrock catalogs.

80
00:04:46,305 --> 00:04:49,485
So it's no longer just the local CLI
defaults that know about it.

81
00:04:50,407 --> 00:04:53,407
Next, codex queue now takes a resume flag.

82
00:04:53,807 --> 00:04:55,927
That's PR 57232.

83
00:04:56,447 --> 00:05:00,907
You queue a message, and with the flag it
also resumes the thread if that thread is

84
00:05:00,967 --> 00:05:01,527
unloaded.

85
00:05:02,027 --> 00:05:03,427
Before, that was a separate step.

86
00:05:04,027 --> 00:05:08,367
Related, there's a change that reduces the
default thread unload delay to one

87
00:05:08,427 --> 00:05:10,867
minute, PR 57242.

88
00:05:11,447 --> 00:05:15,627
So unloaded threads may be more common,
and the resume flag has more to do.

89
00:05:16,400 --> 00:05:22,040
Then there's codex doctor with a network
only flag, PR 57606.

90
00:05:22,820 --> 00:05:26,060
It gives you focused diagnostics for
configuration, connectivity,

91
00:05:26,420 --> 00:05:28,740
and WebSocket checks, rather than the full
run.

92
00:05:29,460 --> 00:05:33,320
If you're debugging a proxy or a remote
connection, that's the one to try first.

93
00:05:34,017 --> 00:05:38,277
On the TUI side, Markdown now renders
consistently in async questions,

94
00:05:38,477 --> 00:05:40,897
choices, answers, and transcript replies.

95
00:05:41,357 --> 00:05:44,337
And there are clearer explanations when a
safety block triggers,

96
00:05:44,617 --> 00:05:47,097
along with selectable safer follow up
prompts.

97
00:05:47,597 --> 00:05:51,377
That's PRs 57363 and 57365.

98
00:05:51,957 --> 00:05:55,257
Instead of just hitting a wall, you get a
reason and some options.

99
00:05:55,848 --> 00:05:59,548
And some fixes that matter if you fork or
resume a lot.

100
00:06:00,548 --> 00:06:05,088
Acknowledged approval and permission
settings are now preserved when you resume or

101
00:06:05,268 --> 00:06:08,168
fork a thread, that's 57227.

102
00:06:09,248 --> 00:06:12,948
Reasoning token accounting is preserved
across resume and fork,

103
00:06:13,368 --> 00:06:18,788
which the notes say avoids premature
compaction, that's 57839.

104
00:06:19,363 --> 00:06:23,363
Plus spawned descendant threads are
restored when you unarchive their parent,

105
00:06:23,963 --> 00:06:25,163
57635.

106
00:06:25,683 --> 00:06:31,503
And TUI reconnection recovery is improved,
including how offline /quit and /exit

107
00:06:31,583 --> 00:06:33,703
behave, 57820.

108
00:06:34,243 --> 00:06:36,683
If you've ever been stuck in a session
with a dropped connection,

109
00:06:36,923 --> 00:06:37,643
that one's for you.

110
00:06:38,400 --> 00:06:44,160
So the takeaway: update to 0.166.0, open a
long transcript,

111
00:06:44,480 --> 00:06:47,020
and test selection mode with a draft in
the composer.

112
00:06:47,680 --> 00:06:51,800
Check your keybindings for conflicts, and
see what your terminal setup does with the

113
00:06:51,840 --> 00:06:52,160
keys.

114
00:06:52,700 --> 00:06:53,460
That's it for today.

