The situation:
Uploads fail with the message "Repository not found" even though the repository exists. Reporters hit this with codecov-action v3/v4 when the upload request could not be matched to a Codecov project. Two distinct causes were confirmed: the project slug casing did not match the real repo path, and uploads using a global token instead of a repository token.
What actually fixes it (verified in the thread):
Make sure the project slug casing matches your repository exactly, for example Mohammad-Alavi/my-awesome-repo, not mohammad-alavi/my-awesome-repo, and pass it explicitly with the slug: input. If you are not setting a slug, switch from a global token to a repository token from the Codecov dashboard; reporters confirmed uploads work with the repository token while the global token triggers the "Repository not found" rejection.