clockworklabs/SpacetimeDB · error · Error

useSpacetimeDB must be used within a component that called c

Error message

useSpacetimeDB must be used within a component that called createSpacetimeDBProvider. Did you forget to call `createSpacetimeDBProvider` in a parent component?

What it means

Error "useSpacetimeDB must be used within a component that called createSpacetimeDBProvider. Did you forget to call `createSpacetimeDBProvider` in a parent component?" thrown in clockworklabs/SpacetimeDB.

Source

Thrown at crates/bindings-typescript/src/svelte/useSpacetimeDB.ts:15

import { getContext } from 'svelte';
import type { Writable } from 'svelte/store';
import {
  SPACETIMEDB_CONTEXT_KEY,
  type ConnectionState,
} from './connection_state';

// Throws an error if used outside of a SpacetimeDBProvider
export function useSpacetimeDB(): Writable<ConnectionState> {
  const context = getContext<Writable<ConnectionState> | undefined>(
    SPACETIMEDB_CONTEXT_KEY
  );

  if (!context) {
    throw new Error(
      'useSpacetimeDB must be used within a component that called createSpacetimeDBProvider. ' +
        'Did you forget to call `createSpacetimeDBProvider` in a parent component?'
    );
  }

  return context;
}

View on GitHub (pinned to 524b4487d9)

When it happens

Trigger: Thrown at crates/bindings-typescript/src/svelte/useSpacetimeDB.ts:15 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of clockworklabs/SpacetimeDB@524b4487d9 (2026-08-16). Data as JSON: /api/errors/d9d189b137a8ee32. Report an issue: GitHub.