-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Problem
The ssh-sign wrapper (dot_config/git/executable_ssh-sign) now correctly falls back to ~/.ssh/id_ed25519_remote for commit signing in Claude Code sessions (detected via CLAUDECODE=1 env var). However, git push still goes through the 1Password SSH agent and fails because biometric approval can't be granted non-interactively.
Current workaround: push via HTTPS using the gh CLI token:
git -c url."https://x-access-token:$(gh auth token)@github.com/".insteadOf="git@github.com:" push -u origin HEADDesired behavior
In Claude Code sessions (or any session where 1Password biometric is unavailable), git push should automatically use the fallback key or HTTPS without manual intervention.
Options
- GIT_SSH_COMMAND override — Set
GIT_SSH_COMMAND="ssh -i ~/.ssh/id_ed25519_remote -o IdentitiesOnly=yes"in Claude Code sessions. Requires the fallback key to be registered with GitHub as an authentication key (currently it's only a signing key). - Switch git protocol to HTTPS — Configure
url.https://github.com/.insteadOf=git@github.com:whenCLAUDECODE=1is set. Usesgh auth tokenfor auth. Could be done indot_zshrcor a git config include. - Register fallback key with GitHub — Add
~/.ssh/id_ed25519_remote.pubas an authentication key on GitHub, then use option 1. - Wrapper script for ssh — Similar to ssh-sign, wrap
sshto swap the identity file in fallback scenarios.
Context
- The fallback key is generated by
run_once_11-remote-signing-key.sh.tmpl - The ssh-sign wrapper strips
-U(agent signing) and replaces-fwith the fallback key CLAUDECODE=1is set automatically in Claude Code sessionsgh auth statusshows a valid token withreposcope
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels