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.