Files
claudetools/.claude/memory/feedback_git_noninteractive_auth.md
Mike Swanson 9ff5a9f04f docs(gitea): require non-interactive git auth on Windows
Mike's objection to Git for Windows is the constant GCM password
prompts that hang automation/background pushes, not the tool itself.
Document the working fix (repo-local credential.helper=store primed
with the azcomputerguru Gitea API token, GIT_TERMINAL_PROMPT=0) in the
Gitea Agent definition and shared memory.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 14:54:16 -07:00

2.3 KiB

name, description, metadata
name description metadata
feedback_git_noninteractive_auth Mike's objection to Git for Windows is interactive password/credential prompts, not the tool itself. Git must authenticate non-interactively — any solution that never prompts is fine.
type
feedback

Mike (admin, owner) clarified: he doesn't dislike git itself or the PowerShell-vs-bash choice. He dislikes that Git for Windows constantly prompts for passwords and is impossible to automate (Git Credential Manager, credential.helper = manager, pops a prompt that silently hangs background pushes). His instruction: "use any solution that doesn't bother me all the time."

Why: An interactive credential prompt is invisible to a background agent — it hangs forever and the work never completes. Observed live 2026-06-06: a Gitea Agent background git push hung on a GCM prompt; git log origin/main..main still showed the commit unpushed. Killing the agent + pushing with a token fixed it.

How to apply (the working setup on this Windows box, GURU-5070 / D:\ClaudeTools):

  • The repo is configured for silent auth: repo-local credential.helper = store, primed with the azcomputerguru Gitea API token in ~/.git-credentials, scoped to the internal Gitea host http://172.16.3.20:3000. Plain git push origin main / git fetch then works with no prompt. Global GCM (manager) left untouched for other repos.
  • ALWAYS export GIT_TERMINAL_PROMPT=0 before git calls so auth failures error fast instead of hanging on a hidden prompt.
  • Token source if it needs re-priming: vault services/gitea.sops.yaml field api-token, username azcomputerguru. One-shot push URL: http://azcomputerguru:<token>@172.16.3.20:3000/azcomputerguru/claudetools.git.
  • Run git from the PowerShell tool (native git.exe). Under PowerShell 5.1, git's stderr progress (even "Everything up-to-date") surfaces as a red NativeCommandError on success — trust $LASTEXITCODE, not the text.
  • The Gitea Agent definition (.claude/agents/gitea.md) carries this same guidance so delegated pushes also stay non-interactive.

Related Windows gotchas (separate issues, still real): feedback_windows_bash_mapping, feedback_tmp_path_windows, feedback_jq_crlf_windows. Gitea API auth detail: reference_gitea_api_credential.