Skip to content

Releases: databricks/cli

v1.10.0

Choose a tag to compare

@oss-cli oss-cli released this 29 Jul 16:04
Immutable release. Only release title and notes can be modified.
a099985

Release v1.10.0 (2026-07-29)

CLI

  • ssh connect now supports specifying a serverless usage policy with --usage-policy-id

Bundles

  • Fixed bundle deploy/bundle destroy failing when an app enters the transient DELETING state between plan and apply (e.g. with a saved plan); the delete is now treated as complete instead of erroring (direct engine only).
  • Fixed bundle deploy/bundle destroy failing when an app is still in the transient DELETING state; the delete is now treated as complete instead of erroring (direct engine only).
  • bundle destroy --force-lock now proceeds without a deployment lock when the workspace directory is at its child-node limit and cannot accept the lock file, so a deployment can still be torn down when the workspace is full.
  • Empty-string values on optional (omitempty) resource fields are now dropped before deployment instead of being sent to the backend. This fixes deploys failing with errors like '' is not a valid cluster policy ID when a field such as policy_id was set to "" (often via a variable that resolved to an empty string). The behavior now matches between the terraform and direct engines and is reflected in bundle validate -o json.
  • bundle validate and bundle deploy now reject a grant that is missing a principal with an error instead of a warning. Previously the deploy would start and, on the direct engine, create the securable before the grants PATCH failed (400 INVALID_PARAMETER_VALUE), leaving a partially-applied deployment.
  • bundle validate and bundle deploy now reject a grant with an empty privileges list with an error. Previously, on the direct engine, such a grant never converged: the backend drops principals with no privileges, so every subsequent bundle plan reported the grant as a perpetual update.
  • Fixes #6030: spurious update on catalog/schema/volume grants (direct engine); a principal granted ALL_PRIVILEGES no longer drifts when the backend also reports the concrete privileges it implies (#6064).
  • Use vector search endpoint permission types that are supported by the backend (#6022).

Dependency Updates

  • Bump github.com/databricks/databricks-sdk-go from v0.160.0 to v0.165.0.
  • Upgrade Terraform provider to 1.123.0

v1.9.0

Choose a tag to compare

@oss-cli oss-cli released this 22 Jul 12:32
Immutable release. Only release title and notes can be modified.
51ce3c7

CLI

  • databricks auth profiles no longer stalls on an unreachable workspace and instead fails validation after 5 seconds per host (#5928).
  • Fixed databricks fs rm -r failing on UC Volumes backed by GCS when a directory becomes empty during recursive deletion (#5958).
  • You can now ask questions about your data directly from the CLI with databricks genie ask "...". Genie answers natural-language questions ("what were total sales last month?", "which tables are in the sales catalog?"), runs the query inside Databricks, and renders the answer in the terminal. This promotes the former databricks experimental genie ask command; the experimental alias still works but is deprecated and will be removed in a future release (#6010).

Bundles

  • bundle validate now reports a clear error when a sql_warehouse is missing a name (including whitespace-only names), and a warning when a grant is missing a principal (#5818).
  • Bundle templates now scaffold an AGENTS.md that points coding agents at Databricks AI Tools, alongside a minimal CLAUDE.md that includes it via @AGENTS.md (#5996).
  • bundle generate job can now download workspace files referenced by spark_python_task, rewriting them to a relative path like it already does for notebooks. This is opt-in via the --download-spark-python-files flag (#5799).
  • Simplified the default-minimal bundle template and added an alias databricks bundle init empty (#5899).
  • Add support for the instance_pools resource type in Declarative Automation Bundles. Instance pools are only supported in direct deployment mode.
  • Do not emit "unknown field" warnings for YAML anchors grouped in a list or map, matching the existing suppression for standalone anchors (#5975).
  • Provide an actionable error message if databricks.yml is missing or DATABRICKS_BUNDLE_ROOT is invalid (#5953).

Dependency Updates

  • Bump github.com/databricks/databricks-sdk-go from v0.154.0 to v0.160.0 (#5982).
  • Bump Terraform provider from v1.121.0 to v1.122.0 (#5977).

v1.8.0

Choose a tag to compare

@oss-cli oss-cli released this 15 Jul 14:48
Immutable release. Only release title and notes can be modified.
3b9fe15

Release v1.8.0 (2026-07-15)

Notable Changes

  • Auto-migrate a bundle from terraform to the direct engine when bundle.engine is "direct" (or DATABRICKS_BUNDLE_ENGINE=direct) and the post-deploy dry-run migration is clean; a warning is emitted if the dry-run surfaces errors or warnings so the automatic migration is skipped.

CLI

  • experimental ssh connect: bare python/pip in an interactive session now resolve to the environment interpreter ($DATABRICKS_VIRTUAL_ENV) instead of the system or cluster-libraries interpreter, so packages installed in the environment are importable without extra setup. The interactive shell is now non-login (bash -i) and the server seeds a ~/.bashrc snippet that re-prepends the environment's bin directory to PATH (#5888).
  • When Claude Code runs the CLI without the Databricks AI tooling installed, the CLI now prints a one-line recommendation on stderr to run databricks aitools install. The recommendation is shown at most once per hour per Claude session, and never for human callers or aitools commands.
  • Fixed databricks auth describe misattributing a profile selected via DATABRICKS_CONFIG_PROFILE as (from bundle) when run inside a bundle root (#5904).

Bundles

  • bundle generate now warns when the generated configuration file is not matched by any pattern in the include section of databricks.yml (#5868).
  • direct: Match UC Auto Upgrade managed property defaults with a wildcard pattern instead of enumerating each key (#5877).
  • Recognize ssh:// template URLs in databricks bundle init (#5891).
  • databricks bundle init now reports an actionable error when given a template URL with an unsupported protocol (http://, git://, ftp://, ftps://) instead of failing with a confusing "not a bundle template" message (#5902).
  • Added an env: section to scripts.<name> for declaring environment variables that may reference ${bundle.*}, ${workspace.*}, and ${var.*} (#4179, #5299).

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)