openai/codex · error · io::Error

recursive no-follow removal is unsupported

Error message

recursive no-follow removal is unsupported

What it means

Error "recursive no-follow removal is unsupported" thrown in openai/codex.

Source

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

                    match mkdirat(&directory, component, Mode::from_raw_mode(0o777)) {
                        Ok(()) | Err(rustix::io::Errno::EXIST) => {}
                        Err(error) => return Err(io::Error::from(error)),
                    }
                    directory = open_directory(&directory, component)?;
                }
                Err(error) => return Err(error),
            }
        }
        Ok(())
    })
    .await
    .map_err(|error| io::Error::other(format!("filesystem task failed: {error}")))?
}

pub(super) async fn remove(path: PathBuf, recursive: bool, force: bool) -> io::Result<()> {
    tokio::task::spawn_blocking(move || {
        if recursive {
            return Err(io::Error::new(
                io::ErrorKind::Unsupported,
                "recursive no-follow removal is unsupported",
            ));
        }
        let (parent, leaf) = match parent(&path) {
            Ok(value) => value,
            Err(error) if force && error.kind() == io::ErrorKind::NotFound => return Ok(()),
            Err(error) => return Err(error),
        };
        let metadata = match statat(&parent, &leaf, AtFlags::SYMLINK_NOFOLLOW) {
            Ok(metadata) => metadata,
            Err(error) if force && error == rustix::io::Errno::NOENT => return Ok(()),
            Err(error) => return Err(io::Error::from(error)),
        };
        let kind = metadata.st_mode & libc::S_IFMT;
        if kind == libc::S_IFLNK {
            return Err(io::Error::new(
                io::ErrorKind::InvalidInput,

View on GitHub (pinned to 339751715c)

When it happens

Trigger: Thrown at codex-rs/exec-server/src/no_follow/unix.rs:298 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/f60b5317d1c7bef0. Report an issue: GitHub.