node user (HOME=/data), so Sesame commands are prefixed with runuser -u node --. Installing into /data and wrapping via the compose file keeps the setup alive across restarts, reboots, and container recreates — only /data and the compose file survive a recreate, and both hold everything Sesame needs.
Requires the cloud broker at getsesame.dev. See the main OpenClaw guide for the concepts (secrets, injection, approvals).
1. Install + register (container shell)
2. Wrap the gateway (container shell)
3. Point the compose file at it (host shell or panel YAML editor)
Indocker-compose.yml, under the openclaw service, add both keys (setting entrypoint clears the image’s default command, so restate it):
4. Add your secrets and verify
In getsesame.dev → Secrets → Add, add a secret for each host your agent calls — the preset fills the injection mode. Set an auto-approve policy on your model host so chat doesn’t pause every turn; keep per-call approval on side-effecting hosts. Confirm a brokered call succeeds, using any host you added a secret for:Troubleshooting
Running this with an agent? Give it the steps above and have it run them in the container’s App terminal — pausing for the browser approval at
sesame login, and confirming step 4’s brokered call returns 200.