Drivers are deliberately not shipped with the binary, so "driver not installed" is a normal, expected state that users hit by design. That makes the message a primary UX surface — and in the first-run case it currently names nowhere to look.
driverSearchRoots() only returns directories that already exist. On a machine that has never installed a driver, every candidate root is absent, so it returns an empty array and DriverNotInstalledError renders:
DuckDB driver not installed.
Install it with the warehouse_install_driver tool, or run:
npm install --prefix /home/user/.local/share/altimate-code/drivers duckdb
Searched 0 locations:
The last line ends in a colon with nothing after it. It reads like a truncated message or a bug in the CLI rather than the ordinary "you have not installed this yet" state, and it names no location at all.
Expected: the message should say plainly that there was nothing to search, and name the directory the install command creates, so the two failure modes stay distinguishable:
- not installed anywhere (this case)
- found on disk but failed to load (already handled separately, and already clear)
Reproduce with a compiled binary and a driver directory that does not exist:
ALTIMATE_DRIVER_DIR=/tmp/does-not-exist altimate ... # any DuckDB operation
Scope: text and one branch in DriverNotInstalledError in packages/drivers/src/resolve.ts. No change to resolution behaviour.
Drivers are deliberately not shipped with the binary, so "driver not installed" is a normal, expected state that users hit by design. That makes the message a primary UX surface — and in the first-run case it currently names nowhere to look.
driverSearchRoots()only returns directories that already exist. On a machine that has never installed a driver, every candidate root is absent, so it returns an empty array andDriverNotInstalledErrorrenders:The last line ends in a colon with nothing after it. It reads like a truncated message or a bug in the CLI rather than the ordinary "you have not installed this yet" state, and it names no location at all.
Expected: the message should say plainly that there was nothing to search, and name the directory the install command creates, so the two failure modes stay distinguishable:
Reproduce with a compiled binary and a driver directory that does not exist:
Scope: text and one branch in
DriverNotInstalledErrorinpackages/drivers/src/resolve.ts. No change to resolution behaviour.