mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-08-31 17:23:31 +02:00
Home Assistant's MCP Server integration serves stateless Streamable HTTP at /api/mcp; mcp-proxy defaults to SSE, so the previous registration (SSE at /mcp_server/sse) could never attach. Pass --transport=streamablehttp --stateless and default ha_mcp_url to /api/mcp. Match managed MCP entries by binary basename outside $HOME so a base-image path change still updates them, while user-installed binaries under $HOME remain untouched. Resolve tokensave via command -v like the others. Write Claude config files 0600 (they hold the HA long-lived token in clear text) and scope the build-time chmod +x pass to the shipped script dirs. Docs: dashboard reachability wording, stale /config/data HOME, and the custom-script filename (claude_desktop.sh, per the $slug.sh template). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
8.9 KiB
8.9 KiB
1.17 (14-07-2026)
- Breaking: remove the standalone Claude Code web terminal (ttyd/tmux service, port
7681, and theenable_terminal,terminal_username,terminal_password,terminal_workspaceoptions). The add-on is now built purely around Claude Desktop; Claude Code remains installed and powers Desktop cowork/dispatch sessions with the RTK hook, Caveman, and MCP servers intact. If the add-on refuses to start after the update, open its Configuration tab and re-save to drop the removed options. - Remove the
claude-directandclaude-headroomterminal wrapper scripts and the unusedha_smart_contextanddangerously_skip_permissionsoptions. - Fix the Headroom dashboard being unreachable at
http://<host>:8787/dashboard: the supervised proxy only listened on127.0.0.1; it now binds0.0.0.0so the mapped port works. - Fix dispatch/remote sessions and sign-in persistence: install the missing
gnome-keyringpackage. The existing keyring bootstrap silently no-oped without it, leaving ElectronsafeStorageunavailable ("cannot store allowlist cache"), so auth tokens and dispatch permission grants were lost on restart. - Add the tokensave code-intelligence MCP server (pinned 7.2.0, built from source like RTK), registered for both Claude Desktop and Claude Code; disable with
install_tokensave: false. - Implement the Home Assistant MCP bridge for real:
enable_ha_mcpplus newha_mcp_url/ha_mcp_tokenoptions register Home Assistant's MCP Server integration in Claude throughmcp-proxy, using the integration's stateless Streamable HTTP endpoint (/api/mcp). - Write the Claude configuration files with
0600permissions, since they hold the Home Assistant access token in clear text. - Restrict the build-time
chmod +xpass to the directories the add-on actually ships scripts in instead of traversing the whole image. - Register add-on-managed MCP servers in Claude Code's
~/.claude.jsonas well as Claude Desktop's config, without clobbering user-customized entries. - Install
uvand use it for theadditional_pipoption for much faster package installs.
1.16 (14-07-2026)
- Minor bugs fixed
1.15 (13-07-2026)
- Minor bugs fixed
ubunturesolute-version-6dc44b0e (2026-07-13)
- Update to latest version from linuxserver/docker-baseimage-selkies (changelog : https://github.com/linuxserver/docker-baseimage-selkies/releases)
1.14 (10-07-2026)
- Build pinned RTK 0.43.0 source on Debian Bookworm for both architectures instead of installing the upstream arm64 release binary, which requires GLIBC 2.39 and cannot run in the add-on image.
- Execute
rtk --versioninside the final image during the Docker build so future ABI incompatibilities fail CI instead of surfacing at runtime. - Validate the final Bookworm-built RTK binary in a native aarch64 image build.
- Correct the repository PR checks so changed changelog paths are exported and aarch64 images are built explicitly for
linux/arm64.
debiantrixie-version-c55d3809 (2026-07-11)
- Update to latest version from linuxserver/docker-baseimage-selkies (changelog : https://github.com/linuxserver/docker-baseimage-selkies/releases)
1.13 (10-07-2026)
- Add the official Claude Code stable package,
tmux,ripgrep, and a pinned upstreamttydbinary for both supported architectures. - Add an optional authenticated Claude Code web terminal on port
7681; the port remains unmapped by default and reconnecting clients attach to the same persistent tmux session. - Validate and canonicalize
terminal_workspace, restrict it to supported storage roots, and never re-own existing directories. - Order the terminal after service initialization and start tmux with an explicit Bash shell and workspace.
- Add
claude-headroomfor Headroom's supported wrapper, reusing the supervised proxy with--no-proxywhile leaving RTK management to the add-on. - Keep Claude Desktop on the MCP-only Headroom integration and remove the ineffective
ANTHROPIC_BASE_URLexport from its launch environment. - Preserve ownership of Claude settings for the configured runtime user and remove only the exact add-on-managed RTK hook when RTK is disabled.
- Fetch the repository-standard helper templates during image construction so the add-on builds from its actual Docker context.
- Install only Headroom's proxy, code-compression, and MCP features instead of unused CUDA, voice, image, memory, and evaluation stacks.
- Document the shared-home architecture, separate Desktop/CLI sessions, direct HTTP terminal security, shared concurrent sessions, and configurable data location.
1.12 (09-07-2026)
- Minor bugs fixed
1.11 (09-07-2026)
- Minor bugs fixed
1.10 (09-07-2026)
- Minor bugs fixed
1.9 (08-07-2026)
- Minor bugs fixed
1.8 (08-07-2026)
- Expose the Headroom live savings dashboard on mapped port
8787wheninstall_headroomis enabled, while keeping the proxy local-only if the port mapping is disabled. - Map
8787/tcpby default and document the dashboard URL.
1.7 (07-07-2026)
- Add an hourly rtk + headroom token-savings report to the add-on log (
claude-gains-report.sh, seeded via/defaults/crontabs/rootand run by the base image's cron). Lets you confirm at a glance that both tools keep running and see accumulated gains — if the numbers stop growing, the tool has stopped working. - Run the Headroom optimization proxy as a supervised local backend (
svc-headroomon 127.0.0.1:8787) so theheadroom_compress/headroom_retrieveMCP tools can actually store/retrieve compressed content and record savings. It is a backend only — no client'sANTHROPIC_BASE_URLis routed through it, so the Claude Desktop app (which force-overrides it, headroom #869) is unaffected. Previously the MCP server was registered but had no backend, so it recorded no savings. - Nudge Claude to use the headroom compression tools via a managed, idempotent block appended to the user's
CLAUDE.md(removed automatically wheninstall_headroomis disabled).
1.6 (07-07-2026)
- Fix default desktop launch failing when
install_headroomis enabled (the default): the code rewrote the launch toheadroom wrap claude-desktop …, butheadroom wraponly supports coding-agent CLIs (claude,codex, ...) with arguments after--, so it produced an invalid command that left the app unlaunched. Leave the plain launch intact and instead register theheadroomMCP server (headroom mcp serve) in Claude Desktop's config, exposing theheadroom_compress/headroom_retrieve/headroom_statstools inside the app. This is the supported headroom integration for Desktop, which overridesANTHROPIC_BASE_URLso transparent proxy compression is not possible (headroom #869). Disabling the option removes the entry again. - Make the autostart resilient: if the launch command fails to start, fall back to the plain Claude Desktop launch so the app always comes up.
1.5 (07-07-2026)
- Change the default Claude Desktop data location to
/data/data. - Add Home Assistant smart context, Home Assistant MCP, and dangerous permission skip options.
1.4 (07-07-2026)
- Persist Claude Desktop sign-in: bundle gnome-keyring/libsecret/dbus-x11 and start an unlocked Secret Service in the desktop session, and launch with --password-store=gnome-libsecret. Fixes "Your sign-in won't be saved on this device. Install and unlock a system keyring". The keyring DB lives on persistent storage (/config/data), so the session survives restarts.
1.3 (07-07-2026)
- Fix startup crash loop ("All subprocesses terminated. Exiting."):
- Make the Selkies desktop init oneshots (init-video, init-selkies-config) tolerant so a partially-permitted device/permission op in the HA sandbox no longer fails add-on bringup.
- Pre-create /tmp/selkies_js.log so the base image's "chmod 777 /tmp/selkies*" calls never fail on an empty glob.
- Reconcile XDG_RUNTIME_DIR to the tmpfs runtime dir instead of persistent storage.
- Run Claude Desktop with --disable-dev-shm-usage and drop the misplaced shm_size env var (Home Assistant ignores shm_size), fixing Electron renderer crashes on the default 64 MB /dev/shm.
1.2 (07-07-2026)
-
Add baked-in git/GitHub CLI support with optional startup credential configuration.
-
Fix Selkies startup by creating the s6 environment directory and XDG runtime directory before services start.
1.0 (07-07-2026)
- Minor bugs fixed
Changelog
1.1
- Fix build failure: set HOME=/root when running rtk install script to ensure binary is installed to /root/.local/bin instead of /config/.local/bin (caused by LSIO base image overriding HOME)
1.0
- Fix build failure: remove separate
npmapt package (already bundled in NodeSource nodejs)
debianbookworm-1ae1f8ff-ls13
- Initial Claude Desktop add-on using LinuxServer Selkies, Home Assistant ingress, persistent sign-in data, runtime Claude Desktop updates, optional apt/pip additions, custom scripts, and bundled Claude Code optimization tools.