openai/codex · error · io::Error

path contains a symbolic link

Error message

path contains a symbolic link

What it means

Error "path contains a symbolic link" thrown in openai/codex.

Source

Thrown at codex-rs/exec-server/src/no_follow/unix.rs:199

    if components.is_empty() {
        let root = root()?;
        let metadata = fstat(&root).map_err(io::Error::from)?;
        let created_at_ms = created_at_ms(&metadata);
        file_metadata(metadata, created_at_ms)
    } else {
        let (parent, leaf) = parent(path)?;
        let metadata =
            statat(&parent, &leaf, AtFlags::SYMLINK_NOFOLLOW).map_err(io::Error::from)?;
        let created_at_ms = created_at_ms(&metadata);
        file_metadata(metadata, created_at_ms)
    }
}

#[cfg(target_os = "linux")]
fn file_metadata_linux(metadata: Statx) -> io::Result<FileMetadata> {
    let kind = u32::from(metadata.stx_mode) & libc::S_IFMT;
    if kind == libc::S_IFLNK {
        return Err(io::Error::new(
            io::ErrorKind::InvalidInput,
            "path contains a symbolic link",
        ));
    }
    let created_at_ms = if metadata.stx_mask & StatxFlags::BTIME.bits() == 0 {
        0
    } else {
        unix_time_ms(metadata.stx_btime.tv_sec, metadata.stx_btime.tv_nsec)
    };
    Ok(FileMetadata {
        is_directory: kind == libc::S_IFDIR,
        is_file: kind == libc::S_IFREG,
        is_symlink: false,
        size: metadata.stx_size,
        created_at_ms,
        modified_at_ms: unix_time_ms(metadata.stx_mtime.tv_sec, metadata.stx_mtime.tv_nsec),
    })
}

View on GitHub (pinned to 339751715c)

When it happens

Trigger: Thrown at codex-rs/exec-server/src/no_follow/unix.rs:199 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of openai/codex@339751715c (2026-08-25). Data as JSON: /api/errors/f181497036a0851c. Report an issue: GitHub.