Troubleshooting¶
Cannot find module '@copilotkit/runtime' (or @ag-ui/client / rxjs)¶
These are peer dependencies — install them alongside kaboo-runtime:
yarn add @copilotkit/runtime @ag-ui/client rxjs
# add pg only if you use PostgresThreadStore
yarn add pg
History doesn't survive a reload¶
- Confirm you passed the runner to
CopilotRuntime(runner: createKabooRunner(store)), not just constructed it. InMemoryThreadStoresurvives client reloads only for the life of the server process. For durability across server restarts usePostgresThreadStore.- After a process restart, the synchronous query methods (
listThreads,getThreadEvents, …) read an in-memory index — callawait runner.hydrate()once on startup to populate it from the store.
Activity tree / rich UI is empty after replay¶
kaboo-runtime stores events verbatim, so ACTIVITY_SNAPSHOT and CUSTOM events
are preserved. If they're missing, the emitting agent isn't sending them — check
the upstream kaboo-workflows run,
not the store.
Postgres store errors¶
- Tables missing — the store creates its own tables on first use; ensure the
role has
CREATEprivileges, or run it once against a writable schema. - Connection — pass either a
dsn(new PostgresThreadStore({ dsn })) or a sharedpool; see Thread stores. - Persistence failures never crash a run — they surface via
onStoreError(defaultconsole.error). Wire it to your logger to see what failed.
The runner replays but the agent never runs¶
agents: {} means there is no agent to run — replay works but new turns can't
start. Register your real agent (see
Getting started → wire a real agent).