1
00:00:00,000 --> 00:00:04,880
We've got a lot of migration and
robustness updates in the latest Codex release,

2
00:00:04,942 --> 00:00:11,920
specifically Codex CLI 0.140.0, which
dropped on June 15,

3
00:00:12,000 --> 00:00:13,040
2026.

4
00:00:13,180 --> 00:00:18,160
And before we dive into the weeds, a quick
shout-out: thanks to Jellypod to help

5
00:00:18,208 --> 00:00:20,000
make this daily show a reality.

6
00:00:20,160 --> 00:00:25,920
Now, Maya, the headline feature in 0.140.0
is this new

7
00:00:26,293 --> 00:00:32,000
`/import` command designed specifically
for teams moving over from Claude Code.

8
00:00:33,439 --> 00:00:37,400
Right, and if you've spent weeks tweaking
your Claude Code environment,

9
00:00:37,839 --> 00:00:40,940
the last thing you want is to lose your
custom instructions.

10
00:00:41,559 --> 00:00:47,319
The `/import` tool pulls in setups,
project configs, and even active chat logs

11
00:00:47,359 --> 00:00:49,219
directly into Codex.

12
00:00:49,260 --> 00:00:53,739
It basically keeps your workspace rules
and system prompts intact without you having

13
00:00:53,760 --> 00:00:56,779
to manually copy-paste JSON
configurations.

14
00:00:58,000 --> 00:01:04,320
Exactly, it targets the CLAUDE_DIR
environment variables and parses the local state

15
00:01:04,413 --> 00:01:05,240
files.

16
00:01:05,330 --> 00:01:10,240
But under the hood, there are a few
execution details developers need to watch out

17
00:01:10,300 --> 00:01:10,640
for.

18
00:01:10,820 --> 00:01:15,600
For starters, the import script expects
strict read-write permissions on the source

19
00:01:15,647 --> 00:01:16,320
directories.

20
00:01:16,560 --> 00:01:21,600
If your Claude Code setup was running
under a different user privilege or inside a

21
00:01:21,651 --> 00:01:28,160
restricted container, `/import` will throw
a permission denied error without a very

22
00:01:28,200 --> 00:01:29,280
descriptive fallback.

23
00:01:31,380 --> 00:01:37,199
Ah, so the classic "it works on my
machine" but fails when you try to port a shared

24
00:01:37,259 --> 00:01:38,199
environment setup.

25
00:01:39,500 --> 00:01:41,499
What about path resolutions?

26
00:01:41,559 --> 00:01:46,059
If I have absolute paths defined in my
workspace rules for things like local linter

27
00:01:46,099 --> 00:01:49,059
scripts, does `/import` translate those?

28
00:01:50,139 --> 00:01:50,720
It doesn't.

29
00:01:50,880 --> 00:01:53,200
It imports them verbatim.

30
00:01:53,333 --> 00:01:59,840
So if your colleague's path was
`/Users/alice/bin/linter` and you import that

31
00:01:59,920 --> 00:02:03,520
config on your machine, it's going to
break immediately on startup.

32
00:02:03,660 --> 00:02:08,480
You have to go in and manually adjust
those to relative paths or environment

33
00:02:08,544 --> 00:02:10,320
variables post-import.

34
00:02:11,319 --> 00:02:13,679
That's a really important caveat.

35
00:02:13,720 --> 00:02:17,420
So it's a massive time-saver for system
prompts and context,

36
00:02:17,859 --> 00:02:22,559
but you still need to audit those
hardcoded paths before you run your first build.

37
00:02:23,000 --> 00:02:29,400
Now, once you actually have your context
imported, 0.140.0

38
00:02:29,528 --> 00:02:35,560
also completely rewrites how Codex handles
local data security and database

39
00:02:35,624 --> 00:02:36,280
stability.

40
00:02:36,408 --> 00:02:40,840
They've finally eliminated plaintext
exposure for sensitive tokens.

41
00:02:41,399 --> 00:02:42,740
Thank goodness.

42
00:02:43,759 --> 00:02:49,079
Storing credentials in plaintext config
files was always a massive security risk,

43
00:02:49,460 --> 00:02:51,039
especially for team environments.

44
00:02:51,699 --> 00:02:57,399
Now, any MCP OAuth tokens and Amazon
Bedrock credentials are encrypted locally.

45
00:02:58,000 --> 00:02:59,699
What's the encryption standard they're
using here?

46
00:03:00,000 --> 00:03:04,000
They're using AES-256-GCM.

47
00:03:04,020 --> 00:03:09,360
The key management integrates directly
with OS-level secret stores-so Keychain on

48
00:03:09,467 --> 00:03:14,800
macOS, Secret Service on Linux, and Data
Protection API on Windows.

49
00:03:15,013 --> 00:03:20,160
If the system keyring is unavailable, it
falls back to a locally generated key

50
00:03:20,263 --> 00:03:25,040
stored in a restricted user-only read
file, which isn't perfect,

51
00:03:25,080 --> 00:03:27,240
but it's a massive step up from before.

52
00:03:28,379 --> 00:03:31,019
That OS-level integration is crucial.

53
00:03:31,659 --> 00:03:34,719
But what happens if the database itself
gets corrupted?

54
00:03:35,359 --> 00:03:40,000
I know earlier versions of Codex had
issues where a sudden terminal crash or power

55
00:03:40,039 --> 00:03:44,819
cut would corrupt the local SQLite
database, and the CLI would just hang

56
00:03:44,940 --> 00:03:46,619
indefinitely on the next launch.

57
00:03:47,000 --> 00:03:47,960
That was a nightmare.

58
00:03:48,473 --> 00:03:53,326
To fix that, they've introduced a
self-healing SQLite state mechanism.

59
00:03:53,506 --> 00:03:59,166
Now, on boot, Codex checks the database
integrity using a quick `PRAGMA

60
00:03:59,254 --> 00:04:00,606
integrity_check`.

61
00:04:00,846 --> 00:04:06,366
If it detects corruption, it automatically
moves the damaged database to a `.bak`

62
00:04:06,398 --> 00:04:11,646
file, initializes a clean schema, and
attempts to rebuild your session state from

63
00:04:11,666 --> 00:04:13,646
the encrypted transaction logs.

64
00:04:14,399 --> 00:04:19,179
Wait, does it rebuild the *entire*
history, or just the configuration state?

65
00:04:20,000 --> 00:04:25,200
Just the core configuration, active
workspace variables, and recent session

66
00:04:25,253 --> 00:04:26,160
metadata.

67
00:04:26,200 --> 00:04:29,680
You might lose some deep chat history from
a corrupted file,

68
00:04:29,720 --> 00:04:34,800
but your CLI won't crash on startup
anymore, and your key configurations remain

69
00:04:34,891 --> 00:04:35,600
intact.

70
00:04:36,479 --> 00:04:40,039
That's a fair trade-off to avoid a
complete manual reinstall.

71
00:04:40,739 --> 00:04:45,439
On the usability side, I also noticed they
added a `/usage` command.

72
00:04:45,880 --> 00:04:49,420
Is that tracking token spend or local
resource utilization?

73
00:04:50,000 --> 00:04:50,880
Both, actually.

74
00:04:51,200 --> 00:04:57,200
`/usage` displays a breakdown of input,
output, and cache-hit tokens for your

75
00:04:57,230 --> 00:05:01,920
current session, along with an estimated
dollar cost based on the provider you're

76
00:05:01,968 --> 00:05:05,920
targeting-whether that's Bedrock or
Anthropic directly.

77
00:05:06,133 --> 00:05:10,800
It's incredibly handy if you're trying to
optimize your system prompts to avoid

78
00:05:10,840 --> 00:05:11,840
hitting rate limits.

79
00:05:13,359 --> 00:05:14,779
Oh, that's excellent.

80
00:05:15,359 --> 00:05:17,799
And they cleaned up Ctrl-C handling,
right?

81
00:05:19,000 --> 00:05:19,480
Yes!

82
00:05:19,667 --> 00:05:25,400
If you trigger a background task or run
Codex in a non-TTY environment like an

83
00:05:25,464 --> 00:05:32,440
automated CI/CD pipeline, hitting Ctrl-C
now sends a clean termination signal to

84
00:05:32,500 --> 00:05:37,800
all child processes instead of leaving
zombie Node processes hanging around in your

85
00:05:37,851 --> 00:05:38,440
background.

86
00:05:38,707 --> 00:05:42,360
It's a small but vital fix for pipeline
stability.

87
00:05:43,520 --> 00:05:48,440
It really shows they're maturing this from
an interactive developer toy into

88
00:05:48,460 --> 00:05:52,079
something you can actually trust in
automated production pipelines.

89
00:05:53,000 --> 00:05:53,920
Definitely.

90
00:05:53,960 --> 00:05:58,120
That's Codex CLI 0.140.0.

91
00:05:58,400 --> 00:06:02,560
I'm Ethan Park, alongside Maya, and we'll
catch you in the next one.

