deepseek-ai/deepseek-harness · error · Error
job ${job.id} belongs to another session
Error message
job ${job.id} belongs to another session What it means
Error "job ${job.id} belongs to another session" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/jobs/jobs-local/src/index.ts:358
const scope = owner === undefined ? undefined : scopeOf(owner.ctx)
for (const layer of this.layers.chainLayers(scope)) yield* layer.listeners.values()
}
/** Look up a job or fail loud. */
private expect(id: JobId): TrackedTask {
const job = this.store.get(id)
if (job === undefined) throw new Error(`unknown job ${id}`)
return job
}
/**
* The isolation fence: a job with an owner is reachable only by callers
* whose session id matches (`!== undefined` semantics — an unowned job is
* open, and a no-agent caller can never match an owned one).
*/
private assertAccess(job: TrackedTask, caller?: Agent): void {
if (job.owner !== undefined && job.owner.id !== caller?.id) {
throw new Error(`job ${job.id} belongs to another session`)
}
}
/** Project a fresh read-only snapshot from the mutable record. */
private snapshot(job: TrackedTask): JobSnapshot {
const ownerSession = job.owner?.id
return {
id: job.id,
kind: job.kind,
label: job.label,
...job.outputLimitBytes !== undefined ? { outputLimitBytes: job.outputLimitBytes } : {},
...ownerSession !== undefined ? { ownerSession } : {},
status: job.status,
...job.detail !== undefined ? { detail: job.detail } : {},
startedAt: job.startedAt,
...job.finishedAt !== undefined ? { finishedAt: job.finishedAt } : {},
reported: job.reported,
}View on GitHub (pinned to b150a551b8)
Solutions
- Query or control the job only from the session that started it.
When it happens
Trigger: Thrown at packages/jobs/jobs-local/src/index.ts:358 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/4bab9f45ebab4189.
Report an issue: GitHub.