Skip to Content
Review & Commit

Review & Commit

3 files changed+42 / −18
Before
1 import { db } from './db'
2- export function getUser(id: string) {
4 const user = await db.find(id)
5- if (!user) return null
7 return user
After
1 import { db } from './db'
3+ export async function getUser(id: string) {
4 const user = await db.find(id)
6+ if (!user) throw new NotFoundError()
7 return user

The Workflow

Step 1 — Open the Diff tab

Press +A or +D to cycle through pane tabs. The Diff tab shows every file the agent touched.

Step 2 — Review changes

The diff view splits modified files into before/after columns. It auto-refreshes as the agent writes more files — no manual reload.

Toggle between split and unified view with the button in the top-right of the diff panel.

Step 3 — Commit

Press ++K to stage all changes and open the commit message dialog. Type your message and confirm.

Pane stages everything in the worktree. There is no partial staging UI — cherry-pick files in a terminal with git add -p if you need fine-grained control.

Step 4 — Push

Press ++P to push the branch to your remote. From there, open a pull request in GitHub, GitLab, or wherever your repo lives.


Keyboard Reference

ActionmacOSWindows / Linux
Cycle tabs+A / +DCtrl+A / Ctrl+D
Commit++KCtrl++K
Push++PCtrl++P
Undo commit++ZCtrl++Z

Press ++Z to undo the last commit. Changes are kept staged — nothing is lost. Use this to rewrite the commit message or add a missed file before re-committing.This runs git reset --soft HEAD~1 under the hood.
If the main branch has moved since you created the pane, rebase before pushing to keep history clean:git fetch origin git rebase origin/mainRun this in the pane’s terminal. Fix any conflicts, then push as normal.
Commits are attributed to the git user configured in your global ~/.gitconfig. Pane does not inject any co-author or attribution footer unless you add one yourself in the commit message dialog.
Last updated on