deepseek-ai/deepseek-harness · error · Error
host.call("${method}") on ${pluginId} failed inside the host
Error message
host.call("${method}") on ${pluginId} failed inside the host handler: ${result.message} What it means
Error "host.call("${method}") on ${pluginId} failed inside the host handler: ${result.message}" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/extensions/cordis-client-runner/src/client/index.ts:223
const runner = new DynamicCordisPackageRunner({
ctx,
loader: ctx.loader,
modules: ctx.get('modules') as ClientModuleSystem,
slots: ctx.get('slots') as SlotRegistry,
invoke: async (pluginId, pluginRunId, method, args) => {
// Model-authored arguments reach this boundary untyped; the namespace's
// generated codec is what validates them as JSON, and its rejection is a
// bare field name — this is the only place that still knows which call it
// belonged to, so the teaching has to be added here.
const answered = await ctx.remote.dynamicCordisRunner.invoke(pluginId, pluginRunId, method, args as JsonValue)
.catch((error: unknown) => { throw new Error(wireFailure(pluginId, method, error)) })
// Two failure layers, and they teach different things: the carrier's error
// branch means the call never reached the host half, while the namespace's
// own `ok: false` is that half answering with a refusal.
if (!answered.ok) throw new Error(wireFailure(pluginId, method, `${answered.error.code}: ${answered.error.message}`))
const result = answered.value
if (result.ok) return result.value
throw invokeError(pluginId, method, result)
},
// Post-settle diagnosis, deliberately fire-and-forget: the run this package
// belongs to was answered before it ever rendered, so nothing waits on this
// and a failed report must not turn one crash into two.
reportRenderFailure: (agentId, pluginId, pluginRunId, failure) => {
void ctx.remote.dynamicCordisRunner.reportRenderFailure(agentId, pluginId, pluginRunId, failure).then((result) => {
if (!result.ok) {
console.error(`[cordis-client-runner] reporting a render failure of ${pluginId} failed:`, result.error)
}
}, (error: unknown) => {
console.error(`[cordis-client-runner] reporting a render failure of ${pluginId} failed:`, error)
})
},
reportGuardFailure: (agentId, pluginId, pluginRunId, failure) => {
void ctx.remote.dynamicCordisRunner.reportClientGuardFailure(agentId, pluginId, pluginRunId, failure).then((result) => {
if (!result.ok) {
console.error(`[cordis-client-runner] reporting a guard failure of ${pluginId} failed:`, result.error)
}View on GitHub (pinned to b150a551b8)
Solutions
- Fix the plugin host handler for the named method and reload the plugin.
When it happens
Trigger: Thrown at packages/extensions/cordis-client-runner/src/client/index.ts:223 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/93a31b1eacee4dd8.
Report an issue: GitHub.