Work
Custom widgets
Add your own widgets to the overlay by dropping in a folder, and control what each one may do.
Custom widgets are extra widgets that you, a teammate or the AI add to your overlay. Each lives in its own folder, and TeamHUD turns every folder into a live widget.
Adding one
Section titled “Adding one”- Drop the folder. Put the widget’s folder inside
.teamhud/custom-widgetsin your home folder. - Wait a moment. TeamHUD watches that location, so the widget appears without a restart.
Remove the folder to remove the widget.
You can also ask the AI chat to make one. When it proposes creating, changing or deleting a widget, a confirmation card appears. For a new widget you choose how much to customize (defaults, or edit its name, position, size, description and tags first). Nothing is written until you click the card’s action button (Create, Update or Delete), and the AI cannot approve for itself.
Permissions
Section titled “Permissions”A widget can do only what you allow. Before an untrusted widget loads for the first time, TeamHUD shows a permission review that lists what it asked for and what happens if you say no. Anything it needs to run is listed first; declining one of those means the widget will not run.
The permissions you may see:
| Permission | What it lets the widget do |
|---|---|
| Run a backend | Start a sandboxed helper program the widget is built around. |
| Network access | Let the widget’s backend make network requests to the hosts it declared. |
| Unrestricted network access | Reach any host on the internet. Never on by default and never implied by another permission. |
| Act as you at declared hosts | Send requests as you, using a credential you connected. The widget never sees the token. |
| Authenticated web session | Sign in to a website and fetch in that session. |
| Local storage | Remember its settings between restarts, on this computer. |
| Read hub positions | See where other overlay widgets’ buttons are. |
| Be clickable | Mark which parts of it you can click; the overlay ignores clicks anywhere else. |