Honor CLAUDE_CONFIG_DIR for Claude Code detection - #6838
Merged
Merged
Conversation
Collaborator
Integration test reportCommit: 97390e7
Top 6 slowest tests (at least 2 minutes):
|
rclarey
reviewed
Sep 25, 2026
|
|
||
| sethome ./empty-home | ||
| title "Plugin installed only in the custom config directory\n" | ||
| trace CLAUDE_CONFIG_DIR=custom $CLI version |
Contributor
There was a problem hiding this comment.
Why use databricks version? Wouldn't databricks aitools list give better results for this test?
Contributor
Author
There was a problem hiding this comment.
It seems aitools commands skip the install hint. So, we need to use another command.
Contributor
There was a problem hiding this comment.
My question is why are we asserting on the install hint vs aitools list which will list the installed AI tools (or lack of installed tools if there are none)
Contributor
Author
There was a problem hiding this comment.
Will follow up on this on another PR.
parthban-db
force-pushed
the
parthban-db/stack/honor-claude-config-dir
branch
from
September 25, 2026 11:19
14d4722 to
97390e7
Compare
rclarey
approved these changes
Sep 25, 2026
rclarey
left a comment
Contributor
There was a problem hiding this comment.
Won't block on the version vs aitools list thread, but I do think the latter is more explicit for what we are testing
Collaborator
Integration test reportCommit: c624740
15 interesting tests: 12 flaky, 3 FAIL
Top 50 slowest tests (at least 2 minutes):
|
deco-sdk-tagging Bot
added a commit
that referenced
this pull request
Sep 30, 2026
## Release v1.19.0 ### CLI * Honor `CLAUDE_CONFIG_DIR` in `aitools` commands. ([#6838](#6838)) * Added `--ttl` and `--no-expiry` flags to `databricks postgres create-branch` so a branch's expiration can be set without hand-writing a `--json` spec. `--ttl` accepts the REST API duration form (`604800s`), a Go duration (`168h`), or day/week units (`7d`, `3w`); `--no-expiry` creates a branch that never expires. One of `--ttl`, `--no-expiry`, or a spec expiration in `--json` is required. ([#6313](#6313)) * `databricks ssh connect` serverless sessions now provide Claude Code and Codex configured with Unity Gateway out of the box. ([#6885](#6885)) ### AI Runtime * Add `databricks air images push` (Preview) to configure Docker authentication and push container images to Databricks Artifact Registry. ([#6869](#6869)) * `air run` now grants the configured `permissions` on the MLflow experiment as well as the job. ([#6870](#6870)) ### Bundles * Add libraries field to clusters. ([#6831](#6831)) * Error out when a configured `workspace_id` does not match the connected workspace, instead of silently using it in resource URLs emitted by `bundle summary`. ([#6754](#6754)) * Fix spurious recreation of Lakebase (Postgres) branches, roles, and catalogs when the referenced project is updated in place: an in-place project change (e.g. `display_name`) no longer forces a delete + create of resources that reference the project's or branch's `name`. ([#6865](#6865)) * Direct engine now detects and applies an explicitly configured integer zero (e.g. `gcp_attributes.local_ssd_count: 0`) added to a resource first deployed without the field. ([#6867](#6867)) * Migrate existing Terraform deployment state to the direct engine before deploying (previously done after a Terraform deploy), so the deploy runs on the direct engine. ([#6749](#6749)) * The `postgres_snapshot_schedules` resource (introduced in [v1.16.0](https://github.com/databricks/cli/releases/tag/v1.16.0)) is now marked Beta and is no longer available in PyDABs, matching the other `postgres_*` resources; configure it in YAML instead. ([#6887](#6887))
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🥞 Stacked PR
Use this link to review incremental changes.
Changes
Honor
CLAUDE_CONFIG_DIRwhen locating Claude Code configuration, skills, and installed plugins. An unset or empty override retains the~/.claudedefault.Why
Claude Code supports a separate configuration directory, but the CLI always inspected
~/.claude. It could therefore tell Claude to install Databricks skills despite a real plugin installation in its active configuration, or detect a plugin belonging to a different configuration.Tests
AI-tools unit tests and the new command-level acceptance test pass. The acceptance test fails against unmodified CLI v1.17.0 on both custom-directory detection and precedence. Verified with real Claude Code that Bash inherits
CLAUDE_CONFIG_DIR, the installed Databricks skills load, and the patched CLI warns only for the empty-config control. Go lint passes with the repository's Go 1.26.8 toolchain.The acceptance test uses
versionbecause it exercises the installation hint without authentication or network access.aitools listis exempt from that hint, so substituting it would lose coverage of the original warning.