HuginnCloud
HuginnCloud gives your local Huginn a public URL so you can reach it from any browser or device — your models, your data, your machine, accessible from anywhere.
What it is
HuginnCloud is a relay service. Your Huginn process runs on your machine as normal. HuginnCloud creates a secure WebSocket tunnel between your machine and api.huginncloud.com. When you visit the HuginnCloud dashboard, it routes your commands through that tunnel to your local Huginn.
Nothing changes about how Huginn runs. You are not uploading your agents, models, or data anywhere. You are just getting a door into your local machine from the outside.
Your data stays local. The relay only passes encrypted WebSocket traffic. HuginnCloud never sees your prompts, your outputs, or your agent configurations.
You need an account at app.huginncloud.com to use it.
Registering
Registration is a one-time browser-based OAuth flow.
From the web UI:
- Run
huginn trayand openhttp://localhost:8421. - Click the profile icon in the bottom-left corner.
- Click Connect to Huginn Cloud.
- A browser window opens at
app.huginncloud.com/connect. - Approve the connection in your browser.
- Return to the web UI — the profile icon now shows a green dot and “Connected”.
From the CLI (no web UI required):
huginn connect
This runs the same browser-based flow. Useful if you are on a headless machine or prefer the terminal.
Once approved, the token is stored in your OS keychain (macOS Keychain, GNOME Secrets, or Windows Credential Manager). You will not need to go through this flow again.
Connecting
After the first registration, Huginn reconnects automatically on every startup. No action required.
To connect manually:
huginn connect
What “Connected” looks like:
- Green dot next to the profile icon in the web UI.
- Your machine listed as “Online” in the HuginnCloud dashboard at
app.huginncloud.com. - Active satellite WebSocket between your machine and
api.huginncloud.com.
Connection persists across restarts. The token lives in your OS keychain. Reinstalling Huginn does not remove the keychain entry — the connection restores on the next launch automatically.
Accessing remotely
Once your machine is Online:
- Open app.huginncloud.com from any browser — phone, tablet, another laptop.
- The dashboard lists all your registered machines with their current Online/Offline status.
- Click a machine to open a full Huginn session in your browser.
It behaves exactly like http://localhost:8421 — same agents, same history, same tools. The only difference is the traffic travels through the relay instead of staying local.
Fleet mode
For deploying Huginn on multiple servers or provisioning machines via MDM or CI, use the HUGINN_CLOUD_TOKEN environment variable instead of the browser flow.
HUGINN_CLOUD_TOKEN=hgn_abc123 huginn tray --server
One pre-issued fleet token, deployed to as many machines as you need. Each machine registers separately and appears in the dashboard with its own status indicator.
Fleet tokens are issued from the HuginnCloud dashboard. They skip the browser OAuth step entirely, which makes them suitable for automated deployments.
Security
| What | Detail |
|---|---|
| Transport | Encrypted WebSocket (WSS) — TLS in transit |
| Token storage | OS keychain — never written to disk in plaintext |
| Data visibility | HuginnCloud sees only encrypted WebSocket frames — not your prompts, outputs, or agent config |
| Auth | OAuth-based browser approval for personal use; pre-issued tokens for fleet mode |
HuginnCloud is a relay, not a host. It has no access to what your agents do or say.
Configuration
| Key / Variable | Location | Default | Description |
|---|---|---|---|
HUGINN_CLOUD_TOKEN | Environment variable | — | Pre-issued token for fleet/headless deployments; skips the browser flow |
HUGINN_CLOUD_URL | Environment variable | https://api.huginncloud.com | Override the WebSocket relay endpoint (for self-hosted HuginnCloud) |
cloud.url | ~/.huginn/config.json | "https://app.huginncloud.com" | Override the HuginnCloud web app URL |
Troubleshooting
“Connecting…” spinner never resolves
The browser approval step did not complete. Check:
app.huginncloud.comis reachable from your machine.- You clicked Approve (not Deny) in the browser tab.
- The localhost callback was not blocked by a firewall or browser extension.
If the spinner is still stuck after a confirmed approval, restart Huginn — the connection state will restore.
Machine shows “Offline” after restart
Huginn reconnects automatically on startup. If it stays Offline:
- Check that the Huginn process is actually running (
huginn trayorhuginn serve). - Confirm your network has outbound access to
api.huginncloud.com. - Try running
huginn connectmanually to force a reconnect attempt.
“Not connected” after restart — token was cleared
A stale or invalid token was detected and automatically cleared. Click Connect to Huginn Cloud again to re-register with a fresh token.
websocket: bad handshake in logs
The stored token was rejected by the HuginnCloud API (expired or revoked). Huginn clears it automatically and logs a warning. Click Connect to re-register.
See also
- Web UI — the local interface HuginnCloud mirrors remotely
- Configuration — full config reference including
cloud.*keys - Installation — getting Huginn running locally first