Shipping
Changes and worktrees
Changes shows what your agents changed, by session, to review, keep or undo, then commit and push. A worktree gives a session a branch and a folder of its own, and lands its work back when it's done.
Reviewing changes
Press ⇧⌘G, or click the pane button in the toolbar. Changes and Files are tabs of the pane beside the session; the same key closes it.
Changed files are grouped under the open session whose edits made them, then Other changes, such as your own edits. A warning sign on a file means another session changed it too.
Click a file for its diff; Review shows a group, or all changes, as one diff. Right-click a file to open it as it is now, mention it in your message, or copy its path.
A file's checkbox includes it in the commit; a group's checkbox includes the whole group. Undo, on hover or in the file's menu, asks first, then puts the file back as it was in the last commit, or deletes it if it's new.
Commit and push
Type a message, or click Write message: with Claude Code installed, Haiku writes one from what's checked and the tasks of the sessions behind it. Commit commits what's checked.
The branch at the top switches branches, or starts a new one that takes your changes along. Beside it, one button does what the branch needs, Publish, Pull, Push or Fetch, with the others and Force push… in its menu. Push and Publish ask first, listing the commits that would go. Force push asks too, and stops if the remote has commits you haven't fetched.
Pull requests
With the GitHub CLI installed, Pull requests lists this branch's pull request and those your open sessions opened, with their state and checks. Click one to open it in the pane: Overview, Files (its diff), and GitHub to open it there.
On an open pull request, Fix failing checks, Address reviews and Resolve conflicts show when they apply. Each puts a request in the message box of the session that opened it, or of a new one. Review in a new session starts a fresh agent in its read-only mode. Nothing is sent until you send it. The Board tells you what happens to the pull requests your sessions opened: see The Board.
On GitHub, a published branch that isn't the default gets Create pull request while it has none of its own, which opens GitHub's page for a new one.
Files
Press ⇧⌘E for the project's files; what git ignores is left out. Click a file to open it, edit it, and press ⌘S to save. It follows your agents' edits while you have none unsaved; when both changed it, it says Changed on disk, and Reload takes the file from disk, dropping your edits.
New worktree
A worktree is another copy of the project on the same machine. Choose New worktree… in the environment menu (the chip under the message box), in a project's ⋯ menu in the sidebar, or in ⌘P. Its branch is magnum/<name> (a name with a slash is the branch itself), started from the commit this copy is on, in ~/.magnum/worktrees/<repository>. Uncommitted changes stay where they are. Create starts a session there with the project's agent.
Files git ignores come along when .worktreeinclude lists them. Without that file, the dialog offers ones that look like local configuration, such as .env, and can save your choice as .worktreeinclude.
A setup command in .magnum/settings.toml, setup = "npm ci" under [worktree], runs in a terminal in the new worktree when you tick it, with MAGNUM_ROOT_PATH set to the copy it came from. Ticking it allows it for the project: next time it's ticked already, unless the command changed. Without one, Conductor's and Cursor's setup files are read; the dialog names the file.
Landing a worktree
In a worktree, Changes shows its branch, the branch it came from, and the commits to land. Land waits while anything is uncommitted. It brings the branch into the one it came from, as a fast-forward when it can, else a merge commit. If they conflict, nothing changes: bring that branch into the worktree's first (its agent can merge or rebase), then Land again.
Worktrees made outside Magnum get Land too. If Magnum picks the wrong base, set it with git config branch.<branch>.magnumBase <base>.
Remove worktree… asks first, then stops its sessions and deletes its folder, with Magnum's branch once landed. When work isn't landed, it says what's lost and the button reads Delete and remove.
To open a pull request instead, publish the worktree's branch in Changes, then click Create pull request.