review AI-generated code with inline feedback
Canopy shows all uncommitted changes in a diff panel. Click any line to write a comment, and Canopy sends it directly to the running Claude Code or Gemini CLI session. This lets you do code review for AI, not the other way around.

diff of local changes
The diff panel lists modified, added, and deleted files with their line counts. Hunks are collapsible, and you can search across all changes. Untracked files show up as full additions.
- Modified, added, deleted, and renamed files in one view
- Collapsible hunks and cross-file search
- Stage or revert individual files from the panel
inline comments sent to the AI agent
Hover a diff line and click the + button to open a comment form. Canopy wraps the comment with three lines of surrounding context, the file path, and the line number, then writes it to the active agent session.
- Comment includes file path, line number, and surrounding context
- Sent directly to the agent's input stream
- Terminal tab focuses automatically after sending
GitHub pull request creation
When you are ready to merge, open a PR from Canopy. The PR creation dialog supports title, body, base branch, and draft mode. Canopy tries the GitHub GraphQL API first and falls back to the gh CLI.
- PR creation via GitHub API or gh CLI fallback
- CI check status shown alongside the PR in the sidebar
- Draft mode toggle for work-in-progress branches
questions about code review
- What changes does the diff panel show?
- All uncommitted changes in the worktree: modified and deleted files via git diff HEAD, plus untracked files shown as new additions.
- When does the comment button appear?
- The + button shows up on diff lines only when an AI agent session is running in the worktree. Without an active session, you can still view the diff but not send comments.
- Can I review GitHub pull request diffs in Canopy?
- The diff panel shows local changes, not remote PR diffs. You can create a PR from Canopy once the changes are ready, but the review workflow is designed for reviewing local AI output.