You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add keyring support via CLI for secure session token storage (#816)
Store session tokens in the OS keyring (macOS Keychain / Windows
Credential Manager) by delegating to the Coder CLI instead of native
binaries. Falls back to file-based storage on Linux or older CLIs.
- Add CliCredentialManager that shells out to `coder` for
store/read/delete token operations
- Gate keyring usage on CLI version (>= 2.29.0), platform, and
coder.useKeyring setting
- Derive safeHostname internally from url, simplifying the API surface
- Filter --use-keyring and --global-config from user global flags
- Add cancellable VS Code progress notifications for credential ops
- Add locateBinary for lightweight stat-only CLI lookups
Closes#825
Copy file name to clipboardExpand all lines: package.json
+6-1Lines changed: 6 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -150,12 +150,17 @@
150
150
]
151
151
},
152
152
"coder.globalFlags": {
153
-
"markdownDescription": "Global flags to pass to every Coder CLI invocation. Enter each flag as a separate array item; values are passed verbatim and in order. Do **not** include the `coder` command itself. See the [CLI reference](https://coder.com/docs/reference/cli) for available global flags.\n\nNote that for `--header-command`, precedence is: `#coder.headerCommand#` setting, then `CODER_HEADER_COMMAND` environment variable, then the value specified here. The `--global-config` flag is explicitly ignored.",
153
+
"markdownDescription": "Global flags to pass to every Coder CLI invocation. Enter each flag as a separate array item; values are passed verbatim and in order. Do **not** include the `coder` command itself. See the [CLI reference](https://coder.com/docs/reference/cli) for available global flags.\n\nNote that for `--header-command`, precedence is: `#coder.headerCommand#` setting, then `CODER_HEADER_COMMAND` environment variable, then the value specified here. The `--global-config` and `--use-keyring` flags are silently ignored as the extension manages them via `#coder.useKeyring#`.",
154
154
"type": "array",
155
155
"items": {
156
156
"type": "string"
157
157
}
158
158
},
159
+
"coder.useKeyring": {
160
+
"markdownDescription": "Store session tokens in the OS keyring (macOS Keychain, Windows Credential Manager) instead of plaintext files. Requires CLI >= 2.29.0. Has no effect on Linux.",
161
+
"type": "boolean",
162
+
"default": true
163
+
},
159
164
"coder.httpClientLogLevel": {
160
165
"markdownDescription": "Controls the verbosity of HTTP client logging. This affects what details are logged for each HTTP request and response.",
0 commit comments