Skip to content

DTK0002: RPC Function Not Registered (Update)

Package: @vitejs/devtools-rpc

Message

RPC function "{name}" is not registered. Use register() to add new functions.

Cause

This error is thrown by RpcFunctionsCollectorBase.update() when you attempt to update a function definition that has not been registered yet. The update() method is intended for replacing an existing definition, not for adding new ones.

Example

ts
import { defineRpcFunction } from '@vitejs/devtools-kit'

const getVersion = defineRpcFunction({
  name: 'my-plugin:get-version',
  type: 'static',
  handler: () => '2.0.0',
})

// Throws DTK0002 because 'my-plugin:get-version' was never registered
collector.update(getVersion)

Fix

Register the function first with register(), then use update() for subsequent changes. Alternatively, pass force: true to update() to allow upserting:

ts
// Option 1: Register first, update later
collector.register(getVersion)
// ... later ...
collector.update(getVersionUpdated)

// Option 2: Force update (creates if missing)
collector.update(getVersion, true)

Source

packages/rpc/src/collector.ts

Released under the MIT License.