Git not-a-git-command The invoked subcommand is not among the commands this Git installation provides.

dev@local: ~/project — git
dev@local~/project$git pUll
fatal: not a git command
Diagnostics Translation
The invoked subcommand is not among the commands this Git installation provides.
waiting for resolution...
LowVersion Control System

Reviewed for reference consistency: August 11, 2026

Code is Safe

SECURE

Git has paused the operation to protect your code. No data has been lost or corrupted.

What To Know

This message means the name after `git` matched nothing in the installation's command table — a spelling issue, a missing companion tool, or a version difference, never a repository problem.

Where Did It Fail?

Working Tree
Your local files
add
Staging Index
Prepared changes
commit
Local Repo
Commit history
push/fetch
Remote Server
GitHub/GitLab
Git halted to protect the uncommitted files in your active working directory.

Commands That Trigger This

$git pUll
Typing or another typo'd subcommand
Running a tutorial command from a tool such as git-lfs or git-flow whose binary is not installed
Copying an aliased command into a shell where the alias does not exist

Technical Background

01

Git builds its command list from compiled-in commands plus executables named git-<something> on the PATH. The message therefore covers two worlds: a compiled command that does not exist, and an external subcommand whose providing package is absent.

02

The did-you-mean suggestions that often accompany the message come from the same table, which makes them a quick spelling check. For missing external tools, the package providing git-<name> must be installed — no Git configuration creates the command.

Underlying Causes

The subcommand name is misspelled or mis-capitalized
An auxiliary tool registers subcommands only when its binary is installed
Shell aliases or scripts were defined on another machine
The command exists only in a newer (or older) Git version than the installed one

Frequently Asked Questions

Either their Git version differs or an external tool (LFS, flow, extras) is installed there and registers the subcommand on the PATH.

Indirectly — an alias expands to a command name that must still exist; a typo inside the alias surfaces exactly this message when the alias runs.

Related Git States