Add dynamic user switching based on git config gh.user (POC for #326) #11388
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Proof of concept implementation for #326. Adds automatic user switching based on repository-specific
gh.user
git config setting.Implementation
When any authenticated command runs, the CLI automatically:
gh.user
from git configUsage
As described in #326, configure per-repository users using git config include:
Now all gh commands automatically use the appropriate user based on repository location:
Files Changed
internal/config/git_user_switch.go
- Core switching logicpkg/cmd/factory/default.go
- Integration point in HTTP client factoryinternal/config/git_user_switch_test.go
- Test suite (9 scenarios)Testing
All test scenarios pass:
Proof of Concept Status
This is a functional POC demonstrating the core concept. Implementation works as described in #326 but may need refinement for production:
gh auth switch
UXManual Verification
Tested with two authenticated users. Switching works correctly:
Invalid users show warning but don't break commands.
Note: This POC was generated with Claude Code as a vibecoded exploration of #326.