Budibase/budibase · error · Error
No license key found
Error message
No license key found
What it means
Thrown when BUDICLOUD_URL is set but the license key cannot be retrieved via licensing.keys.getLicenseKey(). The Budibase Cloud AI file-upload endpoint requires a license key for authentication/entitlement, so uploads without one are rejected before the request is even made.
Source
Thrown at packages/server/src/sdk/workspace/ai/llm/bbai.ts:273
const result = await response.json()
if (typeof result.id !== "string") {
throw new Error("File id not found")
}
return unwrapLiteLLMFileId(result.id)
} else {
const fileBuffer = Buffer.from(await fileBlob.arrayBuffer())
const base64 = fileBuffer.toString("base64")
if (isImage) {
return `data:${type};base64,${base64}`
}
if (!env.BUDICLOUD_URL) {
throw new Error("No Budibase URL found")
}
const licenseKey = await licensing.keys.getLicenseKey()
if (!licenseKey) {
throw new Error("No license key found")
}
const response = await fetch(
`${env.BUDICLOUD_URL}/api/ai/upload-file`,
{
method: "POST",
headers: {
"Content-Type": "application/json",
[constants.Header.LICENSE_KEY]: licenseKey,
},
body: JSON.stringify({
data: base64,
filename,
contentType: type,
}),
}
)
View on GitHub (pinned to a81a902e9a)
Solutions
- Re-activate or update your Budibase license key in the admin settings
- Check the license is still valid/not expired in your Budibase account
- Ensure the service can reach the licensing endpoint to sync the license cache
- Retry the upload after the license sync completes
Defensive patterns
Strategy: validation
Validate before calling
const licenseKey = await licensing.keys.getLicenseKey()
if (!licenseKey) {
throw new Error("A valid Budibase license is required for AI file upload")
} Try / catch
try {
await uploadToCloud(file)
} catch (e) {
if (e.message === "No license key found") {
return { error: "Activate or renew your Budibase license to use AI file upload" }
}
throw e
} Prevention
- Monitor license expiry and refresh the license cache proactively
- Ensure services can reach the licensing endpoint (no offline blocks)
- Re-activate the license after account/key changes before using AI features
When it happens
Trigger: createBBAIClient file upload path on an installation with an expired, missing, or not-yet-activated license; getLicenseKey() returning undefined because the license has never been synced or was deactivated.
Common situations: Trial expiry; license key deleted or rotated in the Budibase account; offline installations where the license could not be refreshed; running the upload from a service without license cache access.
Related errors
- No Budibase URL found
- Quotas do not exist for planType=${planType} and hosting=${h
- No license key found
- Workspace DB not found - self-host users using cloud don't h
- CouchDB username not set
AI-assisted analysis of Budibase/budibase@a81a902e9a (2026-08-29).
Data as JSON: /api/errors/0e6c4a53a4815787.
Report an issue: GitHub.