Skip to main content

Why Git Says 'No Existing Author Found' and How to Fix It

· 5 min read
Serhii Hrekov
software engineer, creator, artist, programmer, projects founder

This error usually pops up when you're trying to use the --author flag during a commit or a rebase, and Git is failing its "detective work."

Unlike a simple text label, the --author flag triggers a search. Git tries to find a match in your existing history or your configuration. If your search string is too vague, has a typo, or doesn't match the required pattern, Git throws its hands up and says: fatal: No existing author found with 'XYZ'.

🔍 Why Does This Happen?​

Git uses a specific pattern for authors: Name <email@example.com>. When you run a command like git commit --amend --author="John", Git looks through your previous commits for anyone named "John."

The error triggers if:

  1. Zero Matches: No one in the history matches "John."
  2. Ambiguous Matches: There are multiple "Johns" (e.g., John Smith and John Doe), and Git doesn't know which one you want.
  3. Malformed String: You forgot the brackets < > or have a typo in the email.

🛠️ The Fixes: From Simple to Specific​

1. Use the Full Name <email> String​

The most reliable way to fix this is to stop asking Git to "guess." Provide the full identity string.

# Don't do this (vague):
git commit --amend --author="Alex"

# Do this (explicit):
git commit --amend --author="Alex Smith <alex@example.com>"


2. Check Your "Search" Spelling​

If you are trying to pull an author from history, make sure you know exactly how they appear. Run this command to see a list of everyone who has ever committed to the repo:

git log --format='%aN <%aE>' | sort -u

Copy the exact line that appears in the output and paste it into your --author command.


3. The "Empty Identity" Problem​

Sometimes this happens because your local Git environment isn't configured yet. If Git doesn't know who you are, it occasionally struggles to validate author overrides.

Check your config:

git config user.name
git config user.email

If these are blank, set them immediately:

git config --global user.name "Your Name"
git config --global user.email "your@email.com"


4. The "Reset Author" Shortcut​

If you were trying to fix a commit you just made and it’s giving you this error, you can tell Git to just use your current global config instead of searching:

git commit --amend --reset-author --no-edit


📊 Syntax Comparison Table​

Command SyntaxSuccess RateResult
--author="John"LowFails if "John" isn't in git log or is ambiguous.
--author="john@me.com"MediumWorks if the email is unique in the history.
--author="Name <e@m.com>"HighThe Gold Standard. Works 100% of the time.

📚 Sources & Technical Refs​