transloadit/uppy · error · Error
The Provider option "providerOptions.${deprecated}" is no lo
Error message
The Provider option "providerOptions.${deprecated}" is no longer supported. Please use the option "${deprecatedOptions[deprecated]}" instead. What it means
Companion renamed its provider options: top-level providerOptions.microsoft/google/s3 were restructured into providerOptions.onedrive/providerOptions.drive and an s3 section. Using the old names triggers this startup error with the suggested replacement.
Source
Thrown at packages/@uppy/companion/src/config/companion.ts:123
const { providerOptions, server, uploadUrls } = companionOptions
// see https://github.com/transloadit/uppy/issues/4271
// todo fix the code so we can allow `/`
if (server.path === '/') {
throw new Error(
"If you want to use '/' as server.path, leave the 'path' variable unset",
)
}
if (providerOptions) {
const deprecatedOptions: Record<string, string> = {
microsoft: 'providerOptions.onedrive',
google: 'providerOptions.drive',
s3: 's3',
}
Object.keys(deprecatedOptions).forEach((deprecated) => {
if (Object.hasOwn(providerOptions, deprecated)) {
throw new Error(
`The Provider option "providerOptions.${deprecated}" is no longer supported. Please use the option "${deprecatedOptions[deprecated]}" instead.`,
)
}
})
}
if (uploadUrls == null || uploadUrls.length === 0) {
if (process.env['NODE_ENV'] === 'production') {
throw new Error('uploadUrls is required')
}
logger.error(
'Running without uploadUrls is a security risk and Companion will refuse to start up when running in production (NODE_ENV=production)',
'startup.uploadUrls',
)
}
const { corsOrigins } = companionOptions
if (corsOrigins == null) {View on GitHub (pinned to 5d4dedd02a)
Solutions
- Rename providerOptions.microsoft to providerOptions.onedrive
- Rename providerOptions.google to providerOptions.drive
- Move s3 options to the new top-level s3 config section as indicated by the message
Example fix
// before
providerOptions: { microsoft: { credentials: {...} } }
// after
providerOptions: { onedrive: { credentials: {...} } } Defensive patterns
Strategy: validation
Validate before calling
const OLD = { microsoft: 'onedrive', google: 'drive' }
for (const [oldK, newK] of Object.entries(OLD)) {
if (providerOptions[oldK]) { providerOptions[newK] = providerOptions[oldK]; delete providerOptions[oldK] }
} Type guard
null
Try / catch
null
Prevention
- Migrate config keys on Companion major upgrades
- Keep configs in version control and diff at upgrade time
- Follow the migration notes in release changelogs
When it happens
Trigger: Passing companionOptions like { providerOptions: { microsoft: {...} } } or { google: {...} } / { s3: {...} } in the old shape.
Common situations: Upgrading Companion from an older major version without migrating config; following outdated documentation or blog posts.
Related errors
- Missing S3 object key for completing multipart upload
- [s3mini] fileType must be a string
- If you want to use '/' as server.path, leave the 'path' vari
- uploadUrls is required
- Option corsOrigins is required. To disable security, pass tr
AI-assisted analysis of transloadit/uppy@5d4dedd02a (2026-08-28).
Data as JSON: /api/errors/fe62eab7d23bbd4a.
Report an issue: GitHub.