Skip to content

[BUG] Multi-page Dash app breaks with suppress_callback_exceptions=True in latest version #3349

Closed
@petar-qb

Description

@petar-qb

Describe your context

dash                 3.1.0

Describe the bug

In dash==3.1.0, multi-page app fails when suppress_callback_exceptions=True. This issue does not occur in dash==3.0.4 or when the flag is unset (because it defaults to False).

Here's the minimal reproducible example:

import dash
from dash import Dash, html

print(dash.__version__)  # 3.1.0

app = Dash(
    use_pages=True,
    pages_folder="",
    suppress_callback_exceptions=True,
)
dash.register_page("/", layout=lambda: html.H1("Homepage"))

app.layout = html.Div([
    dash.page_container,
])

app.run(debug=True)

Error message:

  File "/lib/python3.12/site-packages/dash/dash.py", line 2497, in router
    if not isinstance(layout, list):
                      ^^^^^^
UnboundLocalError: cannot access local variable 'layout' where it is not associated with a value

Screenshots

Screen.Recording.2025-06-27.at.13.04.23.mov

Other

It looks like the bug comes from this PR and the following change (can't send the direct link to the code section as the PR introduced many changes):

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions