Machines

One project, many machines

A project can have copies: checkouts of its repository on this Mac and on your machines, and its worktrees. Magnum shows them as one project, and each session runs in the copy you choose.

One project in the sidebar

Folders with the same repository are copies of one project: the same origin, however its address is written, and the same first commit. The sidebar shows them in one box named after the repository, with the open and past sessions of every copy. A copy whose machine isn't connected says so there.

The box's new-session button starts a session in the copy you chose last. To choose another, use the environment menu under the message box: see Environments.

Magnum also finds copies you made yourself, on this Mac and on your connected machines, wherever Claude Code, Codex or Pi has worked in them. They show in the environment menu and in ⌘P, ready for a session. On a Mac, Magnum looks on its own in the places macOS guards, such as Documents, Desktop, Downloads, cloud storage and other disks, only where you already have a project; the copy dialog below looks in all of them.

Copying a project to a machine

Press ⌘P and choose Copy … to …: there's one for each of your machines without a copy, and for this Mac when the project isn't here. The dialog asks for the folder, ~/<repository> to start with, and shows a copy that's already there, with New session there. Copy makes the copy; a machine that isn't connected connects first.

What comes along:

The machine clones the repository from origin. When it can't reach origin, the copy is made from this copy's history instead, with the same origin.

A repository without an origin is copied from its history too, with its other branches. The copy has no origin either; Magnum keeps its source in the copy's git config, as magnum.copyOf, so the two show as one project.

The new copy is listed with its project and uses the same agent. No session starts there until you start one. A folder that already holds a copy is used as it is.

Copying from the environment menu

The environment menu lists your machines without a copy among the others. Picking one copies the project to ~/<repository> there without asking (~/<repository>-2 and so on when another repository has that folder), with the files .worktreeinclude lists. Then the session goes there: one with a conversation through Continue on, which asks first; one without starts anew there.

Balanced copies projects the same way for its workers.

Working in a copy on a machine

A session in a copy on a machine runs its agent there, in that machine's node. Its permission requests name the machine.

Files lists the machine's files and follows changes there. Terminals open on the machine, in its node: they keep running while the connection is down, and end when you close their tab or quit Magnum.

For a project with several copies, Changes (⇧⌘G) starts with a row for each copy: its branch, commits ahead and behind, and how many files changed. Showing marks the copy you're in; click another to show it.