@@ -16,6 +16,7 @@ import (
1616 "github.com/automagik-dev/workit/internal/googleauth"
1717 "github.com/automagik-dev/workit/internal/outfmt"
1818 "github.com/automagik-dev/workit/internal/secrets"
19+ "github.com/automagik-dev/workit/internal/setup"
1920 "github.com/automagik-dev/workit/internal/ui"
2021)
2122
@@ -730,6 +731,11 @@ func (c *AuthAddCmd) handleRemoteAuthStep(
730731func (c * AuthAddCmd ) runHeadless (ctx context.Context , client string , services []googleauth.Service , scopes []string ) error {
731732 u := ui .FromContext (ctx )
732733
734+ // Auto-setup keyring password for Linux headless environments.
735+ if err := setup .SetupKeyringIfNeeded (os .Stderr ); err != nil {
736+ fmt .Fprintf (os .Stderr , "Warning: keyring auto-setup failed: %v\n " , err )
737+ }
738+
733739 // Pre-flight: ensure keychain is accessible before starting headless OAuth.
734740 if keychainErr := ensureKeychainAccessIfNeeded (); keychainErr != nil {
735741 return fmt .Errorf ("keychain access: %w" , keychainErr )
@@ -880,6 +886,11 @@ type AuthPollCmd struct {
880886func (c * AuthPollCmd ) Run (ctx context.Context ) error {
881887 u := ui .FromContext (ctx )
882888
889+ // Auto-setup keyring password for Linux headless environments.
890+ if err := setup .SetupKeyringIfNeeded (os .Stderr ); err != nil {
891+ fmt .Fprintf (os .Stderr , "Warning: keyring auto-setup failed: %v\n " , err )
892+ }
893+
883894 if strings .TrimSpace (c .State ) == "" {
884895 return usage ("state is required" )
885896 }
0 commit comments