openai/codex · error · anyhow::Error
thread not found: {thread_id}
Error message
thread not found: {thread_id} What it means
Error "thread not found: {thread_id}" thrown in openai/codex.
Source
Thrown at codex-rs/state/src/runtime/projects.rs:181
.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?;
return Ok(CreatedProject {
project,
created: false,
});
}
for thread_id in thread_ids {
let exists = sqlx::query_scalar::<_, i64>("SELECT COUNT(*) FROM threads WHERE id = ?")
.bind(thread_id)
.fetch_one(&mut *tx)
.await?;
if exists == 0 {
anyhow::bail!("thread not found: {thread_id}");
}
}
let id = Uuid::now_v7().to_string();
let now = chrono::Utc::now().timestamp_millis();
let position = sqlx::query_scalar::<_, Option<i64>>("SELECT MAX(position) FROM projects")
.fetch_one(&mut *tx)
.await?
.unwrap_or(-1)
.checked_add(1)
.ok_or_else(|| anyhow::anyhow!("project position overflow"))?;
let metadata_json = serde_json::to_string(&metadata)?;
sqlx::query(
"INSERT INTO projects (id, name, metadata, position, created_at_ms, updated_at_ms) VALUES (?, ?, ?, ?, ?, ?)",
)
.bind(&id)
.bind(&name)
.bind(&metadata_json)
.bind(position)View on GitHub (pinned to 339751715c)
When it happens
Trigger: Thrown at codex-rs/state/src/runtime/projects.rs:181 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/e7daf9bc06217420.
Report an issue: GitHub.