Bug description
Steps to reproduce
- Uncertain if relevant: create a custom theme according to the theming guide.
- Export a dashboard
- Try to import it
Additional information
- Using docker: apache/superset:6.0.0rc1
Thanks a lot for your awesome FOSS.
Screenshots/recordings
No response
Superset version
master / latest-dev
Python version
3.10
Node version
?
Browser
Firefox
Additional context
Error stack
2025-09-17 15:51:20,455:WARNING:superset.commands.importers.v1:Import Error: {'theme_id': ['Unknown field.']}
2025-09-17 15:51:20,456:INFO:superset.commands.dashboard.importers.dispatcher:Command failed validation
2025-09-17 15:51:20,456:WARNING:superset.views.error_handling:CommandException
Traceback (most recent call last):
File "/app/.venv/lib/python3.10/site-packages/flask/app.py", line 1484, in full_dispatch_request
rv = self.dispatch_request()
File "/app/.venv/lib/python3.10/site-packages/flask/app.py", line 1469, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
File "/app/.venv/lib/python3.10/site-packages/flask_appbuilder/security/decorators.py", line 109, in wraps
return f(self, *args, **kwargs)
File "/app/superset/views/base_api.py", line 120, in wraps
duration, response = time_function(f, self, *args, **kwargs)
File "/app/superset/utils/core.py", line 1409, in time_function
response = func(*args, **kwargs)
File "/app/superset/utils/log.py", line 304, in wrapper
value = f(*args, **kwargs)
File "/app/superset/views/base_api.py", line 107, in wraps
return f(self, *args, **kwargs)
File "/app/superset/dashboards/api.py", line 1595, in import_
command.run()
File "/app/superset/commands/dashboard/importers/dispatcher.py", line 57, in run
command.run()
File "/app/superset/utils/decorators.py", line 267, in wrapped
return on_error(ex)
File "/app/superset/utils/decorators.py", line 232, in on_error
raise ex
File "/app/superset/utils/decorators.py", line 260, in wrapped
result = func(*args, **kwargs)
File "/app/superset/commands/importers/v1/__init__.py", line 84, in run
self.validate()
File "/app/superset/commands/importers/v1/__init__.py", line 120, in validate
raise CommandInvalidError(
superset.commands.exceptions.CommandInvalidError: Error importing dashboard
superset_config.py
"""Superset configuration."""
import os
SUPERSET_DB_USER = os.getenv('SUPERSET_DB_USER', 'superset')
SUPERSET_DB_PASSWORD = os.getenv('SUPERSET_DB_PASSWORD', 'superset')
SUPERSET_DB_NAME = os.getenv('SUPERSET_DB_NAME', 'superset')
SQLALCHEMY_DATABASE_URI = (
f'postgresql+psycopg2://{SUPERSET_DB_USER}:{SUPERSET_DB_PASSWORD}@superset-db:5432/{SUPERSET_DB_NAME}'
)
FEATURE_FLAGS = {
'ENABLE_TEMPLATE_PROCESSING': True,
'EXTRA_CATEGORICAL_COLOR_SCHEMES': True,
}
ENABLE_PROXY_FIX = True
# Theme configuration
FAVICONS = [{'href': '/static/assets/images/favicon.ico', 'type': 'image/x-icon'}]
APP_NAME = 'Dashboard'
LOGO_TARGET_PATH = '/'
LOGO_TOOLTIP = APP_NAME
EXTRA_CATEGORICAL_COLOR_SCHEMES = [
{
...
},
{
...
},
]
THEME_DEFAULT = {
'token': {
...
}
}
THEME_DARK = {
'token': {
...
},
'algorithm': 'dark',
}
Checklist
- [x] I have searched Superset docs and Slack and didn't find a solution to my problem.
- [x] I have searched the GitHub issue tracker and didn't find a similar bug report.
- [x] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.
Comment From: dosubot[bot]
Hi @maxfrei750! I'm Dosu and I’m helping the superset team.
The import error with {'theme_id': ['Unknown field.']}
in Superset 6.0.0rc1 is caused by a schema mismatch: the import process doesn't recognize the theme_id
field in dashboard exports. This happens because the export/import logic for dashboards with custom themes was incomplete in that release.
A recent fix (PR #34850)—merged after 6.0.0rc1—completely overhauled theme import/export. Now, dashboards export a theme_uuid
(not theme_id
), and the import process maps this UUID to the correct theme ID, auto-bundling themes for portability and providing a graceful fallback if a theme is missing. This resolves the "unknown field" error and makes dashboard import/export with custom themes robust and portable.
To resolve your issue, upgrade to a Superset version that includes this fix (any build after September 1, 2025). As a temporary workaround, you could try editing your export files to use theme_uuid
instead of theme_id
, but the upgrade is the recommended and supported solution.
More details on the fix and new behavior are in PR #34850.
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other
Comment From: sadpandajoe
This potentially may be fixed as part of https://github.com/apache/superset/pull/34850, we should confirm once RC2 is cut which is when all blockers have been resolved.
Comment From: maxfrei750
I'll try to test the most recent docker tag asap.
Comment From: maxfrei750
Is there a place where I can see/track the progress towards rc2?
Comment From: mistercrunch
Is there a place where I can see/track the progress towards rc2?
Probably best place is the release branch itself and looking for PRs with v6.0 (tagged to become 🍒 )
Comment From: mistercrunch
If you're like really curious you can check out https://github.com/mistercrunch/cherrytree2, using the tool to help track/package releases. It's pretty neat but needs some more ❤️