ajeetdsouza/zoxide · error · anyhow::Error
_ZO_DATA_DIR must be an absolute path
Error message
_ZO_DATA_DIR must be an absolute path
What it means
Error "_ZO_DATA_DIR must be an absolute path" thrown in ajeetdsouza/zoxide.
Source
Thrown at src/config.rs:18
use std::env;
use std::ffi::OsString;
use std::path::PathBuf;
use anyhow::{Context, Result, ensure};
use glob::Pattern;
use crate::db::Rank;
pub fn data_dir() -> Result<PathBuf> {
let dir = match env::var_os("_ZO_DATA_DIR") {
Some(path) => PathBuf::from(path),
None => dirs::data_local_dir()
.context("could not find data directory, please set _ZO_DATA_DIR manually")?
.join("zoxide"),
};
ensure!(dir.is_absolute(), "_ZO_DATA_DIR must be an absolute path");
Ok(dir)
}
pub fn echo() -> bool {
env::var_os("_ZO_ECHO").is_some_and(|var| var == "1")
}
pub fn exclude_dirs() -> Result<Vec<Pattern>> {
match env::var_os("_ZO_EXCLUDE_DIRS") {
Some(paths) => env::split_paths(&paths)
.map(|path| {
let pattern = path.to_str().context("invalid unicode in _ZO_EXCLUDE_DIRS")?;
Pattern::new(pattern)
.with_context(|| format!("invalid glob in _ZO_EXCLUDE_DIRS: {pattern}"))
})
.collect(),
None => {
let pattern = (|| {View on GitHub (pinned to 8a3f76da90)
Solutions
- Set _ZO_DATA_DIR to an absolute path (starting with / on Unix or a drive letter on Windows)
- Unset _ZO_DATA_DIR to use the default data directory
When it happens
Trigger: Thrown at src/config.rs:18 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of ajeetdsouza/zoxide@8a3f76da90 (2026-08-19).
Data as JSON: /api/errors/d4d5d8f15af6c5b6.
Report an issue: GitHub.