Codex in my terminal: a one-week review

Codex CLI launched in August. I’ve been using it in my terminal for a week. Here’s the honest review.

What I tried

The setup is the OpenAI Codex CLI (codex in your terminal after npm install -g @openai/codex). You give it a prompt, it edits files, runs commands, reports back. Same shape as Claude Code or the various agent CLIs.

The first thing I did was the obvious test: a one-line change to a function. “Rename parse_line to parse_log_line everywhere it’s used.” Codex did it. Took 4 seconds. The diff was correct. I approved it.

The second test was a bit harder. “Add a new subcommand summary to the CLI that prints the number of log lines per level.” Codex added the subcommand, updated the argparse setup, added a test. The diff was clean. I approved it.

The third test was harder. “Find why the morning agent stopped sending email on Tuesday and fix it.” Codex ran the tests, read the log file, looked at the email config, and reported back “I can’t find the issue. The email config looks correct, the log shows the email is being attempted, and the SMTP credentials are valid.” The actual bug was the clock-jump issue I described in another post. Codex didn’t find it. Claude found it in 15 minutes.

What stuck

For the small, well-defined changes, Codex is fast. The “rename this,” “add this subcommand,” “refactor this loop” loop is where Codex shines. The CLI is responsive. The diffs are tight. The verification step is automatic.

For the bigger, “find the bug” or “design the API” work, Codex is the wrong tool. The model is good at the mechanical part. The model is not good at the “go read the codebase and reason about timing” part.

The week of use looked like:

  • 30+ small changes via Codex
  • 3 medium-sized refactors via Codex (with me reviewing every diff)
  • 1 bug-hunt that Codex failed at
  • 1 API design question that I asked Claude instead

The workflow

The workflow that worked:

  1. Open the terminal
  2. Run codex in the project directory
  3. Type a short, specific prompt
  4. Watch the diff
  5. Approve or reject
  6. Iterate

The loop is fast. The approval is right there. The agent doesn’t take over the whole editor.

What I went back to the editor for

Anything that needed me to look at multiple files at once. The terminal UI is good for one-file changes. It’s not good for “compare these two files visually” or “find every place this pattern is used and show me the surrounding code.” For that, an editor with split panes is better.

Anything that required reasoning about the system as a whole. “Why is the morning agent slow on Mondays” is a question that requires looking at the cron schedule, the email volume, the network, the system load, and the agent’s own logs. The terminal can do that. The terminal makes it hard. An editor with a search panel is better.

Anything where I wanted to write code myself. When I’m in flow, I want to type the code. The agent is for the parts that aren’t flow. When the whole session is flow, the agent gets in the way.

The thing nobody mentions

The model behind Codex CLI is good. The CLI itself is a thin wrapper. The value is in the loop (prompt, edit, approve) being in the terminal where I already am. The same model behind a web UI would be a different product.

The CLI is also opinionated. It assumes a specific workflow. If the workflow matches yours, the CLI is great. If the workflow doesn’t match, the CLI is friction. I tried to make the CLI fit my workflow. After a week, I adjusted my workflow to fit the CLI for the small changes. The medium and large changes still go to a different tool.

The honest comparison

For the “small change in a terminal” loop, Codex CLI is the best tool I’ve used. The diff is right there. The approval is one keystroke. The loop is fast. The model is good at this.

For the “medium or large change” loop, Claude Code is better. The model reads more context. The diff is in the editor. The loop is slower but the result is better.

For the “let the model run for an hour while I do other things” loop, neither. I use a different setup for that. The terminal CLIs are for the in-the-zone work, not the background work.

The week was useful. I kept Codex in my PATH. I open it 10-15 times a day for small changes. I open Claude Code 2-3 times a day for the bigger work. The two tools cover different loops. Both stay.


← back to all posts