1
00:00:00,000 --> 00:00:01,000
Picture this.

2
00:00:01,070 --> 00:00:07,360
You've got a pile of log files in var log,
or a folder of CSVs that isn't a repo and

3
00:00:07,400 --> 00:00:10,800
never will be, and you want an agent to
help for ten minutes.

4
00:00:10,914 --> 00:00:14,560
Thanks to Jellypod for helping make this
daily show a reality.

5
00:00:14,733 --> 00:00:21,680
Today it's Codex CLI 0.160.0, released
October 1st,

6
00:00:21,760 --> 00:00:28,080
2026, and one change in it: pull request
49160, from

7
00:00:28,187 --> 00:00:29,920
etraut-openai.

8
00:00:30,080 --> 00:00:35,600
The release note reads: start sessions
outside a project with workspace defaults

9
00:00:35,632 --> 00:00:40,000
when policy permits, and restore saved
permissions when resuming.

10
00:00:40,340 --> 00:00:43,560
Let's unpack that, because it's two
changes in one sentence.

11
00:00:44,120 --> 00:00:45,840
The first is where you can launch.

12
00:00:46,340 --> 00:00:51,660
As this change is described, Codex CLI was
built around the idea of a project root.

13
00:00:52,200 --> 00:00:57,100
If you started it from your home
directory, or from tmp, it had trouble working out

14
00:00:57,160 --> 00:00:59,080
which workspace defaults applied.

15
00:00:59,600 --> 00:01:03,520
Those defaults are things like rules,
skills, and configuration layers.

16
00:01:04,000 --> 00:01:08,580
You could hit path errors, or you ended up
making a dummy Git repo just to give the

17
00:01:08,640 --> 00:01:09,600
tool somewhere to stand.

18
00:01:10,000 --> 00:01:13,000
And the second change is the one that
bites in practice.

19
00:01:13,110 --> 00:01:17,280
Say you were in one of those sessions, you
granted some permissions over several

20
00:01:17,360 --> 00:01:21,360
turns, and then your terminal closed or
your connection dropped.

21
00:01:21,472 --> 00:01:25,760
When you came back with codex resume,
those grants were gone,

22
00:01:25,800 --> 00:01:28,000
and you were clicking through the same
approvals again.

23
00:01:28,240 --> 00:01:34,480
In 0.160.0, the saved permissions are
restored when you resume.

24
00:01:34,840 --> 00:01:36,460
So here's how it looks at the keyboard.

25
00:01:36,860 --> 00:01:41,640
You make a scratch directory, say mkdir
slash tmp slash scratch,

26
00:01:42,060 --> 00:01:42,860
and cd into it.

27
00:01:43,200 --> 00:01:43,920
No git init.

28
00:01:44,420 --> 00:01:45,840
Then you just run codex.

29
00:01:46,240 --> 00:01:48,120
The TUI starts without a project.

30
00:01:48,700 --> 00:01:52,380
Per the description of this release, the
workspace defaults come from your global

31
00:01:52,440 --> 00:01:58,360
configuration, which is the config.toml
file inside your home directory's dot codex

32
00:01:58,400 --> 00:02:03,200
folder, or from system level configuration
under slash etc slash codex.

33
00:02:03,500 --> 00:02:04,780
That's the practical part.

34
00:02:04,993 --> 00:02:10,140
If you've set a default model, a reasoning
effort, or a set of allowed skills in

35
00:02:10,156 --> 00:02:14,020
your global config, a projectless session
picks them up.

36
00:02:14,140 --> 00:02:17,980
So the habit is to make sure your global
file is what you want,

37
00:02:18,020 --> 00:02:20,140
because it's now the only layer in play.

38
00:02:20,247 --> 00:02:23,900
There's no repo level config in a scratch
directory.

39
00:02:24,237 --> 00:02:25,237
Then resume.

40
00:02:25,597 --> 00:02:30,117
If the session gets interrupted, you run
codex resume, which picks up your recent

41
00:02:30,177 --> 00:02:35,357
session, or codex resume followed by the
session ID to target a specific one.

42
00:02:35,857 --> 00:02:38,977
The file and tool permissions you granted
earlier come back with it.

43
00:02:39,457 --> 00:02:42,757
Say you approved writes in that scratch
folder while parsing logs.

44
00:02:43,257 --> 00:02:45,577
After a restart you don't re-approve them.

45
00:02:45,937 --> 00:02:49,517
It makes a throwaway session behave like a
repo session did already.

46
00:02:49,833 --> 00:02:52,313
Now the caveats, and there are real ones.

47
00:02:52,433 --> 00:02:56,713
First, the phrase in the release note:
when policy permits.

48
00:02:56,926 --> 00:03:02,073
In managed environments, if administrators
enforce repository containment through

49
00:03:02,122 --> 00:03:07,193
requirements.toml, the expectation is that
a projectless launch fails closed.

50
00:03:07,460 --> 00:03:12,633
So if you're on a managed machine and
codex refuses to start outside a repo,

51
00:03:12,665 --> 00:03:16,313
that's probably policy working as
intended, not a bug.

52
00:03:16,457 --> 00:03:18,953
Talk to whoever owns the configuration.

53
00:03:19,298 --> 00:03:23,078
Second, and this is the one I'd underline:
blast radius.

54
00:03:23,698 --> 00:03:27,678
Inside a Git project, the agent is bounded
by the repository root.

55
00:03:28,258 --> 00:03:31,718
Launch from your home directory and grant
broad write access,

56
00:03:32,158 --> 00:03:36,618
and that grant now covers your documents,
your dotfiles, everything your user can

57
00:03:36,678 --> 00:03:36,998
touch.

58
00:03:37,618 --> 00:03:42,958
And since those grants persist across
resume, a broad approval you made on Monday is

59
00:03:43,078 --> 00:03:45,038
still alive when you resume on Wednesday.

60
00:03:45,798 --> 00:03:48,958
My advice is to launch from the narrowest
directory that works,

61
00:03:49,378 --> 00:03:53,918
like a dedicated scratch folder, and grant
the narrowest permissions you can.

62
00:03:54,208 --> 00:03:57,088
Third, the Git based features aren't
there.

63
00:03:57,301 --> 00:04:02,128
No automatic worktrees, no branch
switching, no commit diffing,

64
00:04:02,219 --> 00:04:06,128
unless you point the agent at a specific
nested repository.

65
00:04:06,368 --> 00:04:10,768
If your task is really code change
tracking, make it a repo.

66
00:04:10,898 --> 00:04:16,288
Projectless is for the jobs where a repo
would be overhead: diagnostics,

67
00:04:16,368 --> 00:04:20,208
log parsing, file shuffling, scratch
scripts.

68
00:04:20,528 --> 00:04:21,588
One more practical note.

69
00:04:22,408 --> 00:04:26,508
0.160.0 is marked latest on the releases
page.

70
00:04:26,908 --> 00:04:32,528
There are 0.162.0 alpha builds being cut
as we speak, with several published on

71
00:04:32,588 --> 00:04:35,288
October 2nd, but those are pre releases.

72
00:04:35,668 --> 00:04:40,548
If you want this behavior on a stable
channel, 0.160.0 is the one.

73
00:04:40,833 --> 00:04:43,393
A few smaller items from the same release.

74
00:04:43,521 --> 00:04:50,513
Pull request 49105: unsent queued messages
in the TUI now resume

75
00:04:50,566 --> 00:04:54,673
after a reconnection, once uncertain
submissions are resolved.

76
00:04:54,833 --> 00:04:59,553
The point is that you don't lose drafts
and you don't get duplicate sends after a

77
00:04:59,603 --> 00:05:00,433
network blip.

78
00:05:00,718 --> 00:05:05,398
Also opt in: Guardian reviews can now
retrieve earlier user instructions from the

79
00:05:05,438 --> 00:05:10,018
conversation history, and carry root
context across agent handoffs.

80
00:05:10,478 --> 00:05:15,518
That's from pull requests 49036 and 49057.

81
00:05:16,078 --> 00:05:19,798
Emphasis on opt in, so nothing changes
unless you turn it on.

82
00:05:19,917 --> 00:05:25,477
Linux users on X11 terminals get something
small but nice in fullscreen mode.

83
00:05:25,547 --> 00:05:29,437
You can select transcript text and paste
it with a middle click,

84
00:05:29,490 --> 00:05:31,117
using the primary selection.

85
00:05:31,261 --> 00:05:34,797
That applies to supported local X11
terminals.

86
00:05:34,877 --> 00:05:40,477
There's also a keyboard accessible Show
more action in the agent command center,

87
00:05:40,530 --> 00:05:42,797
so you can page back through older tasks.

88
00:05:43,213 --> 00:05:45,993
On Windows, the sandbox got several fixes.

89
00:05:46,593 --> 00:05:51,493
PowerShell fallbacks are repaired,
permission repairs on long runtime paths work,

90
00:05:51,953 --> 00:05:54,693
and background helpers no longer flash
console windows.

91
00:05:55,293 --> 00:05:59,713
Under the hood, unused space in the SQLite
log database is now reclaimed in the

92
00:05:59,773 --> 00:06:04,533
background, and the same release fixed
SQLite stalls during connection setup.

93
00:06:05,153 --> 00:06:09,013
And explicit provider model catalogs are
now treated as authoritative,

94
00:06:09,453 --> 00:06:13,973
so unsupported bundled models don't show
up in them, and stale entries aren't reused

95
00:06:14,053 --> 00:06:15,233
after a refresh failure.

96
00:06:15,667 --> 00:06:21,907
So the takeaway: update to 0.160.0, cd
into a scratch

97
00:06:21,953 --> 00:06:27,027
folder, run codex, and see that your
global config carries over.

98
00:06:27,107 --> 00:06:30,627
Then review what you approve, because it
now sticks around.

99
00:06:30,787 --> 00:06:33,187
That's the changelog for today.

