A Git client that pulls, merges and pushes for you.

It keeps your branches up to date in the background, saves your work before anything risky, and stops to ask when something needs a decision. Free, for Windows, Linux and Android.

Windows 10 and 11, 64-bit · about 100 MB · no account

The Memento window: the commit graph, the branches in the sidebar, and a commit with its diff

The history. Every branch, merge and tag on one graph. Initials next to a branch are teammates working on it right now.

Demo repository · captured 10 Oct 2026

While you were working.

Memento writes down what it did, in the words below. The red marks are what it did on its own. The last line is where it stopped, and nothing after it happened.

  1. Auto-pull: 3 commits pulled
  2. Auto-merge: feature/search → developmerged without leaving your branch, checked
  3. Auto-commit: 4 files saved on feature/cart
  4. Auto-push: 1 commit pushed to origin/feature/cart
  5. Auto-merge paused: feature/cart conflicts with develop — nothing was changedResolve it by hand when you are ready.

done on its ownwaiting for youAn example morning; the messages are the app's own.

Rows of the history; one, named WIP 2026-10-07 11:40, 3 files, Memento auto-commit, has a red bookmark
In the history, the same red mark sits on the commit Memento made for you. Actual size.

Five rules, each one a switch.

Turn them on per repository, and for the branches you choose. What matters as much as what each rule does is where it refuses to go on.

The Automation card: last run just now, next in 56 seconds, and the steps that run every cycle
The card under the Auto button, at actual size.
RuleWhenWhat it does, and where it stops
Auto-pull Every minute Fetches, then moves your branch forward when there is nothing to decide. If your branch has commits of its own, it stops and says how many each way. It never merges or rebases behind your back.
Auto-merge When a merge is clean Merges a branch into its target in a throwaway worktree, so your files don't move. Give it a command like npm test and the target only moves if it passes. A conflict undoes the merge at once.
Safety net Every ten minutes, and before a discard Snapshots your uncommitted work into a ref of its own, never pushed and never in your history. Every snapshot is in Repository → Safety net.
Auto-commit After a quiet moment Saves work in progress as WIP … (Memento auto-commit). Only files Git already tracks, so a stray .env is never committed for you. A pre-commit hook that refuses has the last word.
Auto-push When you're ahead Pushes what the remote cannot reject: never when your branch is behind, never with --force, and a new branch only if you ask.

Every rule in detail

When it stops, it says so.

These are the app's own words, the ones you'll read when a rule refuses to go on.

Your branch and its remote both moved
Auto-pull paused: main diverged from origin/main
A merge would conflict
Auto-merge paused: feature/cart conflicts with develop — nothing was changed
The merge is clean, but your test fails on it
Auto-merge held back: feature/cart → develop does not pass the check
Before you throw changes away
Memento saves a snapshot first, so you can undo it right after, or later from Repository → Safety net.

Conflicts in three columns

Yours, the original and theirs, with what each side changed highlighted. Where only one side changed, or both made the same change, one click settles it. J and K move between blocks, 1 to 4 choose.

Undo

A commit, a merge, a discard, a deleted branch, stash or todo: the notification that confirms it has an Undo button, and Ctrl Z does the same.

Git errors in plain words

When Git refuses, you read what happened and what to do next, with a button for it when there is one.

The team's todo list is a ref in your repository.

No server and no account. It lives under refs/memento/data, outside every branch, so it is the same on all of them and never shows up in a diff. Whoever fetches and pushes shares it.

$ git log --oneline refs/memento/data
9a2f1b5 memento: todo update
e30345c memento: todo update
a2021ea memento: todo add
81a1967 memento: todo add

$ git show refs/memento/data:todos.json
{
  "items": [
    {
      "id": "mgq3m9cd",
      "text": "Fix the cart total rounding",
      "done": false,
      "assignee": "Bob",
      "branch": "feature/cart",
      "flag": true,
      …

Tied to the work

Link a todo to a branch. The commit box lists that branch's open todos, to tick the ones the commit finishes, and finishing the branch offers to mark the rest done.

The commit box: summary, description, and under them the open todo of the branch main, with a box to tick

Edited by two people at once

Every field keeps its latest change. If one person ticks a todo while another renames it, both changes stay.

On your phone

The Android app opens on what's waiting for you: reviews, pull requests ready or broken, and the team's todos, which you can tick from there. It talks to GitHub directly.

The todo list in Memento: a flagged priority, todos linked to branches, one linked to a branch that no longer exists, and a todo done by Ada Lovelace

A flag for what comes first, a branch for each task, and who finished what. A branch that no longer exists stays written, struck through.

Demo repository · captured 10 Oct 2026

The commit message, written by the AI you pick.

Suggest, above the commit box, asks an AI agent to write the message from what you staged: a summary, then a few lines on what changed and why, in the language of your last commits. You read it, change what you like, and commit. Nothing is committed for you.

The commit box: a summary and three lines of description written by an AI agent, and under them, Written by OpenCode and the model it used
The commit box after Suggest, at actual size.

The agent you already use

GitHub Copilot uses the GitHub account you signed in with: nothing else to set up, and Copilot Free is enough. Claude, Gemini, Codex, Cursor, OpenCode and the other agents of the ACP registry, the list Zed and JetBrains use, install in one click from the AI menu and sign in their own way. OpenCode works without an account.

And you know who wrote it

Keep an agent's default model or pick one. The line under the message names the agent and the model, and Restore mine brings back what you had typed.

What the agent sees, and what it can't do

  • Only what you staged, when you click. The first time, Memento asks before sending anything.
  • Never your secrets: .env files, keys, and any file whose changes look like a token stay on your machine.
  • It cannot read your files, run a command or change anything. One that tries is stopped, and its answer thrown away.
  • It runs for one answer, then it is stopped.

How it works, agent by agent

And the rest of Git.

A complete client, so you don't need a second one for the hard days.

  • Stage and discard single lines. Amend, reword, reorder and squash by dragging.
  • Diffs side by side, with the changed words highlighted and syntax colors.
  • The history of a file through its renames, or of a few lines. Blame and the file tree at any commit.
  • Search by message, author, file, code or date.
  • Conflicts foreseen before a merge, and four ways to merge, squash included.
  • Reset to a commit with a snapshot first, patches, and a guided search for the commit that broke it.
  • Branch comparison, worktrees, stashes, tags, cherry-pick and revert of several commits, rebase, reflog.
  • GPG and SSH signing, and a work identity that stays on work repositories.
  • Pull requests, checks and issues from GitHub, in the same window.
  • Tabs, a command palette, and your own diff and merge tool if you prefer it.

Made by one person.

I make Memento, and I use it every day. It's free and needs no account. It collects nothing about you or your code: Git runs on your machine, the app only talks to GitHub if you sign in, and to an AI agent only if you install one and ask it for a message.

If it gets something wrong, or doesn't do something it should, write to me. I read every message. If it saves you time, you can buy me a coffee.

Nekuzaky

Latest releases

    All release notes

    Download.

    The app updates itself after the first install.

    Windows Windows 10 and 11, 64-bitAbout 100 MB. Installs for your user, without administrator rights. The portable build doesn't update itself. Memento-Setup.exePortable
    Linux 64-bit. Ubuntu 22.04, Debian 12, Fedora 38 or newerThe AppImage updates itself; the .deb when you install the next one. Notes for Linux Memento.AppImage.deb
    Android Android 7 and upAbout 12 MB. Not on the Play Store yet: install the APK once, it updates itself after that. Memento.apk

    Free to use, with no account. Memento is not open source; the legal page says what that means.

    What Memento won't do.

    Automation you can leave running needs limits that don't move. These are the ones it keeps.

    • Force-push on its own. Auto-push never uses --force, in any form.
    • Merge or rebase your branch when it has diverged from its remote.
    • Commit a file Git doesn't already track, unless you tick that box.
    • Delete a branch by itself, even one whose remote is gone.
    • Discard your changes without a snapshot to bring them back.
    • Send your code to an AI on its own. An agent sees what you staged when you ask, never your secrets.
    • Report anything about you or your code. No telemetry, no account.