Hi everyone,
I’m trying to customize the app name and icon that appears when a user adds my Streamlit app to their Android home screen using Chrome’s “Add to home screen” feature.
Currently it always shows “Streamlit” as the app name and the default Streamlit logo, even after I change st.set_page_config(page_title=…).
I have already tried the two most common workarounds:
-
Injecting an inline data-URI manifest with st.components.v1.html
-
Using static file serving (enableStaticServing = true) + placing static/manifest.json and icons + injecting with JavaScript
Both methods make the manifest visible in DevTools → Application → Manifest, and Chrome shows the “Install” button, but when the app is actually added to the home screen the name is still “Streamlit” and the icon is the default Streamlit one (not my custom icons).
What I have confirmed:
-
https://my-app.streamlit.app/static/manifest.json is publicly accessible (200 OK)
-
The JSON is valid and contains correct name, short_name, and icons with 192×192 and 512×512 PNGs
-
Cache has been cleared, tested in Incognito, uninstalled the PWA and re-added it many times
-
The same manifest + icons work perfectly when the app is deployed on Vercel/Netlify
Is this a known limitation of Streamlit Cloud?
Is the platform overwriting the PWA name/icon with its own branding, or is the being modified after my JavaScript runs?
If anyone has succeeded in changing the Add-to-Home-Screen name on Streamlit Cloud recently (2025), could you please share the exact method that worked for you?
Thank you!
Streamlit, version 1.52.1
Python3.10