Skip to content

persistent_apk_packages config crashes add-on on startup — bashio::config output piped to jq #25

Description

@awesome-nawsh

What happens: Setting any non-empty persistent_apk_packages (e.g. ["tmux"]) makes the add-on fail to start:

[21:29:39] INFO: Auto-installing system packages from config...
jq: parse error: Invalid numeric literal at line 2, column 0
s6-rc: info: service legacy-services: stopping

Root cause: In run.sh auto_install_packages(), bashio::config 'persistent_apk_packages' returns newline-separated plain values (bashio unpacks list options), but the script pipes this into jq -r '.[]' expecting a JSON array. jq fails on the bare package name; with errexit/pipefail the whole run script exits. Same pattern affects persistent_pip_packages.

Suggested fix: drop the jq parse and iterate bashio's output directly:

if bashio::config.has_value 'persistent_apk_packages'; then
    bashio::log.info "Auto-installing system packages from config..."
    for pkg in $(bashio::config 'persistent_apk_packages'); do
        bashio::log.info "  Installing: $pkg"
        /usr/local/bin/persist-install "$pkg" || bashio::log.warning "Failed to install: $pkg"
    done
fi

(same change for the pip branch, keeping the tr '\n' ' ' collection step unnecessary)
Environment: aarch64 (RPi), HAOS, add-on with Claude Code 2.1.199. Workaround: leave the option empty and run persist-install manually — that path works because it doesn't go through the config parser.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions