Notchly ships two git-aware features designed to make long Claude Code sessions safer: checkpoints let you snapshot your working tree before handing control to Claude, and worktrees let you spin up fully isolated copies of a repository so multiple Claude sessions can work the same project simultaneously without stepping on each other.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/javierpr0/Notchly/llms.txt
Use this file to discover all available pages before exploring further.
Checkpoints
Checkpoints are lightweight git snapshots stored as custom refs underrefs/Notchy-snapshots/. They are not commits on your branch — they are detached saves you can restore at any time without affecting your commit history, branch pointers, or staged changes.
Internally, Notchly creates a temporary index file (in a 0700-permissions directory to prevent symlink attacks), stages all working tree files into it with git add -A, then writes a tree object and a commit via git write-tree and git commit-tree. The resulting commit hash is stored under refs/Notchy-snapshots/<project>/<timestamp>. Your real staging area is never touched.
Saving a checkpoint
Press Cmd+S while in a tab whose working directory is inside a git repository. Notchly creates the snapshot immediately. A brief “Saving checkpoint…” status appears in the panel header while the operation runs off the main thread. You can also save from the menu bar icon: click the icon → Checkpoint → Save → select a session.Restoring a checkpoint
Select a session
Click a session name. Notchly lists available checkpoints for that session (newest first, labeled with date and time).
before-restore safety snapshot of the current state so you have a fallback if the restore is not what you wanted. This snapshot is best-effort — if it fails, the restore still proceeds.
Listing checkpoints
The menu bar icon shows all available checkpoints per session under Checkpoint → Restore From. Only sessions with a project path inside a git repository appear in this list. Each checkpoint is labeled with the save date and time (e.g., “Mon 7 Jul 2:34pm”).Git binary resolution
Notchly resolves thegit binary in this order:
- Each directory in your shell’s
$PATH(soasdf,mise, and Homebrew shims are honored) /opt/homebrew/bin/git/usr/local/bin/git/usr/bin/git
git version your shell would use, including any version managers you have configured.
Requirements
The working directory of the tab must be inside a git repository (git rev-parse --git-dir must succeed). Checkpoints are not available for non-git directories and the menu items are disabled in that case.
Worktrees
Git worktrees allow the same repository to be checked out into multiple directories at the same time, each on its own branch. Notchly automates worktree creation so you can give each Claude session an entirely isolated copy of the repo — separate working tree, separate branch, no shared modified files.Creating a worktree
Right-click any project tab → Open in Worktree. Notchly performs these steps automatically:Find the repo root
Resolves the git repository root of the tab’s working directory using
git rev-parse --show-toplevel.Create a branch
Creates a new branch named
notchly/<tab-name>-<6hex> from the current HEAD (for example, notchly/myapp-a3f9c2).Check out a worktree
Runs
git worktree add <path> -b <branch> to check out the branch into ~/.notchly/worktrees/<repo-name>/<name>-<6hex>.Visual indicator
Worktree tabs show a branch badge icon (⎇) next to the tab name. Hover over the badge to see the full branch name in a tooltip.Closing a worktree tab
Closing a worktree tab opens a dialog with three choices:- Discard Worktree — removes the worktree directory with
git worktree remove --forceand deletes the branch withgit branch -D - Keep — closes the tab in Notchly but leaves the worktree and branch on disk (you can re-open it later)
- Cancel — does nothing
Storage location
All Notchly-created worktrees live under~/.notchly/worktrees/. Each repository gets its own subdirectory named after the repo’s root folder.
When to use worktrees
Worktrees are most useful when you want to run multiple Claude sessions on the same codebase simultaneously. Without worktrees, two Claude sessions in the same directory would both try to edit the same files, producing conflicts. With worktrees, each session operates on its own checked-out branch — changes in one do not affect the other until you explicitly merge.Worktrees require the tab’s directory to be inside a git repository. The “Open in Worktree” menu item is not shown for tabs running in non-git directories.