1
00:00:00,360 --> 00:00:03,100
Thanks to Jellypod for helping make this
daily show a reality.

2
00:00:03,660 --> 00:00:07,640
Today's change is one for anyone who ever
looked at their process list and wondered

3
00:00:07,700 --> 00:00:09,740
why Codex was still running after they
quit it.

4
00:00:10,320 --> 00:00:15,000
The flag is features.daemon_auto_start,
and as of November 4th,

5
00:00:15,180 --> 00:00:16,980
2026, it works again.

6
00:00:17,675 --> 00:00:18,515
Here's what changed.

7
00:00:18,835 --> 00:00:25,555
PR 59447 in the Codex repo restores
features.daemon_auto_start as a stable

8
00:00:25,655 --> 00:00:27,155
setting that's enabled by default.

9
00:00:27,775 --> 00:00:31,815
Before this, you could set it to false in
your config, and Codex would ignore it and

10
00:00:31,835 --> 00:00:33,075
print a deprecation warning.

11
00:00:33,515 --> 00:00:34,435
Now it's honored.

12
00:00:35,035 --> 00:00:38,115
The commit message says it applies to
interactive daemon auto start,

13
00:00:38,335 --> 00:00:41,195
and to whether a session is eligible for
the remote control daemon.

14
00:00:41,795 --> 00:00:45,555
It's also accepted in managed feature
requirements, which matters if an admin is

15
00:00:45,595 --> 00:00:46,795
setting policy for a team.

16
00:00:47,510 --> 00:00:48,170
Why does it matter?

17
00:00:48,770 --> 00:00:52,530
Back when this daemon showed up, a Hacker
News thread about Codex installing a

18
00:00:52,570 --> 00:00:57,370
persistent, self updating background
daemon by default reached 610 points.

19
00:00:57,870 --> 00:01:01,230
The complaint was simple: there was no
documented way to turn it off.

20
00:01:01,870 --> 00:01:05,030
One commenter pointed at this exact flag
as the escape hatch,

21
00:01:05,270 --> 00:01:07,230
and another worried out loud that they'd
remove it.

22
00:01:07,770 --> 00:01:11,690
Well, they did make it a no-op for a
while, and now they've reversed course.

23
00:01:12,410 --> 00:01:15,910
If you've been following our earlier
episodes on daemon mismatches and on thread

24
00:01:15,950 --> 00:01:20,350
lock conflicts between the CLI and
Desktop, this is the piece that gives you control

25
00:01:20,430 --> 00:01:23,990
over whether the daemon starts at all,
instead of just cleaning up after it.

26
00:01:24,632 --> 00:01:25,732
Now, how to use it.

27
00:01:26,252 --> 00:01:32,892
Option one, edit your config file at
~/.codex/config.toml and add a features table

28
00:01:32,932 --> 00:01:35,452
with daemon_auto_start set to false.

29
00:01:36,092 --> 00:01:40,992
Option two, run the command: codex
features disable daemon_auto_start.

30
00:01:41,372 --> 00:01:45,572
Same result, and the command is easier to
put in a setup script for a CI runner or a

31
00:01:45,612 --> 00:01:46,392
throwaway VM.

32
00:01:47,113 --> 00:01:49,753
There's a second detail in the PR that's
easy to miss.

33
00:01:50,313 --> 00:01:54,653
It preserves an explicit false when the
setting is saved, even if the server reports

34
00:01:54,713 --> 00:01:55,793
a disabled default.

35
00:01:56,453 --> 00:02:00,273
Previously, you could imagine a save path
where your opt out got overwritten by

36
00:02:00,293 --> 00:02:01,233
whatever the server said.

37
00:02:01,853 --> 00:02:06,693
The PR adds test coverage for exactly that
case, persisting an explicit opt out when

38
00:02:06,713 --> 00:02:08,313
the server default is disabled.

39
00:02:08,813 --> 00:02:09,973
So your false should stick.

40
00:02:10,715 --> 00:02:15,995
Also, the PR records the setting and any
disabled auto start outcomes in launch

41
00:02:16,035 --> 00:02:16,595
telemetry.

42
00:02:17,195 --> 00:02:21,055
That's worth knowing: your opt out is
counted as a state, not invisible.

43
00:02:21,797 --> 00:02:23,957
Caveats, and these are the important part.

44
00:02:24,657 --> 00:02:28,357
First, flipping the flag only stops future
automatic spawns.

45
00:02:28,657 --> 00:02:30,677
If a daemon is already running, it keeps
running.

46
00:02:31,217 --> 00:02:34,697
Stop it explicitly with codex app-server
daemon stop.

47
00:02:35,397 --> 00:02:39,157
Users in that Hacker News thread also
reported a leftover process matching

48
00:02:39,257 --> 00:02:43,897
app-server daemon pid-update-loop, so if
you still see that in your process list

49
00:02:43,977 --> 00:02:46,317
after stopping, kill it by hand with
pkill.

50
00:02:47,027 --> 00:02:50,407
Second, this is my read of the tradeoff
rather than something from the commit:

51
00:02:51,007 --> 00:02:54,647
without a long lived daemon, you shouldn't
expect work to outlive your terminal.

52
00:02:55,067 --> 00:02:58,627
If you drop an SSH session mid task, don't
assume it's still going.

53
00:02:59,307 --> 00:03:02,507
And features that depend on a shared
daemon, like remote control,

54
00:03:02,627 --> 00:03:07,267
are what the PR ties to this flag, so with
it off, expect those to be unavailable.

55
00:03:07,827 --> 00:03:10,047
If you rely on them, leave the default
alone.

56
00:03:10,655 --> 00:03:12,315
After changing it, verify.

57
00:03:12,895 --> 00:03:15,575
Run codex doctor and look at the
background server section.

58
00:03:16,015 --> 00:03:19,155
With auto start off, you want it reporting
that nothing is running.

59
00:03:19,738 --> 00:03:21,538
A few smaller items from the same day.

60
00:03:22,098 --> 00:03:28,378
A Guardian context budgeting fix, number
59401, addresses section minimums shrinking

61
00:03:28,438 --> 00:03:32,918
under budget pressure, and it now tracks
history by byte limits instead of fixed

62
00:03:32,978 --> 00:03:33,638
entry counts.

63
00:03:34,398 --> 00:03:39,158
On Windows, the sandbox now uses resolve
for enforcement when preparing restricted

64
00:03:39,218 --> 00:03:43,878
token and elevated policies, which
preserves read only carveouts at volume roots.

65
00:03:44,458 --> 00:03:49,118
And the release packages now ship the
standalone executor, though npm packages leave

66
00:03:49,158 --> 00:03:50,858
it out to stay under the size limit.

67
00:03:51,488 --> 00:03:55,608
So the takeaway: if you want Codex to
start when you start it and stop when you stop

68
00:03:55,648 --> 00:03:59,988
it, set daemon_auto_start to false, stop
any running daemon,

69
00:04:00,388 --> 00:04:01,948
and confirm with codex doctor.

70
00:04:02,448 --> 00:04:03,668
That's the changelog for today.

