Set add-on options
supervisor_set_addon_optionsReplace a Home Assistant add-on's stored options with a complete object for programmatic configuration changes. Include all existing fields, as omitted ones are lost, then restart the add-on.
Instructions
Replace an add-on's stored options with the given object.
Calls POST /addons/<slug>/options as {"options": options}. Read
current values via supervisor_get_addon, modify them, and send the
full dict back — overwrites previous options entirely, so omitted
fields are lost. A value left as the placeholder for a secret field is
swapped for the real stored value first, so echoing it back unchanged
never overwrites the secret — a list containing it must keep every
item's order/count as read, or the call is refused rather than guessed.
Once a placeholder was resolved, a Supervisor error strips detail
(it can otherwise echo the rejected payload, secret included). Takes
effect after supervisor_restart_addon. Refuses to run against
nexus's own add-on — could otherwise lift its own restrictions.
Use when: changing an add-on's configuration programmatically.
Not for: reading the current options first — use
supervisor_get_addon; for changing nexus's own configuration — use the
Home Assistant Supervisor UI instead.
Returns: Supervisor's options-update result.
Errors: {"error": "invalid_slug"} for a bad slug; self_addon_options_blocked for nexus's own add-on;
redaction_marker_list_length_mismatch on a placeholder list-length
mismatch; SUPERVISOR_TOKEN not set when the token is missing;
{"error": "HTTP <status>"} on a schema-validation or placeholder
read-back failure.
Limits: does not apply until the add-on is restarted.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Add-on slug whose options to set, e.g. from `supervisor_list_addons`. | |
| options | Yes | Full options object to store, validated by Supervisor against the add-on's schema. Any field read via `supervisor_get_addon` and left out here is not preserved automatically — include the whole dict, not just changed keys. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||