Hmbown/CodeWhale · error · std::io::Error
external credential path contains reparse point {}
Error message
external credential path contains reparse point {} What it means
Path-walk guard in reject_windows_reparse_components: while walking each path component, symlink_metadata reported FILE_ATTRIBUTE_REPARSE_POINT, meaning some component (directory or file) in the credential path is a symlink/junction/mount point. Credential paths must be plain directories to avoid link-based redirection.
Source
Thrown at crates/tui/src/external_credentials.rs:626
}
#[cfg(windows)]
fn reject_windows_reparse_components(path: &Path) -> io::Result<()> {
use std::os::windows::fs::MetadataExt;
use windows_sys::Win32::Storage::FileSystem::FILE_ATTRIBUTE_REPARSE_POINT;
let mut current = std::path::PathBuf::new();
for component in path.components() {
current.push(component.as_os_str());
if matches!(
component,
std::path::Component::Prefix(_) | std::path::Component::RootDir
) {
continue;
}
let metadata = std::fs::symlink_metadata(¤t)?;
if metadata.file_attributes() & FILE_ATTRIBUTE_REPARSE_POINT != 0 {
return Err(io::Error::new(
io::ErrorKind::PermissionDenied,
format!(
"external credential path contains reparse point {}",
codewhale_config::quote_os_path(¤t)
),
));
}
}
Ok(())
}
#[cfg(not(any(unix, windows)))]
fn open_secure_regular_file(_path: &Path, _require_owner_only: bool) -> io::Result<File> {
Err(io::Error::new(
io::ErrorKind::Unsupported,
"secure external credential reads are unsupported on this platform",
))
}View on GitHub (pinned to 0c42157ee5)
Solutions
- Remove or rename the symlink/junction component so the credential path is composed of real directories.
- Point configuration at the real (non-reparse) location of the credential directory.
- Avoid placing credential stores inside synced/virtualized folders that use reparse points.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/tui/src/external_credentials.rs:626 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Hmbown/CodeWhale@0c42157ee5 (2026-08-20).
Data as JSON: /api/errors/f4c5a8ea86dd2a1f.
Report an issue: GitHub.