FIELD NOTE

Codex CLI 0.162.0: Worktrees, Copying and Windows Fixes

A focused upgrade pilot for Codex CLI 0.162.0, covering isolated changes, review records and repeatable checks.

Codex CLI 0.162.0 adds managed worktrees and transcript controls. OpenAI released it October 8. The practical opportunity is to keep a coding experiment, its evidence, and its review together.

Codex CLI 0.162.0 managed worktrees: isolate one change

The new creation and listing tools require a trusted local project and the worktrees feature enabled. The worktree guide explains the underlying arrangement: separate checkouts share repository history while keeping their files separate. Its composer and Handoff instructions describe the desktop interface.

Our suggested pilot is a small documentation correction in a disposable repository. This and the checks below are proposed exercises; we have not tested this release. Choose a tracked file, record its starting contents, and define one visible change. Ask the agent to use the available managed-worktree tools for that bounded task. Record the resulting directory before requesting an edit.

Use ordinary Git inspection to compare the checkouts:

git worktree list --porcelain
git status --short
git diff --stat

Run the status and diff checks separately in each relevant directory. The acceptance condition is concrete: the requested correction appears in the intended checkout, and the original working copy retains its starting contents. A directory appearing in the list establishes creation; the file comparison establishes where the work happened.

Choose a task that needs no credentials or shared database. That keeps the first exercise about file isolation. Once it passes, test a normal development task with its own build requirements. A copied repository and a runnable application are different milestones.

Copy transcript blocks into a useful review record

The release adds block navigation through /copy, selection copying with Ctrl+Insert, and mouse-wheel tuning through tui.mouse_scroll_speed.

For a proposed transcript-copying check, prepare one short conversation containing a plain paragraph, a multiline command, and a long filename. Copy each into a scratch document and compare it with the original. Pay attention to indentation, quotation marks, wrapped lines, and the first and last characters. Those details decide whether a copied command can be reviewed accurately.

Try block copying and selection copying separately. A useful record names the terminal application, operating system, input method, and which example was copied. If only one path behaves unexpectedly, that record gives a maintainer a smaller problem to reproduce. Adjust scrolling separately so a preference change does not obscure a selection issue.

For everyday handoffs, copy the task request, the relevant result, and the exact error if one occurred. Add the working directory and revision beside the excerpt. Our recommendation is to keep this small enough that a reviewer can reconstruct one decision without searching a whole conversation. The source-backed research brief provides a related way to distinguish evidence from interpretation.

Check CRLF preservation and Windows 10 file access

OpenAI says apply_patch now preserves existing CRLF endings by default. Windows 10 fixes address drive-letter access and align sandbox temporary-directory permissions with the child process environment.

Our suggested Windows fixture contains a short tracked text file with CRLF endings and a second file with LF endings. Request a one-line change to each. Inspect the resulting bytes with an editor that displays line endings, then inspect the diff. Success means the requested text changed while each file retained its original newline convention. A diff showing every line changed deserves investigation before accepting the edit.

Use a harmless project path on a drive letter for the file-access check. Request a read and one authorized scratch-file write under the same permission profile. Keep the fixture name and operation constant when comparing versions. This makes a changed result easier to connect to the upgrade.

For temporary files, first record the child process’s actual temporary-directory setting. Have a permitted command create and read back a dummy file there, then remove that specific fixture. Record an access error exactly if it occurs. This tests the environment your subprocess receives instead of assuming that every shell uses the same temporary location.

Observe retry timing without duplicating the task

Retryable Responses and WebSocket failures now follow the server’s Retry-After guidance. For earlier session-recovery changes, see our 0.160.0 report.

Our proposed check belongs in an existing authorized test environment capable of producing a controlled retryable response. Capture the failure timestamp, advertised delay, next attempt timestamp, and eventual outcome. Use one harmless request with a recognizable identifier. Keep the advertised delay separate from total completion time: the latter also includes connection and processing time.

When reviewing the result, ask two questions. Did the client wait as instructed, and did the intended task complete once? They require different observations. Timing comes from the transport record; completion comes from the task output. For a file-editing exercise, inspect the final file as well as the transcript.

Teams without a controlled endpoint can preserve the same fields when a retryable failure occurs naturally. Avoid creating load just to trigger a limit. A missing timing sample can remain an untested item while the worktree and terminal checks proceed independently.

Install the pinned version and review the resulting change

For npm installations:

npm install -g @openai/codex@0.162.0
codex --version

The CLI guide documents starting from a project directory, inspecting the session with /status, choosing access through /permissions, and reviewing changes with /review. The security guide distinguishes technical sandbox limits from approval decisions. Default local command writes are limited to the active workspace, with command networking disabled.

Use those controls to keep the pilot scoped to its fixtures. Our recommended upgrade record includes the executable version, checkout path, terminal, permission profile, and the individual observations above. Preserve a working configuration before changing the installation. Review the actual diff before moving a successful experiment into normal development.

The preceding 0.161.0 article covers MCP authentication and Bedrock changes. This pilot instead produces evidence about checkout isolation, usable copied text, file handling, and retry timing. Its deliverable is a small repeatable workflow that another developer can run against the same inputs.