On Wed, Oct 03, 2018 at 09:06:38PM +0700, Dimitri Kopriwa wrote: > 18:25:52.940307 git.c:659 trace: exec: git-credential-store erase > 18:25:52.940365 run-command.c:637 trace: run_command: git-credential-store erase > remote: HTTP Basic: Access denied > fatal: Authentication failed for > 'https://git.example.com/example/some-project.git/' > [...] > > Can you please help me found why is git credential-store erase called ? This is expected. We tried to use a credential that was rejected by the server, so we told all of the helpers it was invalid. You can try running GIT_TRACE_CURL=1 to see the HTTP conversation. There will be an HTTP 401 with the authentication failure, though it may not tell you anything more useful than that. git-credential-store is meant to be used interactively, to insert and erase credentials as they're grabbed from the terminal. It sounds more like you want to just have a stored credential that you try to use. You could do that with a custom helper. E.g., something like this in your ~/.gitconfig: [credential "https://example.com"] helper = "!f() { test $1 = get && echo password=$(cat /path/with/password); }; f" -Peff