deepseek-ai/deepseek-harness · error
model "${model}" does not declare image input
Error message
model "${model}" does not declare image input What it means
Error "model "${model}" does not declare image input" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/mcp/mcp-client/src/tools.ts:416
*/
async function resolveImageAdmission(ctx: Context, exec: ToolExecution): Promise<AttachmentStore> {
const attachments = ctx.get('attachments')
if (attachments === undefined) throw new Error('no attachment store is mounted')
const routed = exec.agent?.session.requestHeader()?.config
const provider = routed?.provider ?? exec.agent?.options.provider
const model = routed?.model ?? exec.agent?.options.model
const llm = ctx.get('llm')
if (provider === undefined || model === undefined || llm === undefined) {
throw new Error('the current model route could not be resolved')
}
let info: Awaited<ReturnType<typeof llm.resolveModelInfo>>
try {
info = await llm.resolveModelInfo(provider, model, exec.signal)
} catch {
throw new Error('the current model route could not be verified')
}
if (info.inputModalities === undefined || !info.inputModalities.includes('image')) {
throw new Error(`model "${model}" does not declare image input`)
}
if (exec.signal.aborted) throw new Error('the tool call was canceled before image storage')
return attachments
}
/** Stable diagnostic text for an image block that was not admitted. */
function imageDiagnostic(block: McpContentBlock, reason: string): string {
const mediaType = block.mimeType ?? 'unknown media type'
return `[image unavailable: ${mediaType}; ${reason}; raw image data remains available to programmatic callers]`
}
/**
* Decode, preflight, and durably save one MCP result's ordered image batch.
* Any refusal projects every image as text while retaining the canonical raw
* value for programmatic callers.
*/
async function prepareImageProjection(
ctx: Context,View on GitHub (pinned to b150a551b8)
Solutions
- Remove the image, or switch to a model that declares image input.
When it happens
Trigger: Thrown at packages/mcp/mcp-client/src/tools.ts:416 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/96f626a92f728067.
Report an issue: GitHub.