Skip to content

feat(agents): update adapters and runtimes automatically for new connections - #803

Open
Adam-Dalloul wants to merge 2 commits into
xintaofei:mainfrom
Adam-Dalloul:feat/automatic-agent-refresh
Open

Adam-Dalloul wants to merge 2 commits into
xintaofei:mainfrom
Adam-Dalloul:feat/automatic-agent-refresh

Conversation

@Adam-Dalloul

@Adam-Dalloul Adam-Dalloul commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

Updating an ACP adapter does not necessarily update the runtime it bundles. That can leave new models unavailable even with the latest adapter installed.

Adds an opt-in Automatic (latest) update policy to every agent distribution: npm, binary releases and Python/uvx. New connections check the published release source, prepare exact versions in separate caches, then use the agent's own ACP model list. Claude, Codex and pi also refresh their separate runtimes through their supported executable overrides. Custom entries and extra accounts use the same package-based path.

Running conversations, selected models, account directories and explicit runtime overrides are preserved. Manual Pinned/Latest modes keep their behavior, and installing a custom version turns Automatic off. Checks are throttled to one per hour, failures retry after five minutes and retain the prior prepared/installed launch. Binary checksums are preserved. No hardcoded model list or custom-model-ID entry.

Validation: all seven CI checks pass, covering frontend lint/tests/build and Rust tests/Clippy on Linux, macOS and Windows. The Linux server suite passed 4,160 tests. Locally, 270 focused frontend/launcher tests, TypeScript, ESLint and the production build passed. Live isolated launches of Claude ACP 0.81.0 with Claude Code 2.1.280 advertised Opus 5.5; Codex ACP 1.12.0 with Codex 0.155.1 initialized and advertised seven models. No model generation was requested by those update probes.

Implementation and behavior are documented in docs/automatic-agent-updates.md. This supersedes the model-entry approach in #641.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant