{"record":{"id":"4bf6317bdb97cf79","repo":"git-ecosystem/git-credential-manager","slug":"can-not-use-the-storenames-cache-credential-st","errorCode":null,"errorMessage":"Can not use the '{StoreNames.Cache}' credential store on Windows due to lack of UNIX socket support in Git for Windows.\nSee {Constants.HelpUrls.GcmCredentialStores} for more information.","messagePattern":"Can not use the '(.+?)' credential store on Windows due to lack of UNIX socket support in Git for Windows\\.\nSee (.+?) for more information\\.","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"src/Core/CredentialStore.cs","lineNumber":319,"sourceCode":"            if (!_context.Settings.TryGetSetting(\n                GpgPassCredentialStore.PasswordStoreDirEnvar,\n                Constants.GitConfiguration.Credential.SectionName,\n                Constants.GitConfiguration.Credential.GpgPassStorePath,\n                out storeRoot))\n            {\n                // Use default store root at ~/.password-store\n                storeRoot = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), \".password-store\");\n            }\n\n        }\n\n        private void ValidateCredentialCache(out string options)\n        {\n            if (PlatformUtils.IsWindows())\n            {\n                var message = $\"Can not use the '{StoreNames.Cache}' credential store on Windows due to lack of UNIX socket support in Git for Windows.\";\n                _context.Trace2.WriteError(message);\n                throw new Exception(message + Environment.NewLine +\n                                    $\"See {Constants.HelpUrls.GcmCredentialStores} for more information.\"\n                );\n            }\n\n            // allow for --timeout and other options\n            if (!_context.Settings.TryGetSetting(\n                Constants.EnvironmentVariables.GcmCredCacheOptions,\n                Constants.GitConfiguration.Credential.SectionName,\n                Constants.GitConfiguration.Credential.CredCacheOptions,\n                out options))\n            {\n                options = string.Empty;\n            }\n        }\n\n        private void ValidatePlaintext(out string storeRoot)\n        {\n            // Check for a redirected credential store location","sourceCodeStart":301,"sourceCodeEnd":337,"githubUrl":"https://github.com/git-ecosystem/git-credential-manager/blob/e8ce762cd04b4100ae637b5fbf39ef9d0a96561e/src/Core/CredentialStore.cs#L301-L337","documentation":"ValidateCredentialCache rejects the '{cache}' credential store on Windows. The cache store communicates over a UNIX domain socket, which Git for Windows did not support at the time, so GCM throws before attempting to spawn `git credential-cache`.","triggerScenarios":"Setting credential.store / GCM_CREDENTIAL_STORE to StoreNames.Cache on any Windows host; EnsureBackingStore calls ValidateCredentialCache and PlatformUtils.IsWindows() is true.","commonSituations":"Copying Linux .gitconfig with store=cache to Windows; trying to get short-lived in-memory credential caching on Windows.","solutions":["Use 'wincredman' on Windows for persisted credentials, or remove credential.store to use the default.","For short-lived caching semantics on Windows, rely on the OS credential manager instead of the cache store.","Run the workflow inside WSL where UNIX sockets work if cache is strictly required."],"exampleFix":"// before (Windows)\n[credential]\n\tstore = cache\n// after\n[credential]\n\tstore = wincredman","handlingStrategy":"validation","validationCode":"if (storeType === 'cache' && process.platform === 'win32') {\n  console.warn('cache store unsupported on Windows (no UNIX socket support); use wincredman');\n}","typeGuard":"const supportsCacheStore = (platform: string) => platform !== 'win32';","tryCatchPattern":null,"preventionTips":["Use wincredman on Windows; cache is POSIX-only","Verify store compatibility when sharing .gitconfig across OSes","Use WSL if UNIX-socket-based stores are required"],"tags":["git-credential-manager","cache","windows","unix-socket"],"backgroundTag":"unsupported-platform","analyzedSha":"e8ce762cd04b4100ae637b5fbf39ef9d0a96561e","analyzedAt":"2026-09-11T17:15:08.753Z","contentChangedAt":"2026-09-11T17:15:08.753Z","schemaVersion":2},"datasetVersion":"2026-09-16T09:17:16.951Z"}