Skip to content

feat: Add Git Credential Manager support for persistent cross-workspace credentials - #1

Merged
mrd9999 merged 3 commits into
mrd9999:mainfrom
kabuto-png:feat/git-credential-manager
Jan 17, 2026
Merged

mrd9999 merged 3 commits into
mrd9999:mainfrom
kabuto-png:feat/git-credential-manager

Conversation

@kabuto-png

Copy link
Copy Markdown
Contributor

Summary

Replaces VS Code secret storage with Git Credential Manager for credential persistence across all workspaces.

Problem

Previously, users had to re-enter credentials every time they opened a new workspace because VS Code's context.secrets is local to each installation.

Solution

  • Store credentials via Git Credential Manager (git credential approve/fill/reject)
  • Fallback to ~/.git-credentials file for compatibility
  • Auto-configure credential helper based on platform:
    • macOS: osxkeychain
    • Windows: manager
    • Linux: libsecret or store
  • Per-repository credential keys (not per-host) to support multiple GitHub accounts

Changes

  • src/services/ConfigService.ts - New credential storage implementation
  • src/services/GitService.ts - Added credential helper methods
  • src/extension.ts & src/ui/SidePanelProvider.ts - Updated save order (URL before credentials)

Testing

  • Tested on Linux with credential.helper=store
  • Verified credentials persist across workspace switches
  • Verified no conflicts with existing Git credentials

…ce credentials

- Replace VS Code secret storage with Git Credential Manager
- Credentials now persist across all workspaces and editor installations
- Per-repository credential isolation prevents conflicts with multiple accounts
- Auto-configure credential helper based on platform (osxkeychain/manager/libsecret/store)
- Fallback to ~/.git-credentials file for compatibility

Closes #X (if applicable)
…ce credentials

- Replace VS Code secret storage with Git Credential Manager
- Credentials now persist across all workspaces and editor installations
- Per-repository credential isolation prevents conflicts with multiple accounts
- Auto-configure credential helper based on platform (osxkeychain/manager/libsecret/store)
- Fallback to ~/.git-credentials file for compatibility

Closes #X (if applicable)
@mrd9999

mrd9999 commented Jan 17, 2026

Copy link
Copy Markdown
Owner

hello @kabuto-png there are some conflicts, please help me resolve it, your idea is good

Resolved conflicts in src/services/GitService.ts by integrating logger functionality from main branch.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@kabuto-png

Copy link
Copy Markdown
Contributor Author

hi @mrd9999 , I've resolved the merge conflicts. The changes are now ready for review and can be cleanly merged.

@mrd9999
mrd9999 merged commit 4ec7cd4 into mrd9999:main Jan 17, 2026
3 of 5 checks passed
@kabuto-png
kabuto-png deleted the feat/git-credential-manager branch January 17, 2026 14:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants