deepseek-ai/deepseek-harness · error · Error
invalid todos: at most one task may be in_progress (got ${ac
Error message
invalid todos: at most one task may be in_progress (got ${active}) What it means
Error "invalid todos: at most one task may be in_progress (got ${active})" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/todo/tool-todo/src/index.ts:108
*/
function toTodoList(raw: { content: string; status: string }[], allowParallel: boolean): TodoItem[] {
const todos: TodoItem[] = []
const seen = new Set<string>()
let active = 0
for (const item of raw) {
const content = item.content.trim()
if (content.length === 0) {
throw new Error('invalid todo: `content` must be a non-empty string')
}
if (seen.has(content)) {
throw new Error(`invalid todos: duplicate content ${JSON.stringify(content)}`)
}
seen.add(content)
if (item.status === 'in_progress') active++
todos.push({ content, status: item.status as TodoItem['status'] })
}
if (!allowParallel && active > 1) {
throw new Error(`invalid todos: at most one task may be in_progress (got ${active})`)
}
return todos
}
/** Wire payload schema of the `todos` projection (whole list or pre-first-write null). */
const todosProjectionSchema: ZodType<TodoItem[] | null> = zod.union([
zod.array(zod.object({
content: zod.string(),
status: zod.union([zod.literal('pending'), zod.literal('in_progress'), zod.literal('completed')]),
})),
zod.null(),
])
/**
* Register the `todo_write` tool on `ctx.tools` and, when the session-projection seam is composed,
* the `todos` unit.
* @param ctx - registrant context carrying the tool registry.
* @param config - deployment's explicit todo policy.View on GitHub (pinned to b150a551b8)
Solutions
- Mark at most one task in_progress; move the others back to pending.
When it happens
Trigger: Thrown at packages/todo/tool-todo/src/index.ts:108 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of deepseek-ai/deepseek-harness@b150a551b8 (2026-08-24).
Data as JSON: /api/errors/4c2b70b114cabe87.
Report an issue: GitHub.