clockworklabs/SpacetimeDB · error · TypeError

There is already an HTTP handler with the name '${name}'

Error message

There is already an HTTP handler with the name '${name}'

What it means

Error "There is already an HTTP handler with the name '${name}'" thrown in clockworklabs/SpacetimeDB.

Source

Thrown at crates/bindings-typescript/src/server/schema.ts:133

  submoduleDispatchInfos: SubmoduleDispatchInfo[] = [];

  constructor(getSchemaType: (ctx: SchemaInner<S>) => S) {
    super();
    this.schemaType = getSchemaType(this);
  }

  defineFunction(name: string) {
    if (this.existingFunctions.has(name)) {
      throw new TypeError(
        `There is already a reducer, procedure, or view with the name '${name}'`
      );
    }
    this.existingFunctions.add(name);
  }

  defineHttpHandler(name: string) {
    if (this.existingHttpHandlers.has(name)) {
      throw new TypeError(
        `There is already an HTTP handler with the name '${name}'`
      );
    }
    this.existingHttpHandlers.add(name);
  }

  resolveSchedules() {
    if (this.schedulesResolved) {
      return;
    }
    this.schedulesResolved = true;
    // Pending schedules come from two API paths:
    // - legacy table({ scheduled }) schedules already know their tableName and
    //   scheduleAtCol because schema() resolves them while iterating table keys
    // - reducer/procedure({ onSchedule }) schedules only know the table handle,
    //   so resolve them through tableSourceNames and reject duplicate table
    //   handle registrations because the target table name is ambiguous
    const scheduledTables = new Map<string, string>();

View on GitHub (pinned to 524b4487d9)

When it happens

Trigger: Thrown at crates/bindings-typescript/src/server/schema.ts:133 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/c9157caed59a2f2a. Report an issue: GitHub.