Releases: databricks/cli
v1.0.0
The Databricks CLI is now generally available with version v1.0.0 as the first major release 🚀.
From this version on, the CLI follows semantic versioning (see README).
This change does not impact DABs or other existing commands beyond the changes listed below.
The 0.299.x line continues to receive security-critical patches through May 20, 2027; see SECURITY for the support policy.
Notable Changes
- Starting with v1.0.0, the CLI will use immutable release tags to increase security against supply chain attacks.
- 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, rundatabricks auth loginonce per profile to re-authenticate; cached tokens from older versions are not migrated. To keep the previous file-backed storage, setDATABRICKS_AUTH_STORAGE=plaintextor addauth_storage = plaintextunder[__settings__]in~/.databrickscfg(the env var takes precedence over the config setting), then re-rundatabricks 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 legacytoken-cache.jsonentries remain accessible without manual configuration.
CLI
- Added
databricks aitoolscommand 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 and either symlinked into each agent's skills directory or copied into the current project. Usedatabricks aitools installto set up,updateto pull newer versions,listto see what's available, anduninstallto remove them. Pick where they go with--scope=project|global(--scope=bothis accepted onupdateandlist). [__settings__].default_profileis now consulted as a fallback bydatabricks api,databricks auth token, and bundle commands when neither--profilenorDATABRICKS_CONFIG_PROFILEis set.databricks auth tokencontinues to give precedence toDATABRICKS_HOSToverdefault_profile. For bundle commands,default_profileonly applies when the bundle does not pin its ownworkspace.host.- Fixed bug where auth commands did not load the DEFAULT profile properly during auth where type is
databricks-cli. databricks workspace import-dirnow skips.git,.databricks, andnode_modulesdirectories during recursive imports. To import one of these directories deliberately, pass it asSOURCE_PATH(#5118).databricks postgres create-role --helpnow documents the--jsonbody shape and rejects the common mistake of wrapping the body in{"role": ...}client-side with a hint pointing at the correct shape (#5111).databricks aitools listhonors--output json, emitting a structured{release, skills[...], summary{}}document so coding agents and CI can consume the skill/version/installation matrix without scraping the tabular text output (#5233).
Bundles
- Make sure warnings asking for approval are understood by agents (#5239)
- Support
replace_existing: trueonpostgres_branchesandpostgres_endpointsso bundles can manage the implicitly-created production branch and primary read-write endpoint of a Lakebase project. - Add
postgres_catalogsresource to bind a Unity Catalog catalog to a Postgres database on a Lakebase Autoscaling branch (#5265). - Add
postgres_synced_tablesresource to sync a Unity Catalog Delta table into a Postgres table on a Lakebase Autoscaling branch (#5268). - engine/direct: Changes to state file now persisted to .wal file right away instead of being saved in the end (#5149)
v0.299.2
Release v0.299.2 (2026-05-13)
Notable Changes
- Breaking change:
vector_search_endpointsrenamedmin_qpstotarget_qpsin DABs configuration and thevector-search-endpointscommands, following the SDK rename in v0.131.0. Update anydatabricks.ymlusingmin_qps:totarget_qps:and any CLI invocations using--min-qpsto--target-qps.
CLI
auth loginno longer falls back to plaintext when the OS keyring is reachable but locked. The unlock prompt shown by the probe now runs in parallel with the OAuth flow, and the token is stored in the keyring once the user has typed their password.databricks auth describenow reports where U2M (databricks-cli) tokens are stored:plaintext(~/.databricks/token-cache.json) orsecure(OS keyring), and the source of the choice (env var, config setting, or default).- Marked the default profile in the interactive pickers shown by
databricks auth switch,databricks auth logout,databricks auth token, anddatabricks auth login, and moved it to the top of the list.databricks auth loginanddatabricks auth logoutnow offer the same selectors asdatabricks auth tokenanddatabricks auth switchrespectively. - The interactive auth profile pickers now start in search mode so typing immediately filters the list, and the action entries (
+ Create a new profile,→ Enter a host URL manually) are visually distinct from real profiles and stay visible regardless of the search query. - Shortened the host prompt label shown after
→ Enter a host URL manuallyindatabricks auth loginso the prompt no longer leaves stale lines on screen when typing or pasting a host URL.
Bundles
-
Stop applying
presets.name_prefix(and the dev-mode[dev <user>]rename) tovector_search_endpoints(#5209). -
Fix
bundle generatejob to preserve nested notebook directory structure (#4596) -
Propagate authentication environment (including
DATABRICKS_CONFIG_PROFILE) to theexperimental.pythonsubprocess so bundle validate/deploy no longer fails with a multi-profile host ambiguity error when several profiles in~/.databrickscfgshare the same host. -
Fixed
--force-pullonbundle summaryandbundle openso the flag bypasses the local state cache and reads state from the workspace.
Dependency updates
- Bump Go toolchain to 1.25.10 (#5213).
- Bump
github.com/databricks/databricks-sdk-gofrom v0.128.0 to v0.132.0. - Bump Terraform provider to v1.115.0.
v0.299.1
Release v0.299.1
CLI
databricks apinow works against unified hosts. Adds--accountto scope a call to the account API and--workspace-idto override the workspace routing identifier per call. A?o=<workspace-id>query parameter on the path (the SPOG URL convention used by the Databricks UI) is also recognized as a per-call workspace override, so URLs pasted from the browser route correctly.- JSON output for single objects now uses standard
"key": "value"spacing (matching list output andencoding/jsondefaults).
Bundles
- Validate that resource keys do not contain variable references (#5169)
- engine/direct: Drop the deployment state entry on a recreate before the follow-up
Create, so aCreatefailure no longer leaves a broken state withinvalid state: empty idon the nextbundle plan(#5173). bundle debug list-targets: skip nil entries in the targets map instead of panicking when a target is declared with a null value (#5203).
Dependency updates
- Added
github.com/jackc/pgx/v5v5.9.1 (MIT) as a new dependency. Used by an experimental Postgres command added in this release; the package is dormant for users who do not invoke that command.
v0.299.0
CLI
- Moved file-based OAuth token cache management from the SDK to the CLI. No user-visible change; part of a three-PR sequence that makes the CLI the sole owner of its token cache (#5056).
- Remove the
--experimental-is-unified-hostflag and stop readingexperimental_is_unified_hostfrom.databrickscfgprofiles and theDATABRICKS_EXPERIMENTAL_IS_UNIFIED_HOSTenv var. Unified hosts are now detected exclusively from/.well-known/databricks-configdiscovery. Theexperimental_is_unified_hostfield is retained as a no-op indatabricks.ymlfor schema compatibility (#5047). - Added interactive pagination for list commands that have a row template (jobs, clusters, apps, pipelines, etc.). When stdin, stdout, and stderr are all TTYs,
databricks <resource> listnow streams 50 rows at a time and prompts[space] more [enter] all [q|esc] quit. ENTER can be interrupted byq/esc/Ctrl+Cbetween pages. Colors and alignment match the existing non-paged output; column widths stay stable across pages. Piped output and--output jsonare unchanged (#5015). - Added experimental OS-native secure token storage opt-in via
DATABRICKS_AUTH_STORAGE=secure. Legacy file-backed token storage remains the default (#5008, #5013). - Fixed a panic in
databricks warehouses update-default-warehouse-overridewhen invoked without all required positional arguments (e.g. picking a warehouse from the interactive drop-down and then hitting an index-out-of-range crash). The command now validates arguments up front and returns a usage error. Fixes #5070 via #5079.
Bundles
- Translate relative paths in
alert_task.workspace_pathon job tasks to fully qualified workspace paths, matching the behavior of other task path fields. Applies to both regular tasks andfor_each_tasknested tasks (#4836).
Dependency updates
- Added
github.com/zalando/go-keyringas a new dependency (dormant until a later release enables experimental secure-storage for OAuth tokens) (#5008).
v0.298.0
CLI
- Added
--limitflag to all paginated list commands for client-side result capping (#4984). Onjobs listandjobs list-runsthe former API page-size flag was renamed to--page-size(hidden) to avoid collision. - Accept
yesin addition toyfor confirmation prompts, and show[y/N]to indicate that no is the default. - Cache
/.well-known/databricks-configlookups under~/.cache/databricks/<version>/host-metadata/so repeat CLI invocations against the same host skip the ~700ms discovery round trip. - Deprecated
auth env. The command is hidden from help listings and prints a deprecation warning to stderr; it will be removed in a future release.
Bundles
- Remove
experimental-jobs-as-codetemplate, superseded bypydabs(#4999). - Prompt before destroying or recreating Lakebase resources (database instances, synced database tables, postgres projects and branches) (#5052).
- Treat deleted resources as not running in the
fail-on-active-runscheck (#5044). - engine/direct: Added support for Vector Search Endpoints (#4887).
- engine/direct: Exclude deploy-only fields (e.g.
lifecycle) from the Apps update mask so requests that change bothdescriptionandlifecycle.startedin the same deploy no longer fail withINVALID_PARAMETER_VALUE(#5042, #5051). - engine/direct: Fix phantom diffs from
depends_onreordering in job tasks (#4990).
Dependency updates
v0.297.2
v0.296.1
This is a bugfix release.
It fixes the following error observed when running bundle commands.
error downloading Terraform: unable to verify checksums signature: openpgp: key expired
Full Changelog: v0.296.0...v0.296.1
v0.295.1
This is a bugfix release.
It fixes the following error observed when running bundle commands.
error downloading Terraform: unable to verify checksums signature: openpgp: key expired
Full Changelog: v0.295.0...v0.295.1
v0.294.1
This is a bugfix release.
It fixes the following error observed when running bundle commands.
error downloading Terraform: unable to verify checksums signature: openpgp: key expired
Full Changelog: v0.294.0...v0.294.1
v0.293.1
This is a bugfix release.
It fixes the following error observed when running bundle commands.
error downloading Terraform: unable to verify checksums signature: openpgp: key expired
Full Changelog: v0.293.0...v0.293.1