deepseek-ai/deepseek-harness · error · SessionReferenceError

SESSION_REFERENCE_SELF_REFERENCE

SESSION_REFERENCE_SELF_REFERENCE

Error message

session ${JSON.stringify(targetId)} cannot reference itself

What it means

Error "session ${JSON.stringify(targetId)} cannot reference itself" thrown in deepseek-ai/deepseek-harness.

Source

Thrown at packages/context/session-reference/src/index.ts:320

}

function normalizeReferences(
  targetId: SessionId,
  references: readonly SessionReferenceInput[],
  maxReferences: number,
): Required<SessionReferenceInput>[] {
  const seen = new Set<SessionId>()
  const normalized: Required<SessionReferenceInput>[] = []
  for (const candidate of references as readonly unknown[]) {
    if (typeof candidate !== 'object' || candidate === null) {
      throw new SessionReferenceError('session reference must be an object', 'SESSION_REFERENCE_INVALID_REFERENCE')
    }
    const reference = candidate as SessionReferenceInput
    if (typeof reference.sessionId !== 'string' || (reference.label !== undefined && typeof reference.label !== 'string')) {
      throw new SessionReferenceError('session reference must contain a string sessionId and optional string label', 'SESSION_REFERENCE_INVALID_REFERENCE')
    }
    if (reference.sessionId === targetId) {
      throw new SessionReferenceError(`session ${JSON.stringify(targetId)} cannot reference itself`, 'SESSION_REFERENCE_SELF_REFERENCE')
    }
    if (seen.has(reference.sessionId)) continue
    seen.add(reference.sessionId)
    normalized.push({ sessionId: reference.sessionId, label: reference.label ?? reference.sessionId })
  }
  if (normalized.length > maxReferences) {
    throw new SessionReferenceError(
      `a message may reference at most ${maxReferences} sessions`,
      'SESSION_REFERENCE_TOO_MANY',
    )
  }
  return normalized
}

function renderPrompt(data: readonly ReferencedSessionData[]): string {
  return `${PROMPT_PREFIX}${stringifyTagSafeJson(data)}${PROMPT_SUFFIX}`
}

View on GitHub (pinned to b150a551b8)

Solutions

  1. Reference a different session; a session cannot reference itself.

When it happens

Trigger: Thrown at packages/context/session-reference/src/index.ts:320 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/f23bc2fbabeaae5d. Report an issue: GitHub.