Repository navigation
v0.7.0
tailhome now lists what your coding agents build. An agent publishes a preview with tailscale serve, and it shows up at the top of home/ with the title and description the agent chose.
- Ask your agent "can I see this on my phone?" and get a working link. The new tailnet-preview skill lets Claude Code, Codex, omp and other agents publish a preview, write its card, check the link and later remove only what they created. It works without tailhome too. See the README for installation.
- Agents usually publish previews on ports other than 443, which tailhome never looked at. Set
TAILHOME_PREVIEW_PORTS=8443-8452, the range the skill uses, and those previews appear inhome/on their own, next to your apps, so you can open them from any device without copying links. The setting is empty by default, so nothing changes until you set it. - Previews say what they are. An app can serve a small JSON card at
/.well-known/tailhome.jsonwith a title, description and icon, so its tile reads "Short hero" with "One call to action" under it, instead of "Devbox :8443". Versions in the same set share one heading with A, B and C badges, so you can compare them side by side. - Routine checks on previews are TLS handshakes rather than HTTP requests, so tailhome does not show up in your app's logs or reset a preview tool's idle timer on every refresh. A preview that stops answering is hidden, then comes back on its own.
- Short links reach previews too:
/go/devbox:8443opens one. A shortcut that matches nothing now shows a short page instead of a bare error.
Changes to watch for:
- Even with no preview ports, tailhome now requests
/.well-known/tailhome.jsonon port 443 when it first finds a device app, when the app comes back, and on manual refresh. Apps without a card answer 404 or their usual page, and tailhome ignores both. /api/services.jsongains apreviewslist. Entries in both JSON endpoints gaintemporary,set,version,checkandunverified, and previews come first inlist.json. The "Unverified HTTPS" note moved fromdescriptiontounverified.- If a device-list refresh fails, the page keeps the last list and shows the error, instead of dropping devices.
To upgrade, pull ghcr.io/mickey/tailhome:0.7.0 or download a binary below.