openai/codex · error · std::io::Error

refusing to clear symlinked memory root {}

Error message

refusing to clear symlinked memory root {}

What it means

Error "refusing to clear symlinked memory root {}" thrown in openai/codex.

Source

Thrown at codex-rs/memories/write/src/control.rs:17

use std::path::Path;

pub async fn clear_memory_roots_contents(codex_home: &Path) -> std::io::Result<()> {
    for memory_root in [
        codex_home.join("memories"),
        codex_home.join("memories_extensions"),
    ] {
        clear_memory_root_contents(memory_root.as_path()).await?;
    }

    Ok(())
}

pub(crate) async fn clear_memory_root_contents(memory_root: &Path) -> std::io::Result<()> {
    match tokio::fs::symlink_metadata(memory_root).await {
        Ok(metadata) if metadata.file_type().is_symlink() => {
            return Err(std::io::Error::new(
                std::io::ErrorKind::InvalidInput,
                format!(
                    "refusing to clear symlinked memory root {}",
                    memory_root.display()
                ),
            ));
        }
        Ok(_) => {}
        Err(err) if err.kind() == std::io::ErrorKind::NotFound => {}
        Err(err) => return Err(err),
    }

    tokio::fs::create_dir_all(memory_root).await?;

    let mut entries = tokio::fs::read_dir(memory_root).await?;
    while let Some(entry) = entries.next_entry().await? {
        let path = entry.path();
        let file_type = entry.file_type().await?;

View on GitHub (pinned to 339751715c)

When it happens

Trigger: Thrown at codex-rs/memories/write/src/control.rs:17 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/1a4522f35c7cd74e. Report an issue: GitHub.