tinyhumansai/openhuman · error · Error

Local model runtime is unavailable in this core build. Resta

Error message

Local model runtime is unavailable in this core build. Restart app after updating to the latest build.

What it means

openhumanLocalAiStatus() calls core RPC openhuman.inference_status and maps a JSON-RPC 'unknown method: openhuman.inference_status' failure to this user-facing message: the embedded Rust core binary does not register the inference controller, so the local model runtime surface is absent from that build.

Source

Thrown at app/src/utils/tauriCommands/localAi.ts:246

): Promise<CommandResponse<string>> {
  if (!isTauri()) {
    throw new Error('Not running in Tauri');
  }
  return await callCoreRpc<CommandResponse<string>>({
    method: 'openhuman.agent_chat',
    params: { message, model_override: modelOverride, temperature },
  });
}

export async function openhumanLocalAiStatus(): Promise<CommandResponse<LocalAiStatus>> {
  try {
    return await callCoreRpc<CommandResponse<LocalAiStatus>>({
      method: 'openhuman.inference_status',
    });
  } catch (err) {
    const message = tauriErrorMessage(err);
    if (message.includes('unknown method: openhuman.inference_status')) {
      throw new Error(
        'Local model runtime is unavailable in this core build. Restart app after updating to the latest build.'
      );
    }
    throw new Error(message);
  }
}

export async function openhumanLocalAiSummarize(
  text: string,
  maxTokens?: number
): Promise<CommandResponse<string>> {
  return await callCoreRpc<CommandResponse<string>>({
    method: 'openhuman.inference_summarize',
    params: { text, max_tokens: maxTokens },
  });
}

export async function openhumanLocalAiPrompt(

View on GitHub (pinned to a221052e0d)

Solutions

  1. Restart the app so the fresh core binary is spawned (and unset OPENHUMAN_CORE_REUSE_EXISTING if it pins an old core)
  2. Update to the latest build so UI and core versions match
  3. If running a custom core, verify the method exists via GET http://127.0.0.1:<port>/schema and rebuild with the inference feature enabled

Example fix

// before
const status = await openhumanLocalAiStatus(); // throws on old core

// after
const status = await openhumanLocalAiStatus().catch(err =>
  err.message.includes('unavailable in this core build') ? null : Promise.reject(err)
);
if (!status) { /* render 'local AI unavailable, update/restart' state */ }
Defensive patterns

Strategy: validation

Validate before calling

// Probe the core surface before offering local-AI UI
const schema = await fetch(`${await coreRpcUrl()}/schema`).then(r => r.json());
const hasInference = JSON.stringify(schema).includes('openhuman.inference_status');
if (!hasInference) { /* render 'update to use local AI' state */ }

Type guard

const supportsInference = (schemaText: string): boolean =>
  schemaText.includes('openhuman.inference_status');

Try / catch

try {
  const status = await openhumanLocalAiStatus();
} catch (e) {
  if (e instanceof Error && e.message.includes('unavailable in this core build')) {
    // treat as feature-absent, not a crash: show update guidance
    return;
  }
  throw e;
}

Prevention

When it happens

Trigger: openhumanLocalAiStatus() against a core whose controller registry lacks openhuman.inference_status: version skew between the UI and the bundled core binary, a stale core process still running, OPENHUMAN_CORE_REUSE_EXISTING=1 pointing at an old external core, or a slim build compiled without the inference feature.

Common situations: App updated but the old core process was never restarted; debugging with an external core of a different version; custom core build with feature gates narrowed.

Related errors


AI-assisted analysis of tinyhumansai/openhuman@a221052e0d (2026-08-16). Data as JSON: /api/errors/24d729d9ffd308d9. Report an issue: GitHub.