<@ULVA73B9P> I updated a deployment and flow name ...
# marvin-ai
e
@Marvin I updated a deployment and flow name in the prefect.yml file, but I'm not seeing that name change on my prefect server UI. What could be causing this?
m
thought for 159.0 seconds
Short answer: Prefect 3 reads deployment config from prefect.yaml, not prefect.yml. If you edited prefect.yml,
prefect deploy
didn’t see your changes—so the UI wouldn’t update. What to do - Rename your file to prefect.yaml, or pass it explicitly:
Copy code
prefect deploy --prefect-file prefect.yml
Then re-run deploy from your project root. - If you changed the “flow name” in the YAML: note that the flow’s name shown in the UI comes from your Python code (
@flow(name="...")
or the function name), not from prefect.yaml. To rename the flow in the UI, update the
@flow(name=...)
(or the function name) in code and redeploy. The YAML controls the deployment name (
deployments[].name
) and entrypoint, not the flow’s name itself. Other gotchas to check - If you pass
--name
to
prefect deploy
, it overrides the name in the YAML. - Make sure you edited the correct deployment block (under
deployments:
) and that the
entrypoint
points to the right flow. Docs - Prefect 3.x prefect.yaml guide (including
--prefect-file
): prefect.yaml in Prefect 3 If this doesn’t resolve it, can you share: - Your Prefect version (2.x or 3.x)? - The relevant part of your prefect.yaml/yml (deployment block and entrypoint)? - The exact command you ran to deploy?
e
@Marvin I updated in the .yaml and re-deployed still don't see the name change? I'm on prefect 3.6.15
m
thought for 154.8 seconds
Thanks for the details. On Prefect 3.6.15, there are two different “names” you might be looking at in the UI: 1) Flow name (shown on the Flows page) - Comes from your code, not YAML. - Change it in code via
@flow(name="...")
(or by renaming the function) and redeploy. - If you changed only prefect.yaml, the flow name in the UI will not change. Example:
Copy code
from prefect import flow

@flow(name="My New Flow Name")
def my_flow():
    ...
Make sure your
entrypoint
in prefect.yaml points to the correct function name if you renamed it, e.g.
path/to/file.py:my_flow
. 2) Deployment name (shown on the Deployments tab for that flow) - Comes from
deployments[].name
in prefect.yaml (or can be overridden by
--name
on the CLI). - Changing the deployment name and running
prefect deploy
creates a new deployment; it does not rename the old one. You’ll see both the old and the new until you delete the old one. Quick checks to pinpoint the issue - See what Prefect has registered:
Copy code
prefect deployment ls --flow-name "<your current flow name in code>"
- Inspect the new deployment:
Copy code
prefect deployment inspect "<flow name>/<new deployment name>"
Confirm the name and entrypoint match your updated prefect.yaml. - If you want to “rename” a deployment, delete the old one:
Copy code
prefect deployment delete "<flow name>/<old deployment name>"
Other common gotchas - If you pass
--name
to
prefect deploy
, it overrides the YAML deployment name. - Ensure you’re deploying from the directory that contains your prefect.yaml (or pass it explicitly):
Copy code
prefect deploy --prefect-file path/to/prefect.yaml
Docs - Prefect 3.x prefect.yaml guide: prefect.yaml in Prefect 3 If you can share: - The exact field you changed (deployment name or flow name), - The relevant prefect.yaml
deployments:
block, - Your
@flow
definition (or function name) and the deploy command you ran, …I can zero in on the cause and give you precise steps.