openai/codex · error · anyhow::Error

idempotency key refers to deleted project: {idempotency_key}

Error message

idempotency key refers to deleted project: {idempotency_key}

What it means

Error "idempotency key refers to deleted project: {idempotency_key}" thrown in openai/codex.

Source

Thrown at codex-rs/state/src/runtime/projects.rs:135

        let project_id = sqlx::query_scalar::<_, String>(
            "SELECT project_id FROM project_idempotency_keys WHERE key = ?",
        )
        .bind(idempotency_key)
        .fetch_optional(&mut *tx)
        .await?;
        let Some(project_id) = project_id else {
            tx.commit().await?;
            return Ok(None);
        };
        let row = sqlx::query(
            "SELECT id, name, metadata, position, created_at_ms, updated_at_ms FROM projects WHERE id = ?",
        )
        .bind(&project_id)
        .fetch_optional(&mut *tx)
        .await?;
        let Some(row) = row else {
            tx.rollback().await?;
            anyhow::bail!("idempotency key refers to deleted project: {idempotency_key}");
        };
        let project = project_from_row_in_tx(&mut tx, &row).await?;
        tx.commit().await?;
        Ok(Some(project))
    }

    pub async fn create_project(
        &self,
        name: String,
        roots: Vec<ProjectRoot>,
        metadata: BTreeMap<String, String>,
        thread_ids: &[String],
        idempotency_key: &str,
    ) -> anyhow::Result<CreatedProject> {
        let mut tx = self.pool.begin_with("BEGIN IMMEDIATE").await?;
        let existing_project_id = sqlx::query_scalar::<_, String>(
            "SELECT project_id FROM project_idempotency_keys WHERE key = ?",
        )

View on GitHub (pinned to 339751715c)

When it happens

Trigger: Thrown at codex-rs/state/src/runtime/projects.rs:135 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/d9d66e6a3ec88777. Report an issue: GitHub.