Skip to content

Commit 771d066

Browse files
authored
Merge branch 'main' into jb/aitools-interface
2 parents e921bfb + 3204e67 commit 771d066

27 files changed

Lines changed: 915 additions & 88 deletions

File tree

NEXT_CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
### Notable Changes
66

7+
* Breaking change: OAuth tokens for interactive logins (`auth_type = databricks-cli`) are now stored in the OS-native secure store by default (Keychain on macOS, Credential Manager on Windows, Secret Service on Linux) instead of `~/.databricks/token-cache.json`. After upgrading, run `databricks auth login` once per profile to re-authenticate; cached tokens from older versions are not migrated. To keep the previous file-backed storage, set `DATABRICKS_AUTH_STORAGE=plaintext` or add `auth_storage = plaintext` under `[__settings__]` in `~/.databrickscfg` (the env var takes precedence over the config setting), then re-run `databricks auth login`. On systems where the OS keyring is not reachable (e.g. Linux containers without a D-Bus session bus), the CLI transparently falls back to the file cache when reading tokens so legacy `token-cache.json` entries remain accessible without manual configuration.
8+
79
### CLI
810
* Added `databricks aitools` command group for installing Databricks skills into your coding agents (Claude Code, Cursor, Codex CLI, OpenCode, GitHub Copilot, Antigravity). Skills are fetched from [github.com/databricks/databricks-agent-skills](https://github.com/databricks/databricks-agent-skills) and either symlinked into each agent's skills directory or copied into the current project. Use `databricks aitools install` to set up, `update` to pull newer versions, `list` to see what's available, and `uninstall` to remove them.
911

acceptance/cmd/auth/describe/u2m-json-output/output.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
>>> [CLI] auth describe --profile u2m-profile --output json
33
Warn: [hostmetadata] failed to fetch host metadata for https://u2m-profile.databricks.test, will skip for 1m0s
44
{
5-
"mode": "plaintext",
6-
"location": "~/.databricks/token-cache.json",
5+
"mode": "secure",
6+
"location": "OS keyring (service: databricks-cli)",
77
"source": "default"
88
}

acceptance/cmd/auth/describe/u2m-plaintext-config/output.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
>>> [CLI] auth describe --profile u2m-profile
33
Warn: [hostmetadata] failed to fetch host metadata for https://u2m-profile.databricks.test, will skip for 1m0s
4-
Unable to authenticate: error getting token: cache: token not found
4+
Unable to authenticate: error getting token: cache: no cached credentials; run `databricks auth login` to sign in
55
Token storage: plaintext, ~/.databricks/token-cache.json (from auth_storage in [__settings__] section of [TEST_TMP_DIR]/home/.databrickscfg)
66
-----
77
Current configuration:

acceptance/cmd/auth/describe/u2m-plaintext-default/test.toml

Lines changed: 0 additions & 3 deletions
This file was deleted.

acceptance/cmd/auth/describe/u2m-plaintext-env/output.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
>>> [CLI] auth describe --profile u2m-profile
33
Warn: [hostmetadata] failed to fetch host metadata for https://u2m-profile.databricks.test, will skip for 1m0s
4-
Unable to authenticate: error getting token: cache: token not found
4+
Unable to authenticate: error getting token: cache: no cached credentials; run `databricks auth login` to sign in
55
Token storage: plaintext, ~/.databricks/token-cache.json (from DATABRICKS_AUTH_STORAGE environment variable)
66
-----
77
Current configuration:

acceptance/cmd/auth/describe/u2m-plaintext-default/out.test.toml renamed to acceptance/cmd/auth/describe/u2m-secure-default/out.test.toml

File renamed without changes.

acceptance/cmd/auth/describe/u2m-plaintext-default/output.txt renamed to acceptance/cmd/auth/describe/u2m-secure-default/output.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11

22
>>> [CLI] auth describe --profile u2m-profile
33
Warn: [hostmetadata] failed to fetch host metadata for https://u2m-profile.databricks.test, will skip for 1m0s
4-
Unable to authenticate: error getting token: cache: token not found
5-
Token storage: plaintext, ~/.databricks/token-cache.json (from default)
4+
Unable to authenticate: error getting token: [KEYRING_LOOKUP_ERROR]
5+
Token storage: secure, OS keyring (service: databricks-cli) (from default)
66
-----
77
Current configuration:
88
✓ host: https://u2m-profile.databricks.test (from [TEST_TMP_DIR]/home/.databrickscfg config file)

acceptance/cmd/auth/describe/u2m-plaintext-default/script renamed to acceptance/cmd/auth/describe/u2m-secure-default/script

File renamed without changes.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Ignore = [
2+
"home"
3+
]
4+
5+
# This test runs against the real OS keyring at Lookup time (no writes).
6+
# macOS produces a clean miss; Linux without a usable D-Bus session bus
7+
# produces a backend error. Normalize both so the assertion stays on the
8+
# resolved storage mode, not the lookup outcome.
9+
[[Repls]]
10+
Old = 'Unable to authenticate: error getting token: .*'
11+
New = 'Unable to authenticate: error getting token: [KEYRING_LOOKUP_ERROR]'

acceptance/cmd/auth/logout/stale-account-id-workspace-host/output.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,4 @@ logfood (Default) [DATABRICKS_URL] NO
3636

3737
=== Logged out profile should no longer return a token
3838
>>> musterr [CLI] auth token --profile logfood
39-
Error: cache: databricks OAuth is not configured for this host. Try logging in again with `databricks auth login --profile logfood` before retrying. If this fails, please report this issue to the Databricks CLI maintainers at https://github.com/databricks/cli/issues/new
39+
Error: cache: databricks OAuth is not configured for this host. no cached credentials; run `databricks auth login` to sign in

0 commit comments

Comments
 (0)