Support

Product: Unpushed Changes for Git (Stream Deck plugin for Windows) ยท Provider: GRAMSHIFT (Tokyo, Japan)

Contact

Email contact@gramshift.com in English or Japanese. We reply within 7 business days, usually sooner. Please include your Windows version, your Stream Deck app version, your Git version (git --version) and, if possible, a photo or screenshot of the key and of its settings. Please do not send source code or secrets.

Unsaved Work

  1. Install Git for Windows 2.15 or later if you have not yet (git-scm.com). Then install the plugin from the Elgato Marketplace. In the Stream Deck app, find Unpushed Changes for Git in the action list and drag Unsaved Work onto a key.
  2. Select the key and enter the folders that hold your repositories, one per line, for example C:\Users\you\source\repos. Tip: in File Explorer, select a folder and press Ctrl+Shift+C ("Copy as path"), then paste it. Quotes are removed, and %USERPROFILE% style variables work.
  3. Choose the Depth: 1 = the folder itself and its direct subfolders, 2 (default) = one level deeper, 3 = two levels deeper. The line Found under the settings tells you how many repositories were found and which folders do not exist.
  4. The key shows how many of those repositories have unsaved work on their checked-out branch. 0 / all pushed with a green frame means that, in every repository found, the checked-out branch has no changes and no commits that are not pushed (see "What is not checked" below); a number on a red key means that many repositories need attention.
  5. Worktrees of the repositories found are checked too, wherever they are on disk (for example the worktrees AI coding agents create in .claude\worktrees). They appear under their own folder name.
  6. Press the key to see them one by one: the folder name and up to two reasons (for example 3 changed, 2 untracked, 1 ahead, no upstream). After the last one, or after 15 seconds, the key shows the count again. The press after the last one also checks again at once.

What counts as unsaved work

Reason on the keyMeaningCounted
3 changedFiles that are changed, staged, renamed, deleted or in a merge conflictAlways
2 untrackedNew files git does not track yet (ignored files are not counted; a new folder counts as one)On by default (Count untracked files)
1 aheadCommits on the branch that its upstream does not have: not pushed yetAlways
no upstreamThe branch has commits but no upstream branch: it was never pushedOn by default (Count branches never pushed). Turn it off for repositories that are local only on purpose
upstream goneThe branch's upstream no longer exists (for example it was deleted on the server and removed by a fetch with prune)Always
timed out, not trusted, git errorThe repository could not be checked (see below). It is listed so that a repository is never shown as saved when it was not checkedAlways

Not counted: commits that are only behind the upstream (nothing to lose), a detached HEAD without changes, and a repository without any commit and without files.

What is not checked

The plugin reads git status of the branch that is checked out in each repository and worktree. It does not see:

Repository

  1. Drag Repository onto a key, select it and enter the folder of one repository.
  2. The key shows the folder name, the branch, the number of changed files (or clean), untracked files, and โ†‘ ahead โ†“ behind of the upstream, or in sync, no upstream, upstream gone or detached.
  3. Colors: red = unsaved work, blue frame = only behind the upstream, green frame = clean and in sync.
  4. Press the key to check again at once.

Common questions

"Behind" does not match the server.
The plugin never fetches (no network, no credentials). Behind and ahead are counted against the upstream as your PC last saw it, that is, as of your last git fetch, git pull or the last fetch your editor did.

The key shows "git not found" and a warning triangle.
Install Git for Windows. The plugin looks for git.exe in the folders of your PATH and in the usual install folders (C:\Program Files\Git and %LOCALAPPDATA%\Programs\Git). If you installed Git while the Stream Deck app was running, press the key; if that does not help, restart the Stream Deck app.

A repository shows "timed out".
git status took longer than 20 seconds, for example on a very large repository or a slow network drive. The plugin stops that git and tries again at the next check. At most 4 git processes run at once, so a few slow repositories can delay the others by up to 20 seconds each.

A repository shows "not trusted".
Git refuses to read a repository owned by another Windows user (git's safe.directory protection). If you trust it, run git config --global --add safe.directory "<folder>" yourself.

A folder shows "folder not found" or a warning triangle.
The warning triangle means the last check did not cover everything: a chosen folder does not exist, a folder could not be read, or the search stopped early (more than 20,000 folders). The count then covers only what was checked. Check the folder paths in the settings. The line Found lists the folders that do not exist and lines that are not full paths (a full path starts with a drive letter such as C:\, or with \\server\).

Submodules and nested repositories.
A submodule is not listed on its own: a changed submodule appears as a change in the repository that contains it, so the same change is not counted twice. An independent repository inside another folder that is itself a repository is counted on its own. Links and junctions are not followed, and node_modules folders are skipped.

Does it slow down my PC?
It runs git status once a minute and only while a key of this plugin is on screen. It lists at most 20,000 folders and 1,000 repositories per key.

Does it change my repositories?
No. It runs only two read-only git commands, git status and git worktree list, with --no-optional-locks (so git does not rewrite its index) and with git's file-system monitor turned off for those calls. It never fetches, commits, pushes or stashes. Note that git itself may run programs that your repositories configure for comparing files, such as Git LFS filters, just as when you run git status yourself.

Does it work on Mac?
No. This plugin is for Windows 10 or later only; it has been tested on Windows only.

Privacy

The plugin runs entirely on your PC and sends no data anywhere. See the Privacy Policy.

Git and the Git logo are either registered trademarks or trademarks of Software Freedom Conservancy, Inc., corporate home of the Git Project, in the United States and/or other countries. This plugin is not made or endorsed by the Git Project.