App icon — the favicon in the browser tab
Every app on Host shows an icon in the browser tab. Host picks it in this order:
- An icon set in Host. Set it with the command below or in Host under the app's Settings → App icon. It is used over everything else.
- Your app's own
/favicon.ico. Ship one and it is used as is. - The Waymaker icon. It is shown when the app has no favicon, or when it still has the stock
Next.js one that
create-next-appadds to every new project (a framework logo, not yours).
Only /favicon.ico is affected. If your app links its own icon some other way, such as
<link rel="icon" href="/icon.svg"> or Next.js app/icon.png, browsers use that and Host changes nothing.
Ship your own
Replace app/favicon.ico (Next.js) or public/favicon.ico (Vite and most others) with your icon, then
deploy. If you scaffolded with create-next-app, the file there now is the stock framework icon.
Replace it or delete it.
Set one in Host
No rebuild is needed:
waymaker host apps icon <app-id> ./icon.png # or ./favicon.ico
waymaker host apps icon <app-id> --reset # back to the app's own icon (or the Waymaker one)
From an agent, use the MCP tool host_app_icon_set with app_id and icon (the file as base64), or
icon: null to remove it.
- PNG or ICO only, up to 64 KB. A square 32×32 or larger looks best.
- SVG is not accepted. The icon is served from your app's own address. An SVG there can run script, so Host refuses it, whatever the file is named. To use an SVG, link it from the app itself.
- You need to be the app's creator, a collaborator on it, or an organisation admin.
Seeing the change
A change reaches visitors within about a minute. Browsers keep favicons for a long time, so your
own tab may keep showing the old one. To check, open https://<your-app>/favicon.ico directly or
hard-refresh the page.