-
Notifications
You must be signed in to change notification settings - Fork 2k
Description
Bug summary
Hello, I think I found a bug in the UI.
In Prefect Cloud with Prefect 3.4.25, the Deployment > Parameters tab displays "Unset" when a deployment parameter is explicitly set to False, even though the parameter is stored correctly and used for runs.
Environment
Prefect Cloud
Prefect 3.4.25
Deployments served locally (no work pool) using Flow.to_deployment(..., parameters=...) then Flow.serve(deployment)
Reproduction
Minimal example:
from prefect import serve, flow
@flow
def foo(flag: bool = True):
return flag
if __name__ == "__main__":
deployment = foo.to_deployment(name="foo", parameters={"flag": False})
serve(deployment, pause_on_shutdown=False)
Steps:
Serve the deployment to Prefect Cloud
Open the deployment in the Cloud UI, go to the Parameters tab → shows "Unset" for flag
Run prefect deployment inspect "my_flow/repro" → shows parameters={"flag": false}
Start a run from the UI → the run uses flag=False (correct)
Expected behavior:
The Parameters tab should display the actual stored deployment parameter value (False).
Marvin suggestions: Parameter is top-level and boolean. Likely affects other falsy values (0, "", [], {}). Not tested with nested parameters.
Behavior is purely visual; backend and runs behave correctly.
Version info
Version: 3.4.25
API version: 0.8.4
Python version: 3.11.9
Git commit: 8a37e7b1
Built: Thu, Oct 23, 2025 07:58 PM
OS/Arch: linux/x86_64
Profile: ephemeral
Server type: cloud
Pydantic version: 2.11.7
Server:
Database: sqlite
SQLite version: 3.34.1
Integrations:
prefect-dask: 0.3.6
prefect-slack: 0.3.1
Additional context
No response