Skip to content

Troubleshooting Nimi App Integration

Use this page when a Nimi App, SDK call, Nimi Lab lane, or local Runtime command fails before a generation completes. It focuses on failures a third-party app author can act on from the public surfaces.

First Check The Runtime

Run:

sh
nimi doctor

On a build with an admitted background/service controller, a stopped daemon reports the bounded background next step:

sh
nimi start

For source development or a build without that background topology, run it in the foreground:

sh
nimi serve

Where background management is admitted, verify its sanitized manager summary:

sh
nimi health --json

SDK Client Configuration

SDK_CLIENT_APP_ID_REQUIRED means the SDK operation needs a concrete app id. Create the root client with appId, or pass appId into the specific Runtime AI surface that requires it:

ts
import { createNimiClient } from '@nimiplatform/sdk';

const nimi = createNimiClient({
  appId: 'my-nimi-app',
  runtime: {
    transport: {
      type: 'node-grpc',
      endpoint: process.env.NIMI_RUNTIME_GRPC_ENDPOINT || '127.0.0.1:46371',
    },
  },
});

The SDK throws this before dispatch. Do not work around it by calling Runtime private endpoints from app code.

Runtime AI Capability Intent

AI_CONFIG_NOT_FOUND means Runtime has no AIConfig for the exact App owner used by the call. Save a Local or Cloud intent for the requested capability through the owning AIConfig surface, then retry the same request.

Capability intent does not resolve into a request-side model, route, connector, target reference, or fallback. If the actual call returns an authorization, feature-support, or execution error, preserve the typed Runtime failure and its diagnostics. Do not synthesize another target in App code.

Nimi Lab Unavailable Reasons

Nimi Lab intentionally displays typed unavailable states instead of treating every failure as a missing SDK method.

ReasonWhat it meansAction
runtime-unavailableRuntime cannot be reached for this request.Start or reconnect Runtime, then retry.
permission-requiredText generation permission has not been granted.Approve or restore the permission in Nimi Desktop, then retry.
input-invalidRequired prompt or capability input is missing or malformed.Fix the input and run again.
sdk-method-unavailableThe current App build does not expose that capability.Update the App or use an admitted SDK capability.
runtime-call-failedRuntime returned a typed contract failure.Inspect the verbatim Runtime error and diagnostics.

App Project Checks

Use the existing commands in an App Tools-generated project:

sh
pnpm run check
pnpm run test

If check reports a nimicoding synchronization failure after a checkout or dependency change, first restore the project's locked dependencies with pnpm install --frozen-lockfile, then rerun the same check. A stale installed CLI can report drift against the wrong package version; do not rewrite managed files to match it.

After the first dependency installation, run pnpm run init. When scaffold-managed files or dependencies need synchronization, run pnpm run sync, then check; App-owned product code is preserved. The former pnpm run doctor, pnpm run update, and local-audit scripts are absent from current generated projects. These App project commands are distinct from Runtime's nimi doctor above.

What Not To Copy

  • Do not import runtime/internal/** or apps/** implementation files into an external app.
  • Do not bypass Runtime with app-local REST for AI execution.
  • Do not hardcode provider/model identifiers in app-owned product code.
  • Do not treat a Nimi Lab unavailable reason as success. It is the actionable failure state.

Source Basis

Documentation for Nimi — the installable, open-source, local-first personal AI product.