Skip to content

Releases: databricks/cli

v1.7.0

Choose a tag to compare

@oss-cli oss-cli released this 09 Jul 11:27
Immutable release. Only release title and notes can be modified.
2f68ee4

CLI

  • An explicitly selected profile (--profile or a bundle's workspace.profile) now takes precedence over auth environment variables (DATABRICKS_HOST, DATABRICKS_TOKEN, etc.) instead of being silently shadowed by them; env vars still fill auth fields the profile leaves empty (#5096).
  • Fix intermittent crashes when processing pages from API calls (#5815).

Bundles

  • direct: add basic version of job_runs resource (experimental) (#5603).
  • Fix permissions added to a job or pipeline by a Python (PyDABs) mutator failing to deploy with "must have exactly one owner"; the deploying identity is now set as owner, matching resources whose permissions are declared in YAML (#5821).
  • Remove duplicate enum values for jsonschema.json (#5839).
  • direct: volumes: support volume_path property (#5550).
  • direct: Fix deploy bug when a postgres_projects, postgres_branches, or postgres_endpoints field is set to its zero value (e.g. enable_pg_native_login: false, replace_existing: false) (#5782).
  • bundle run --only help now documents the + modifier syntax: prefix a task key with + to also run its upstream tasks, or suffix it with + for downstream tasks (#5760).
  • direct: Recognize UC-managed catalog and schema property defaults to avoid unnecessary drift (#5865 & #5870).
  • Fix bundle deploy --select <resource> skipping the resource's grants and permissions; they are now applied as part of the selected resource (#5852).
  • Support purge_on_delete: true on postgres_branches so bundles can hard-delete a Lakebase branch on destroy (skipping the soft-delete retention window) (#5801).
  • Support replace_existing: true on postgres_databases and postgres_roles so bundles can take over a database or role that already exists on a Lakebase branch instead of failing with ALREADY_EXISTS (#5803).

Dependency updates

  • Bump databricks-sdk-go to v0.154.0 (#5855).
  • Bump terraform-provider to 1.121.0 (#5857).
  • Bump OpenTelemetry dependencies to v1.44.0 to address CVE-2026-41178 (#5873).

v1.6.0

Choose a tag to compare

@oss-cli oss-cli released this 02 Jul 13:07
Immutable release. Only release title and notes can be modified.
c320274

Release v1.6.0

CLI

  • ssh connect now accepts a --base-environment flag to run a serverless session on a custom base environment. It takes an env.yaml path, a workspace-base-environments/... resource ID, or a base environment display name, and is rejected together with --environment-version or --cluster (#5706).
  • databricks aitools install is now plugin-first: it installs the Databricks plugin through each agent's own CLI (Claude Code, Codex, GitHub Copilot) instead of copying raw skill files. Agents without a plugin (OpenCode, Antigravity) still get skill files, and Cursor prints the /add-plugin databricks step. Use --skills-only to force raw skill files for every agent, or --path <dir> to write skills to a directory (#5738).
  • databricks labs list now only shows projects that can be installed (#5560).

Bundles

  • direct: Fixed persistent drift on model_serving_endpoints caused by the traffic_config field (#5708).
  • direct: Fix spurious update when apply_policy_default_values: true is set on job task, for-each-task, or job cluster new_cluster (#5731). Also fix spurious updates for for-each-task clusters due to missing backend defaults for data_security_mode, node_type_id, driver_node_type_id, driver_instance_pool_id, enable_elastic_disk, and enable_local_disk_encryption.
  • direct: Cluster resize now falls back to regular update if resize fails due to INVALID_STATE (#5716).
  • bundle generate dashboard now honors the --key flag when naming the generated resource, and rejects combining --existing-path, --existing-id, and --resource instead of silently ignoring all but one (#5492).
  • Fixed bundle deployment migrate failing on model_serving_endpoints/database_instances with permissions (regression since v1.5.0) (#5775).
  • After a terraform deploy, the CLI now dry-runs a migration to the direct engine (writing nothing locally or remotely) and reports the outcome via telemetry, warning if the migration could not be completed (#5797).

Dependency updates

  • Bump github.com/databricks/databricks-sdk-go from v0.147.0 to v0.152.0 (#5773).
  • Bump Terraform provider from v1.118.0 to v1.120.0 (#5792).

v1.5.0

Choose a tag to compare

@oss-cli oss-cli released this 24 Jun 13:52
Immutable release. Only release title and notes can be modified.
39e4848

CLI

  • workspace export-dir no longer aborts when a workspace object's name is not a legal local filename (e.g. a notebook named New Notebook 2026-05-04 13:54:24 whose : is illegal on Windows). Such files are now exported under a sanitized name with a warning and the export completes (#5171).
  • ssh connect now opens an interactive bash login shell by default instead of the compute image's default /bin/sh, falling back gracefully when bash is unavailable. Passing an explicit remote command (-- <cmd>) is unaffected (#5687).
  • ssh connect interactive sessions now start in the user's workspace home folder (/Workspace/Users/<email>) instead of the OS home directory, falling back to the OS home when that folder is unavailable (#5688).

Bundles

  • Add documentation for the common bundle resource fields permissions, lifecycle, and grants in the JSON schema, so they surface in editor completions and the docs.
  • bundle run now prints the modern job run URL (/jobs/<id>/runs/<id>) so that non-admin users permitted to view the run are taken to the run instead of the workspace homepage.
  • References to a registered model's registered_model_id now resolve under the direct engine, matching Terraform behavior (#5621).
  • Fix missing field descriptions in the bundle JSON schema for fields whose upstream API docs arrived after the field was first annotated (e.g. vector_search_endpoints.*.target_qps); stale placeholder markers no longer hide them (#5588).
  • Fix bundle deploy --plan dropping a postgres_role's role_id, which caused the role to be recreated on the next deploy (#5672).
  • direct: Fix spurious cluster recreate when apply_policy_default_values: true is set (#5693).
  • direct: New 'deployment migrate' implementation that parses terraform state instead of fetching resources state from the backend (#5399).

Dependency updates

  • Bump github.com/databricks/databricks-sdk-go from v0.141.0 to v0.147.0 (#5636).
  • Bump Terraform provider from v1.117.0 to v1.118.0 (#5637).

v1.4.0

Choose a tag to compare

@oss-cli oss-cli released this 17 Jun 12:58
Immutable release. Only release title and notes can be modified.
0eeabec

CLI

  • Improved error messages for ssh connect: when an SSH connection attempt fails, the client now fetches and prints the server's recent error logs (#5555).
  • Increase the SSH server startup timeout from 10 to 45 minutes when a GPU accelerator is requested via databricks ssh connect --accelerator (#5569).
  • Fix authentication falling back to the default profile in .databrickscfg when a host is already configured via the environment (e.g. DATABRICKS_HOST with DATABRICKS_TOKEN) (#5616).
  • ssh: fix opening remote environment in Cursor, which previously hung on default-extension install and never opened the editor (#5619).
  • Improve the error shown when databricks labs install cannot find a project's labs.yml: the message now explains that either the requested version does not exist or the project is not installable with the CLI, and links to the repository (#5559).

Bundles

  • Remove API enum values and types that are still in development from the databricks-bundles Python package; these were never accepted by the backend (#5484).
  • direct: Fix resolving a resource reference that is used more than once within the same field (#5558).
  • Bundle variable references now accept Unicode letters in path segments (e.g. ${var.变量}). (#5532)
  • Ignore remote changes for vector search direct_access_index_spec.schema_json to prevent drift when the backend normalizes the schema (#5481).
  • Remove hidden, never-functional --existing-dashboard-id, --existing-dashboard-path, --existing-alert-id, and --existing-genie-space-id alias flags from bundle generate; use the documented --existing-id / --existing-path flags instead (#5591).
  • engine/direct: Fix WAL corruption after two consecutive failed deploys (#5606).
  • engine/direct: Don't open the deployment state WAL when a deploy's plan fails (#5607).
  • Ignore unity catalog managed schema property defaults to avoid unnecessary drift (#5195).
  • Add postgres_roles and postgres_databases resources to create Postgres roles and databases on a Lakebase branch (#5467, #5627).
  • direct: Stop spurious recreate/rename on redeploy when the backend normalizes a resource's name-based ID (e.g. Unity Catalog lowercasing a schema or volume name) (#5599).
  • Fix the generated pipeline README to suggest databricks bundle run <pipeline> --refresh <table> for running a single transformation; the previously documented --select flag is not supported by bundle run (#5252).

v1.3.0

Choose a tag to compare

@oss-cli oss-cli released this 11 Jun 08:21
Immutable release. Only release title and notes can be modified.
856ee8c

Notable Changes

  • The direct deployment engine is now Generally Available and the default for new deployments. To opt out, set engine: terraform under bundle in your databricks.yml or set DATABRICKS_BUNDLE_ENGINE=terraform. Existing deployments keep their current engine; see https://docs.databricks.com/aws/en/dev-tools/bundles/direct to migrate.

CLI

  • Added the databricks quickstart command, a short introduction to the CLI that prints a human-friendly guide interactively and an agent-oriented version when run non-interactively (#5464).
  • Add databricks version --check to report whether a newer CLI version is available and print the upgrade command for the detected install method (#5469).
  • databricks auth describe now verifies credentials against both the workspace and account endpoints before reporting a failure, fixing false "Unable to authenticate" errors for account console profiles (#5479).
  • databricks auth login no longer prompts for workspace selection when logging in to an account console host (https://accounts.*). Pass --workspace-id explicitly to store a workspace ID on such a profile (#5504).
  • databricks auth profiles --skip-validate no longer makes any network calls; the host metadata fetch is skipped along with validation (#5530).

Bundles

  • Set the default data_security_mode to DATA_SECURITY_MODE_AUTO in bundle templates (#5452).
  • Mark vector search index index_subtype as backend_default to prevent drift after deployment (#5454).
  • bundle deployment migrate: handle resources added to or removed from databricks.yml since the last Terraform deploy (#5463).
  • Add the genie_spaces bundle resource for managing Databricks Genie spaces as code, plus bundle generate genie-space to import an existing space. Direct deployment engine only (#5282).
  • Fix spurious recreate of schemas and volumes whose names use mixed case (#5531).

v1.2.1

Choose a tag to compare

@oss-cli oss-cli released this 04 Jun 14:44
Immutable release. Only release title and notes can be modified.
723895e

Bundles

  • direct: Fix updating the apps after the Go SDK upgrade (#5444)

v1.2.0

Choose a tag to compare

@oss-cli oss-cli released this 04 Jun 10:10
Immutable release. Only release title and notes can be modified.
dba5933

CLI

  • experimental open now opens every DABs resource type that has a workspace URL, picking up catalogs, schemas, volumes, database_instances, database_catalogs, synced_database_tables, postgres_catalogs, postgres_synced_tables, quality_monitors, vector_search_endpoints, and vector_search_indexes (#5346).

Bundles

  • Retry transient HTTP 5xx and 408 errors in direct deployment engine (#5349, #5364).
  • Preserve .designer.ipynb suffix when translating notebook task paths so Lakeflow Designer files referenced from a notebook_task resolve correctly in the workspace (#5370).
  • Fix script output dropping last line without trailing newline (#4995).
  • engine/direct: Add --select flag to bundle plan and bundle deploy to plan/deploy a subset of resources (e.g. --select my_job or --select jobs.my_job); resources referenced by the selection are included transitively (#5413).
  • Support purge_on_delete: true on postgres_projects so bundles can hard-delete a Lakebase project on destroy (skipping the soft-delete retention window) (#5414).
  • Support terraform references in direct engine (#5392)
  • Support lifecycle.started for SQL warehouses (#5348)

Dependency updates

  • Bump Go toolchain to 1.26.4 (#5420).
  • Bump github.com/databricks/databricks-sdk-go from v0.136.0 to v0.141.0 (#5361)
  • Bump Terraform provider from v1.115.0 to v1.117.0 (#5421)

v1.1.0

Choose a tag to compare

@oss-cli oss-cli released this 27 May 15:29
Immutable release. Only release title and notes can be modified.
68d6ae1

Bundles

  • The error reported when a direct-only resource (catalogs, external locations, vector search endpoints) is used with the terraform engine now also suggests setting bundle.engine: direct in databricks.yml, in addition to the DATABRICKS_BUNDLE_ENGINE environment variable (#5295).
  • Added vector_search_indexes as a bundle resource (direct engine only). Supports UC grants and prompts for confirmation on recreate or delete since both are destructive (#5123).

Dependency updates

  • Bump Go toolchain to 1.26.3 (#5302).
  • Bump github.com/databricks/databricks-sdk-go from v0.132.0 to v0.136.0.

v1.0.0

Choose a tag to compare

@oss-cli oss-cli released this 21 May 08:17
Immutable release. Only release title and notes can be modified.
e4ff4a3

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, 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.

CLI

  • 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 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. Pick where they go with --scope=project|global (--scope=both is accepted on update and list).
  • [__settings__].default_profile is now consulted as a fallback by databricks api, databricks auth token, and bundle commands when neither --profile nor DATABRICKS_CONFIG_PROFILE is set. databricks auth token continues to give precedence to DATABRICKS_HOST over default_profile. For bundle commands, default_profile only applies when the bundle does not pin its own workspace.host.
  • Fixed bug where auth commands did not load the DEFAULT profile properly during auth where type is databricks-cli.
  • databricks workspace import-dir now skips .git, .databricks, and node_modules directories during recursive imports. To import one of these directories deliberately, pass it as SOURCE_PATH (#5118).
  • databricks postgres create-role --help now documents the --json body 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 list honors --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: true on postgres_branches and postgres_endpoints so bundles can manage the implicitly-created production branch and primary read-write endpoint of a Lakebase project.
  • Add postgres_catalogs resource to bind a Unity Catalog catalog to a Postgres database on a Lakebase Autoscaling branch (#5265).
  • Add postgres_synced_tables resource 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

Choose a tag to compare

@oss-cli oss-cli released this 13 May 14:36
caeb2e3

Release v0.299.2 (2026-05-13)

Notable Changes

  • Breaking change: vector_search_endpoints renamed min_qps to target_qps in DABs configuration and the vector-search-endpoints commands, following the SDK rename in v0.131.0. Update any databricks.yml using min_qps: to target_qps: and any CLI invocations using --min-qps to --target-qps.

CLI

  • auth login no 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 describe now reports where U2M (databricks-cli) tokens are stored: plaintext (~/.databricks/token-cache.json) or secure (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, and databricks auth login, and moved it to the top of the list. databricks auth login and databricks auth logout now offer the same selectors as databricks auth token and databricks auth switch respectively.
  • 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 manually in databricks auth login so 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) to vector_search_endpoints (#5209).

  • Fix bundle generate job to preserve nested notebook directory structure (#4596)

  • Propagate authentication environment (including DATABRICKS_CONFIG_PROFILE) to the experimental.python subprocess so bundle validate/deploy no longer fails with a multi-profile host ambiguity error when several profiles in ~/.databrickscfg share the same host.

  • Fixed --force-pull on bundle summary and bundle open so 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-go from v0.128.0 to v0.132.0.
  • Bump Terraform provider to v1.115.0.