A daily log of product changes, improvements, and new model releases on OpenRouter
Product changes
- Move API keys between workspaces — You can now transfer API keys from one workspace to another, making it easy to reorganize keys as your team structure evolves.
- Presets API for creating presets from inference requests — Added
POST /api/v1/presets/:slug/chat/completionsfor creating or versioning a preset directly from a standard chat completions request body, now also available in the TypeScript and Python SDKs. - Date format preference — Added a date format selector in Settings with Default, Short, ISO, and Relative options that apply across the dashboard, logs, and API key pages.
- Long-horizon agents cookbook — New cookbook guide covering how to build long-running agent tasks with the OpenRouter Agent SDK, including stop-condition ceilings, resumable state, streaming progress, and voice input.
- Compare page empty state redesign — The compare page now shows interactive slot cards in the empty state, letting you select models directly without a separate search step.
- Profile page layout — Profile pages now display name, avatar, email, role, and workspace info at the top of the page for a cleaner layout.
- Fixed: Anthropic native
web_fetchpassthrough — Anthropic models with nativeweb_fetchsupport now correctly receive the tool in upstream requests, restoring full web content fetching capability. - Fixed: compare page section headers not sticking on scroll — Section headers on the compare page now correctly dock under the model cards while scrolling.
- Fixed: playground side panel losing generation state on close — Closing and reopening the playground side panel on model detail pages now preserves in-progress generation output.