OpenHands shipped v1.25.0 today, its eighth release in twenty-five days. Seventeen features, thirty-three fixes, seven documentation updates. The headline is not any single feature; it is where the effort went. Count the user-facing changes and more than a third of them, eighteen of fifty, land in the same place: the settings layer. LLM profiles, provider connections, the Model Router.
If you run OpenHands against your own OpenAI-compatible endpoint, this is the release that matters. If you spent last week in the issue tracker watching profiles multiply and API keys vanish between model switches, it matters even more.
LLM profiles: bulk creation that stays sane
The chore used to be one profile per model, typed in by hand. Two PRs collapse that into one action: bulk-add every model on a provider connection as its own LLM profile, shipped in #16426 and #17723. Point at a connection, get the profiles.
What profile users actually felt, though, is the cleanup around the edges:
- Auto-filled profile names now follow the model you pick instead of keeping the old one: #18017.
- "Don't create profiles" for router templates now holds, so saving a router stops spawning profiles you never asked for: #18020.
- The router classifier model comes preselected, so it gets created even when no profiles exist yet: #17835.
Model Router: routing at conversation start
The router moves earlier in the lifecycle. A new "Run at conversation start" toggle routes from the first message instead of mid-conversation: #17797. Creating your first router now auto-enables "Run on first message": #17840. Direct-prompt routing gets its own settings page: #16147.
One rename to know before you wonder where your routers went: the defaults are now called OpenHands Router Pro and OpenHands Router Flash, renamed in #17782, and gpt-5.2-codex was removed from the agent-canvas router prompts in #17811.
The quick tour
Six additions, thirty seconds each. Voice dictation is now an optional mic on the chat input: #17804. Automations show their templates on cloud backends and offer native git integrations per #17830 and #17868; the dashboard filters by creator since #17814; and Load more finally pages past 100 automations after #17839. On the Canvas side, extensions can render their manifest-declared SVG icon via #17877, and installed apps get an Update action from #17736; our Agent Canvas walkthrough covers the workflow these plug into.
Under the hood
Best ratio of annoyance fixed to lines changed: conversation titles are now generated by the same LLM as the running agent profile, per #16886. If you pointed OpenHands at your own endpoint, your titles no longer leak through a model you did not choose.
Two reliability repairs for cloud users. The UI backs off instead of firing refetch-on-focus bursts that trip rate limits: #17984. And the WebSocket reconnects on foreground, disconnecting cleanly when a mobile tab backgrounds: #17982. Agent profiles can now carry their own persona or extra instructions per #17843, with the SDK pinned at 1.53.0 in #17516.
If you bring your own endpoint
Everything above is endpoint-agnostic: profiles and the router work the same whatever OpenAI-compatible API sits behind the base URL. Our own OpenHands runs on Kimi K3, and the setup is one profile with three fields:
Custom Model: openai/kimi-k3
Base URL: https://api.wallabytoken.com/v1
API Key: your Wallaby Token key
The full walkthrough, with screenshots of exactly this settings layer, is in our OpenHands guide. Disclosure: Wallaby Token is our own service. Per 1M tokens, as of October 2026, with current rates always on the pricing page:
| Wallaby (promotional) | Official list | |
|---|---|---|
| Input | $2.70 | $3.00 |
| Cached input | $0.27 | $0.30 |
| Output | $13.50 | $15.00 |
Should you upgrade?
The notes list no breaking changes. Nine first-time contributors landed PRs in this release, and the pace is not slowing: v1.18.0 to v1.25.0 is eight releases in twenty-five days.
If you run multiple profiles or the router, upgrade now; this one is yours. Everyone else can take it on the normal weekly rhythm. Read the full v1.25.0 release notes before you pull.