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