Use ChatGPT or Codex to inspect code changes before you commit or push them.
Start a review
In ChatGPT Work, upload the code you want reviewed or make it available through an installed source plugin. In your prompt, identify the pull request, branch, commit, files, and review criteria.
Review in the app
Open the review pane to understand what changed, give line-specific feedback, and decide what to stage, revert, commit, or push.
To ask Codex to review the changes, type /review in the composer. Choose
Review against a base branch or Review uncommitted changes. Codex reports
prioritized findings without changing your working tree.
The review pane requires a project inside a Git repository. If your project isn’t a Git repository yet, the app prompts you to create one.
Type /review to open the CLI review presets. Codex starts a dedicated reviewer
that reads the selected diff and reports prioritized, actionable findings
without changing your working tree.
Type /review in the IDE extension composer. Choose Review against a base
branch or Review uncommitted changes. Codex reports prioritized findings
without changing your working tree.
The /review command appears only when the open project is inside a Git
repository.
Choose a review scope
Name the pull request, branch, commit, or files to inspect in your prompt. To review local files that aren’t available through an installed source plugin, upload them to the conversation.
What changes it shows
The review pane reflects the state of your Git repository, not just what Codex edited. It includes changes made by Codex, changes you made yourself, and any other uncommitted changes in the repository.
By default, the review pane shows Unstaged changes. Use Staged for the Git index, Commit for a selected commit, Branch for the diff against your base branch, or Last turn for the most recent assistant turn.
Choose one of these /review scopes:
- Review against a base branch finds the merge base and reviews your branch diff.
- Review uncommitted changes includes staged, unstaged, and untracked files.
- Review a commit reviews the exact change set for a selected commit.
- Custom review instructions focuses the review on criteria you provide.
Choose one of these /review scopes:
- Review against a base branch compares your current branch with a branch you select.
- Review uncommitted changes reviews the changes in your working tree.
Work with review results
Review findings appear in the web conversation. Ask for evidence, request a narrower follow-up review, or ask ChatGPT to prepare revised files.
Code review results
Review findings appear as inline comments in the review pane.
Reviews run in the current task by default. Under Settings > General > Code review, choose Detached to start a separate review task. See developer settings.
The review appears as a turn in the transcript. Set review_model in
config.toml when you want reviews to use a different model from the current
session.
By default, the review runs in the current task. Set chatgpt.reviewDelivery to
detached when you want /review to start a separate review task. See the
IDE extension settings reference.
If you ask ChatGPT to prepare revised files, the tools and workspace permissions available to the conversation still apply.
If you ask Codex to apply the fixes it finds, your normal sandbox and approval settings apply.
Navigating the review pane
- Clicking a file name typically opens that file in your chosen editor. You can choose the default editor in developer settings.
- Clicking the file name background expands or collapses the diff.
- Clicking a single line while holding Cmd pressed opens the line in your chosen editor.
- If you’re happy with a change, you can stage it or revert changes you don’t want.
Inline comments for feedback
Inline comments let you attach feedback directly to specific lines in the diff. This is often the fastest way to guide Codex to the right fix.
To leave an inline comment:
- Open the review pane.
- Hover over the line you want to comment on.
- Select the + button that appears.
- Write your feedback and submit it.
- After you finish leaving feedback, send a message back to the task.
Because comments are line-specific, Codex can respond more precisely than with a general instruction.
Codex treats inline comments as review guidance. After leaving comments, send a follow-up message that makes your intent explicit, for example, “Address the inline comments and keep the scope minimal.”
Pull request reviews
When Codex has GitHub access for your repository and the current project is on the pull request branch, the ChatGPT desktop app can help you work through pull request feedback without leaving the app. The sidebar shows pull request context and feedback from reviewers, and the review pane shows comments alongside the diff so you can ask Codex to address issues in the same task.
Install the GitHub CLI (gh) and authenticate it with gh auth login so Codex
can load pull request context, review comments, and changed files. If gh is
missing or unauthenticated, pull request details may not appear in the sidebar
or review pane.
Use this flow when you want to keep the full fix loop in one place:
- Open the review pane on the pull request branch.
- Review the pull request context, comments, and changed files.
- Ask Codex to fix the specific comments you want handled.
- Inspect the resulting diff in the review pane.
- Stage, commit, and push the changes to the pull request branch when you’re ready.
For GitHub-triggered reviews, see Use Codex in GitHub.
Staging and reverting files
The review pane includes Git actions so you can shape the diff before you commit.
You can stage, unstage, or revert changes at these levels:
- Entire diff: Use the action buttons in the review header, such as Stage all or Revert all.
- Per file: Stage, unstage, or revert an individual file.
- Per hunk: Stage, unstage, or revert a single hunk.
Use staging when you want to accept part of the work, and revert when you want to discard it.
Staged and unstaged states
Git can represent both staged and unstaged changes in the same file. When that happens, the pane can show the same file in both views. That’s normal Git behavior.