1
00:00:00,119 --> 00:00:04,000
So I- I was actually setting up a new
workspace yesterday, and,

2
00:00:04,099 --> 00:00:09,119
uh, you know that sheer, absolute dread
when you realize you have to migrate all

3
00:00:09,179 --> 00:00:10,140
your developer tools?

4
00:00:10,779 --> 00:00:16,420
Like, copy-pasting API keys, manually
re-registering all your MCP servers...

5
00:00:16,940 --> 00:00:18,680
it is just a, a massive chore.

6
00:00:19,459 --> 00:00:23,859
But, before we dive into how to fix that,
a quick shout-out to Jellypod for

7
00:00:23,920 --> 00:00:24,759
supporting the show.

8
00:00:25,539 --> 00:00:31,939
Now, with Codex CLI version 0.145.0, they-
they actually introduced this

9
00:00:32,059 --> 00:00:37,619
expanded /import command that basically
tries to solve this entire onboarding

10
00:00:37,680 --> 00:00:39,559
nightmare in a single keystroke.

11
00:00:41,122 --> 00:00:44,063
Oh, the onboarding nightmare is so real.

12
00:00:44,583 --> 00:00:49,463
As a tester, I- I used to spend hours just
trying to replicate a bug on a clean

13
00:00:49,503 --> 00:00:53,083
machine because of some tiny, hidden
config file.

14
00:00:53,862 --> 00:00:57,902
So, this /import command, what is it
actually grabbing?

15
00:00:58,242 --> 00:01:01,662
Is it just pulling in basic key-value
pairs, or is it, like,

16
00:01:02,003 --> 00:01:03,722
actually digging into the system?

17
00:01:04,083 --> 00:01:06,323
It's- it's surprisingly aggressive.

18
00:01:06,430 --> 00:01:11,043
It literally crawls your file system to
find where your other tools live.

19
00:01:11,070 --> 00:01:17,523
So, if you're on a Mac, it- it
programmatically scans ~/Library/Application

20
00:01:17,633 --> 00:01:22,003
Support/Cursor/User/settings.json.

21
00:01:22,296 --> 00:01:26,643
Or, um, if you're on Windows, it goes
straight for

22
00:01:27,083 --> 00:01:29,683
%APPDATA%\Cursor.

23
00:01:29,843 --> 00:01:32,803
And for Claude Code, it searches that

24
00:01:33,203 --> 00:01:42,003
~/.config/@anthropic-ai/claude-code/config.json

25
00:01:42,083 --> 00:01:42,483
path.

26
00:01:42,670 --> 00:01:46,963
It is looking for your custom prompts,
your active extensions,

27
00:01:47,027 --> 00:01:50,243
even your system preferences, and just
pulling them right in.

28
00:01:50,689 --> 00:01:56,949
Wait, so it's sniffing out the exact
claude-code/config.json path?

29
00:01:57,769 --> 00:01:58,309
That's...

30
00:01:58,929 --> 00:02:01,750
I mean, that is a direct shot at
Anthropic.

31
00:02:02,569 --> 00:02:04,529
But, okay, settings are one thing.

32
00:02:04,750 --> 00:02:06,529
What about the actual tools?

33
00:02:07,170 --> 00:02:12,049
Like, if I have Model Context Protocol-you
know, MCP servers set up to query my

34
00:02:12,069 --> 00:02:18,049
local databases or run custom scripts-does
/import actually migrate those too?

35
00:02:18,375 --> 00:02:20,935
Yeah, that- that was the part that kind of
blew me away.

36
00:02:21,122 --> 00:02:24,695
It doesn't just copy them; it- it
translates them.

37
00:02:24,882 --> 00:02:29,975
It parses the third-party MCP
definitions-like, the transport types,

38
00:02:29,995 --> 00:02:34,535
the arguments, the custom environment
variables-and converts them into the

39
00:02:34,615 --> 00:02:38,055
Rust-native format that Codex uses, which
lives in

40
00:02:38,295 --> 00:02:41,735
~/.codex/config.toml.

41
00:02:41,975 --> 00:02:46,695
So if you have a local PostgreSQL MCP
server, it just...

42
00:02:46,762 --> 00:02:47,255
works.

43
00:02:47,375 --> 00:02:50,455
You don't have to reconfigure the
connection strings or anything.

44
00:02:50,817 --> 00:02:51,198
Huh.

45
00:02:51,897 --> 00:02:55,838
A local PostgreSQL connector just
migrating automatically...

46
00:02:56,517 --> 00:02:57,997
that sounds almost too easy.

47
00:02:58,838 --> 00:03:01,157
But wait, what about the actual context?

48
00:03:01,617 --> 00:03:06,458
Like, Claude Code has these
project-specific memories and rules it builds up over

49
00:03:06,517 --> 00:03:06,777
time.

50
00:03:07,417 --> 00:03:13,037
If I switch to Codex, do I- do I lose all
that progress, or is /import touching

51
00:03:13,097 --> 00:03:13,777
those too?

52
00:03:14,083 --> 00:03:17,443
It actually ingests those project-scoped
memories!

53
00:03:17,656 --> 00:03:22,883
It reads the existing rules and injects
them directly into Codex's experimental

54
00:03:22,963 --> 00:03:24,243
paginated thread history.

55
00:03:24,536 --> 00:03:28,483
So, those- those persistent memories
you've spent weeks tuning?

56
00:03:28,627 --> 00:03:34,003
They get carried over into Codex's memory
system so the AI agent doesn't suddenly

57
00:03:34,060 --> 00:03:37,203
forget your project's architectural quirks
on day one.

58
00:03:38,727 --> 00:03:44,447
Okay, but as someone who spent years
breaking software, my "spidey-sense" is

59
00:03:44,507 --> 00:03:44,987
tingling.

60
00:03:45,447 --> 00:03:49,927
There is no way an automated import script
can bypass everything.

61
00:03:50,347 --> 00:03:51,907
What's the- what's the catch here?

62
00:03:52,267 --> 00:03:54,327
What does it actually fail to import?

63
00:03:54,786 --> 00:03:55,466
You nailed it.

64
00:03:56,566 --> 00:04:01,386
There are some- some pretty hard
boundaries, mostly because of OS-level sandboxing.

65
00:04:02,107 --> 00:04:07,746
Codex cannot read secure Cursor session
tokens or Claude API keys from your system

66
00:04:07,806 --> 00:04:08,286
keychain.

67
00:04:08,826 --> 00:04:10,066
The OS just blocks it.

68
00:04:10,606 --> 00:04:16,667
So, you still have to do a one-time manual
authentication after you run /import.

69
00:04:16,746 --> 00:04:21,447
And, uh, if you have absolute file paths
hardcoded in your imported shell commands,

70
00:04:22,046 --> 00:04:26,167
those will break if you aren't running
Codex from the exact same workspace root

71
00:04:26,226 --> 00:04:26,626
directory.

72
00:04:27,066 --> 00:04:32,127
Right, because absolute paths are the bane
of every developer's existence when they

73
00:04:32,167 --> 00:04:33,246
move to a new environment.

74
00:04:34,566 --> 00:04:38,047
But, speaking of things breaking, let's
talk about performance.

75
00:04:38,667 --> 00:04:43,347
In the older versions, if one of your
local MCP servers was offline-say,

76
00:04:43,566 --> 00:04:49,427
a local Docker container or a sluggish
Jira server-the whole CLI would just hang on

77
00:04:49,587 --> 00:04:50,046
startup.

78
00:04:50,566 --> 00:04:53,486
Did they address that in 0.145.0?

79
00:04:53,792 --> 00:04:54,712
Yes!

80
00:04:54,782 --> 00:04:57,312
And honestly, this bug was infuriating.

81
00:04:57,472 --> 00:05:00,112
It used to block the entire startup
sequence.

82
00:05:00,272 --> 00:05:05,312
Now, they've implemented strict startup
timeouts and serialized the OAuth refresh

83
00:05:05,379 --> 00:05:05,872
loops.

84
00:05:06,059 --> 00:05:11,152
So if your local Jira MCP server is
completely unresponsive,

85
00:05:11,212 --> 00:05:12,432
Codex doesn't care.

86
00:05:12,592 --> 00:05:16,992
It just starts up instantly in the
background and lets you keep coding,

87
00:05:17,038 --> 00:05:20,032
rather than making you sit there staring
at a frozen terminal.

88
00:05:20,382 --> 00:05:21,961
Oh thank goodness.

89
00:05:22,341 --> 00:05:26,661
There's nothing worse than a tool blocking
you from typing just because some

90
00:05:26,841 --> 00:05:29,201
third-party API is having a bad day.

91
00:05:29,981 --> 00:05:34,221
Speaking of the terminal, did they do
anything about that horrible screen flicker?

92
00:05:34,881 --> 00:05:39,601
Whenever I'd stream a massive code change,
like a 400-line Rust diff,

93
00:05:40,021 --> 00:05:45,542
my terminal would just go wild, redrawing
the entire screen and making my CPU fan

94
00:05:45,601 --> 00:05:46,781
sound like a jet engine.

95
00:05:47,125 --> 00:05:49,365
Oh, the- the terminal flicker was
terrible.

96
00:05:49,545 --> 00:05:52,405
Yes, they completely overhauled the
rendering engine.

97
00:05:52,517 --> 00:05:57,205
They're now using incremental stream
buffering with hard bounds on terminal output.

98
00:05:57,418 --> 00:06:01,925
So, instead of redrawing the entire active
screen every time a new line of code

99
00:06:01,975 --> 00:06:06,565
streams in, it- it only updates the
specific characters that changed.

100
00:06:06,778 --> 00:06:11,685
It's incredibly smooth now, even for those
massive 400-line diffs.

101
00:06:11,986 --> 00:06:14,706
That is a huge quality-of-life win.

102
00:06:15,426 --> 00:06:17,706
But, looking at the bigger picture here...

103
00:06:18,266 --> 00:06:21,026
this aggressive /import feature.

104
00:06:21,706 --> 00:06:25,226
It really makes me wonder where the
developer tool space is going.

105
00:06:25,886 --> 00:06:30,847
I mean, are we going to see an
industry-standard configuration format for AI agents

106
00:06:30,927 --> 00:06:36,786
eventually, or is this just OpenAI making
a highly aggressive move to lower the

107
00:06:36,847 --> 00:06:39,906
switching cost and poach Cursor and Claude
users?

108
00:06:40,327 --> 00:06:41,328
It's a great question.

109
00:06:41,867 --> 00:06:45,628
I mean, we might see a standard format
emerge, but right now,

110
00:06:45,688 --> 00:06:47,447
it feels like an onboarding war.

111
00:06:48,067 --> 00:06:52,108
If you can steal your competitor's entire
configuration with a single command,

112
00:06:52,647 --> 00:06:53,887
why wouldn't you?

113
00:06:53,967 --> 00:06:57,167
It makes switching to Codex almost
entirely frictionless.

114
00:06:57,888 --> 00:07:01,367
Anyway, that's- that's all the time we
have for this quick take.

115
00:07:01,427 --> 00:07:03,847
Thanks for listening, and we'll talk to
you next time.

116
00:07:04,194 --> 00:07:04,574
See ya!

