Git & Diff
Review agent changes, commit them, and see which sessions produced each commit.
Agents create diffs. Use source control to read them, stage the parts you want, and make the commit.
Open source control
Source control is a tab in the surfaces pane, beside the session. Open it any of these ways, and use the first two again to close it:
- press ⌘⇧B
- choose Source control at the bottom of the sidebar
- press ⌘T then G
Its sections are Changes, Commit (the git graph) and GitHub. The session details card also offers the branch, the next git action and Create PR without leaving the session. A pull request opens in its own tab.
Work in Changes
Fetch, pull, push, or publish a new branch from the toolbar. The Pull and Push buttons show how many commits you're behind and ahead. Use the branch switcher to find, create, delete, check out, or merge a branch.
In Changes, review each modified file, stage or discard files and hunks, then write the commit summary, description, and optional co-authors. Revert all discards every unstaged change, after you confirm.
To change the previous commit instead of making a new one, tick Amend last commit. Leave the summary empty to keep the original message.
Resolve conflicts from the same view by taking ours or theirs, opening the file, or marking a completed resolution.

Fetch in the background
With Settings → Source Control → Auto-fetch from remote on, Atlas runs git fetch for the open project when it opens, when Atlas regains focus, and every few minutes. The Pull badge then shows what the remote has.
Auto-fetch only updates remote-tracking branches. It never pulls, merges, or touches your files. It's on by default.
Read history and stashes
In Changes, switch to History. Select a commit to copy its SHA, revert it, cherry-pick it, tag it, undo it into staging, or reset to it.
When session capture is on, a commit an agent worked on shows Produced by N sessions, listing each session by title. Select one to open it in the timeline and read the prompts, reasoning and tool calls behind the commit. See Session capture for how Atlas makes that link.
Use Stashes to save the working tree and restore it later.

See the git graph
The Commit section draws the repository's history across every branch as a graph. It refreshes when commits, checkouts and fetches happen, including ones made in a terminal. Expand it to the full window for a long history.
You can also open it from the command palette (⌘K) with Show git graph.
Clone reference repositories
The GitHub section lets you search public GitHub repositories and clone them into the project's .atlas/repos/ directory as reference material for you and your agents. Because they live under .atlas/, they stay out of your own repository.
Clones are shallow and track one branch. Switch a clone to another remote branch, fetch its latest commit, open it on GitHub, or delete it from the same list.
Read a diff
Diffs open in the review panel on the right, beside your session. There is one per project, and opening another file's diff scrolls to that file.
Choose what to compare at the top left:
- Changes: everything on your branch since it left the base branch, committed or not. Beside a session the panel opens here, since it holds everything the session left. Atlas picks the base automatically. To choose another, click the base name beside your branch: search the list of branches, move through it with the arrow keys and press Enter to pick one, or Esc to close it. A branch that also exists on a remote has a switch under Remote. Turn it on to compare against the remote's copy (
origin/main) instead of your local branch. A branch that exists only on a remote is marked with a check. - Uncommitted: your working tree against
HEAD, staged and unstaged together, with new files shown as added. - Latest turn, or a numbered turn under Turn: what one turn of the session changed. Turn lists each turn with the time it ended, newest first, and hovering a turn shows the prompt that started it. Turns that only read files are left out of the list. A turn shows the agent's own edits, so changes made by commands it ran are not included, and a file Atlas only saw part of is labelled Excerpt.
The diff opens as a list of its files, each collapsed to one row: a chevron, an icon for how it changed (modified, added, deleted or renamed), its path, a button that copies the path, and the lines added and removed. Click the chevron, or anywhere on the row except the path, to expand or collapse that file's diff. Click the path to open the file. A file you expand stays expanded when you switch tabs or scopes and come back. Searching the diff, or jumping to a file from a session, expands that file. To start with every file expanded instead, turn off Start files collapsed in Settings › Source control. Unchanged lines between changes are folded into a band that says how many lines it hides.
The toolbar shows the total lines added and removed. It can collapse or expand every file, switch between a stacked and a split view, wrap lines, and hide whitespace changes. When the panel is narrow, the view, wrap and whitespace options move into one Diff options menu. Press ⌘F to search the diff. The file-tree button opens a tree of the changed files beside the diff. Click a file in the tree to jump to it. Drag the tree's edge to resize it, and Atlas remembers the width.
Right-click a file's row for the same actions as in the project tree: Open, Reveal in Finder, Open in Default App, open it in an installed editor, Copy Path and Copy Relative Path. A file the change deleted offers only its paths.
The panel keeps up as an agent edits, without losing your place. A very large file shows its first hunks with a note that it is partial, and its line counts still include every change. A binary file is listed but not shown.
Comment on lines
When the diff is beside a session, you can comment on its lines for the agent. Point at a line number and click +, or drag down the line numbers to pick a range. Write your comment in the box that opens under the lines, then click Comment or press ⌘↵. The comment shows up in the session's composer as a chip named after its lines, such as src/app.ts:12-14, and stays under those lines in the diff until you send.
When you send, the agent gets each comment with its file, its range and the lines it is on, removed lines included. Comments are part of your next prompt: Atlas never posts them anywhere else. To drop one, click the × on its chip, or delete it from under its lines. You can't comment on a diff that isn't beside a session, because there's no session for the comment to go to.
Changes across attached projects
When a session has attached projects, the panel groups its files by project: the session's own project first, then each attached project in the order it was attached, then Other for files outside every project. Each file shows its path from its own project's root, and the file tree gives each project a header with its lines added and removed; click a header to fold the project. The toolbar total covers every project.
Changes and Uncommitted read each attached project's repository as well as the session's own, for up to four attached git repositories. A project that is not a git repository has neither view, so its files appear only in the turn views, which group the agent's edits the same way.
A turn that changed files ends on a card listing them as a tree, with the lines added and removed. The expand button opens every folder at once. Click a file, or Open diff, to see that turn in the review panel. Right-click a file to show its diff, open it, or copy its path. A renamed file is listed under its new name, with the old one in its tooltip. When the turn touched attached projects, the card groups the files under a header per project, with its counts. Because the card is built from the agent's own edits, it stays correct after you commit.
Handle failures
Atlas identifies common git failures, including authentication, protected branches, rejected pushes, conflicts, hooks, and signing. It tells you what failed and keeps git's own output available.
Next
- Pull requests: review and merge in a tab
- Session capture: how commits become checkpoints
- Timeline: trace a commit back to its session
- Sessions: return to the agent work