Using Codex from Claude Code: Windows Plugin Installation and Tests

Using Codex from Claude Code: Windows Plugin Installation and Tests

The official Codex plugin lets Claude Code users request a code review or hand a conversation over to Codex. I installed it on Windows and tested both paths.

Code review completed successfully. Session transfer needed a local fix for Windows path comparison. Transferring the conversation again, after both sides had continued, required a separate local option to create a new session.

Two routes from Claude Code to local Codex: read-only review or conversation import
Explanatory diagram, not a screenshot of the application.

How this differs from the personal bridge

The earlier personal bridge ran an OpenAI model through the Claude Code interface. Its script copied a selected Claude session into another folder and continued from that copy.

The official codex-plugin-cc calls the Codex CLI and app server installed on the same machine. It can return a review to Claude Code or import a conversation for continuation in Codex.

Task Route
Keep the Claude Code interface while using an OpenAI model The personal bridge in the earlier article
Review changed code /codex:review
Challenge a particular design or implementation risk /codex:adversarial-review
Delegate bug investigation or a fix /codex:rescue
Import a Claude conversation into Codex /codex:transfer

The official usage guide describes these commands. This test covered installation, ordinary review, session transfer and resumption. It did not test every command in the table.

Installing on Windows

The test record is dated October 18, 2026.

Component Version or state
Claude Code 2.1.301
Codex CLI 0.163.0
Node.js 24.15.0
codex-plugin-cc 1.0.6
Codex authentication ChatGPT login confirmed
Installation scope User

The plugin was not installed when I first checked. I ran these commands in PowerShell:

claude plugin marketplace add openai/codex-plugin-cc
claude plugin install codex@openai-codex

I started a new Claude Code process after installation. The plugin diagnostics confirmed readiness and Codex authentication. To check readiness, the official instructions provide this command for use inside the conversation:

/codex:setup

I left the automatic review loop disabled.

For installation from inside a Claude Code conversation, follow the official installation instructions.

I invoked the real plugin commands through claude -p, the noninteractive mode. I did not operate the interactive terminal interface or the Codex desktop app for these checks.

Giving the reviewer a known calculation bug

I used a small disposable Git repository. After committing a correct discount function, I removed the / 100 conversion from percentage to fraction.

The committed function:

exports.discount = (price, percent) =>
  price * (1 - percent / 100);

The change submitted for review:

exports.discount = (price, percent) =>
  price * (1 - percent);

For a price of 100 and a discount of 20 percent, the expected result is 80. The changed function returned -1900.

/codex:review --wait

The review finished in about 45 seconds. Codex reported the missing percentage conversion as P1 and correctly explained that discount(100, 20) returned -1900 instead of 80.

The file’s SHA-256 hash was unchanged after review. The command described the bug without fixing the file.

This was one deliberately introduced bug in a tiny example. It does not establish a defect detection rate or overall review quality for a large project.

The first transfer needed a path fix

The official transfer description says the command imports a Claude conversation and provides a command for resuming the resulting Codex session.

/codex:transfer

The first attempt reported that no imported thread had been recorded. The import ledger nevertheless showed that a Codex session already existed.

The lookup compared two Windows path strings. The ledger path had the \\?\ prefix; the path used for comparison did not. They referred to the same file but failed an exact string comparison.

After fixing the comparison, I tested a new conversation. The plugin returned a session ID and a resume command:

codex resume <session-id>

I used that ID with codex exec resume. When asking about the imported conversation, I did not repeat the answers in the question.

Codex recalled the marker MAPLE-836, the incorrect result -1900, the expected result 80, and the remaining task: restore / 100 in the discount calculation.

Transferring again after both conversations changed

I had added context-check questions on the Codex side and continued the original Claude conversation as well. The histories had diverged. A normal repeat transfer was refused because the new Claude turns could not simply be appended to the existing Codex history.

I added a local option to preserve the existing history and import the latest Claude conversation into a separate session:

/codex:transfer --fresh

This --fresh option is part of the local patch. It is not supported by the unmodified official 1.0.6 transfer command.

For the next test, I added the marker CEDAR-915 to the Claude conversation and changed the next step: add a zero-percent discount test before restoring / 100.

The new Codex session recalled the latest marker and the revised order of work. It also distinguished them from the earlier instructions. Integration checks found that the original Claude file and the existing Codex conversation retained their hashes. The import snapshot matched the source byte for byte.

The Windows transfer troubleshooting article explains the path fix and the local --fresh behavior.

What the test established

Check Result
Installation and Codex authentication Passed
Ordinary review and detection of the example bug Passed
Files unchanged by review Confirmed
Initial transfer with official 1.0.6 Error on the tested Windows setup
New conversation transfer after the path fix Passed
Repeat transfer using local --fresh Passed
Latest context and existing history preserved Confirmed
Resumption in the Codex desktop app Not tested
Preservation of attachments and complete tool records Not tested
Execution after exhausting Claude usage Not tested
Delegated work and background execution Not tested

The transfer results include local modifications. They do not mean the official release has been fixed. Updating or reinstalling the plugin may replace those modifications.

The installed plugin restricted import sources to ~/.claude/projects. I did not test importing a personal bridge copy from a separate folder.

After resuming, compare the last instructions with the actual working files and decide which conversation to continue using.

Test record: October 18, 2026. Official 1.0.6 behavior is distinguished from local patch results.

Scroll to Top