Highlights
- Embed an agent on your website. You can now put an agent on any web page as a chat window in an iframe. Visitors chat with the agent without an Agenta account. See the embed guide in the docs.
- Use your Claude subscription. You can connect a Claude Pro or Max plan to a project by pasting a token from
claude setup-token. Agents that use the Claude Code harness then run on that plan instead of an API key. - Steadier agent runs. The runner no longer ends a turn while it waits for the model's first response. Paused in-process conversations no longer fill the memory and block new sessions. When the runner refuses a turn, the API now returns 409, 503 or 422 instead of 500.
- Sign-in fixes. When a one-time code is the only way to sign in, the code is sent at once. A failed security check now returns 401 with a clear message instead of 500.
- Organization limit. Self-hosted deployments can limit how many organizations one user owns with
AGENTA_ACCESS_MAX_OWNED_ORGANIZATIONS. If you don't set it, there is no limit. - New tutorials. The docs have a Tutorials section with three video tutorials.
What's Changed
- [feat] Embed an agent on any website as a chat iframe by @mmabrouk in #7662
- feat: connect a Claude subscription with a pasted setup-token by @mmabrouk in #7691
- fix(sdk): Return 4xx when agent invoke refuses the caller's configuration by @mmabrouk in #7678
- fix(runner,sdk): Report agent turn admission refusals as 409, 503 or 422 instead of 500 by @mmabrouk in #7679
- [fix] Stop extra organizations from collecting free credits by @mmabrouk in #7681
- docs: Tutorials section with three video tutorials by @mmabrouk in #7677
- [fix] Return 401 instead of 500 when Turnstile rejects a sign-in by @mmabrouk in #7689
- fix(frontend): keep subscription names readable in the model picker by @mmabrouk in #7686
- fix(runner): stop the turn watchdog from ending a turn while the model's first response is pending by @mmabrouk in #7688
- fix(frontend): show where a subscription comes from only when the plan appears twice by @mmabrouk in #7692
- fix(runner): stop parked in-process conversations from filling the heap and blocking new sessions by @mmabrouk in #7682
- fix(frontend,docs): wrap the model picker caption and list the run limit error codes by @mmabrouk in #7694
- fix(hosting,docs): give web-mobile the internal API URL and correct embed and error docs by @mmabrouk in #7695
- [fix] Send the sign-in code at once when a code is the only way in (from #7659) by @mmabrouk in #7673
- fix(api): title channel and embed sessions with the person's words, not the attribution line by @mmabrouk in #7696
- fix(hosting): map host.docker.internal for the runner; count codex MCP tool names in the gate by @mmabrouk in #7697
Full Changelog: v0.122.8...v0.122.9