[BUG] Local git credential proxy fails in Routines (scheduled trigger) — same root cause as #27344
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
I'm hitting the exact same error, but in a different execution context than the original report — a Routine (scheduled trigger via create_trigger, create_new_session_on_fire=true), not an interactive Desktop/VS Code session.
Error:
Exit code 128
fatal: could not read Password for 'http://local_proxy@127.0.0.1:41729': terminal prompts disabled
Context:
- Automated daily Routine, no human present at execution time (headless/unattended by design).
- - GITHUB_TOKEN and 7 GIT_CONFIG_KEY_/GIT_CONFIG_VALUE_ pairs are present as environment variables in the container — confirmed present and apparently intended to authenticate git against the target repo.
- - - git ls-remote https://github.com/<org>/<repo>.git (read-only, no clone/push attempted) fails at the exact same point — it never gets to exchange credentials with github.com. The failure happens against the local proxy (127.0.0.1:<port>), before any request reaches GitHub.
- - - - This confirms the same root cause as #27344: the local HTTP credential-injection proxy either isn't running, isn't listening on the port git expects, or isn't wired to accept the injected GIT_CONFIG_* credentials in this session type.
- - - - - Additional detail vs. the original report: the error message differs slightly — "terminal prompts disabled" instead of "No such device or address" — which suggests git is falling back to an interactive credential prompt (disabled in headless mode) rather than getting a connection-level failure. Might indicate the proxy process exists but isn't correctly registered as the credential helper for this session type, rather than not running at all.
Impact: this makes git push/git clone structurally unreliable for any unattended/scheduled Routine that needs to write to a private repo — a core use case for Routines (e.g., automated daily reports, scrapers, scheduled data pipelines). Read-only operations against other services (Google Drive) work fine in the same session; this appears isolated to the git credential-proxy path specifically.
Happy to provide the full session/trigger config or additional logs if useful for reproduction.
What Should Happen?
The Routine should be able to authenticate git (via the injected GITHUB_TOKEN / GIT_CONFIG_* env vars) and complete git ls-remote / git push against a private repo in an unattended, headless scheduled execution, the same way it works in an interactive Desktop/CLI session.
Error Messages/Logs
Exit code 128
fatal: could not read Password for 'http://local_proxy@127.0.0.1:41729': terminal prompts disabled
Exit code 128
fatal: could not read Password for 'http://local_proxy@127.0.0.1:41729': terminal prompts disabled
(Separately, in the same Routine, we also saw create_trigger fail 4/4 times with "MCP error -32003: MCP tool call requires approval" regardless of payload size (~90KB vs ~300 bytes) — possibly related to the same headless-approval gap, noted here for context, not conflated with the git proxy error above.)Reproduced consistently across 4/4 attempts (create_trigger calls and a subsequent git ls-remote check), with different payload sizes (~90KB and ~300 bytes), ruling out payload size as the cause.
Steps to Reproduce
- Create a Claude Code Routine (create_trigger) with create_new_session_on_fire=true, pointed at a private GitHub repo, scheduled via cron.
- 2. Let it fire on schedule (headless, no human present), or manually trigger the session.
- 3. Inside that session, attempt any git operation against the repo, e.g. git ls-remote https://github.com/<org>/<repo>.git
- 4. Observe: Exit code 128, fatal: could not read Password for 'http://local_proxy@127.0.0.1:<port>': terminal prompts disabled — even though GITHUB_TOKEN and GIT_CONFIG_* env vars are present in the container.
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
N/A — running as a Claude Code Routine (cloud-hosted scheduled session), version not exposed to the session itself
Platform
Anthropic API
Operating System
Other
Terminal/Shell
Other
Additional Information
_No response_