{"record":{"id":"44449aa653fe5e27","repo":"deepseek-ai/deepseek-harness","slug":"unsupported-content-44449a","errorCode":"UNSUPPORTED_CONTENT","errorMessage":"The DeepSeek chat-completions adapter does not support image content.","messagePattern":"The DeepSeek chat-completions adapter does not support image content\\.","errorType":"exception","errorClass":"LlmError","httpStatus":null,"severity":"error","filePath":"packages/llm/llm-deepseek/src/serialize.ts","lineNumber":110,"sourceCode":"  if (effort === 'off') return { thinking: 'disabled' }\n  if (effort === 'low' || effort === 'high' || effort === 'max') {\n    return { thinking: 'enabled', reasoningEffort: effort }\n  }\n  return defaults.thinking === undefined ? {} : { thinking: defaults.thinking }\n}\n\n/** Join the text blocks of a message (used for user/tool-result content). */\nfunction flattenText(blocks: ContentBlock[]): string {\n  return blocks\n    .filter(block => block.type === 'text')\n    .map(block => block.text)\n    .join('')\n}\n\n/** Reject core image content before any text-flattening path can silently erase it. */\nfunction assertTextOnly(blocks: readonly ContentBlock[]): void {\n  if (contentHasImage(blocks)) {\n    throw new LlmError('The DeepSeek chat-completions adapter does not support image content.', 'UNSUPPORTED_CONTENT')\n  }\n}\n\n/** Reject roles whose DeepSeek history format cannot carry image input. */\nfunction assertSupportedImageRoles(messages: readonly Message[]): void {\n  for (const message of messages) {\n    if (message.role !== 'user' && contentHasImage(message.content)) {\n      throw new LlmError(\n        `The DeepSeek chat-completions adapter cannot represent image content in a ${message.role} message.`,\n        'UNSUPPORTED_CONTENT',\n      )\n    }\n  }\n}\n\n/** Describe the exact request preview and its model-callable coordinate system. */\nfunction imageHandle(\n  version: RequestImageAttachment,","sourceCodeStart":92,"sourceCodeEnd":128,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/llm/llm-deepseek/src/serialize.ts#L92-L128","documentation":"Error \"The DeepSeek chat-completions adapter does not support image content.\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/llm/llm-deepseek/src/serialize.ts:110 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Remove image content from the request or use an adapter/model that accepts images."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b150a551b8d465e31e418e1b2eaf5e79bbb7d28e","analyzedAt":"2026-08-24T18:12:29.105Z","schemaVersion":2},"datasetVersion":"2026-08-24T22:17:12.610Z"}