Changelog
Improvements and fixes in each release, newest first. New features are announced on the roadmap.
- Connected apps can be allowed to ask later. Zabio’s sign-in now names read and ask, so Claude, OpenCode, VS Code and Cursor offer both on Zabio’s page (you can still untick ask). A connection whose app was never offered
asklists it, and using it makes the app ask you to allow it. Approving Claude.ai, VS Code or Cursor again for the same project replaces the earlier connection. See Allowing ask later. - Connect Codex, Cursor, VS Code and OpenCode. Connect an AI app now has steps for each, next to Claude and Claude Code, and Zabio is listed in the official MCP Registry as
ai.zabio/zabio. - Totals count no saving for calls made while a baseline was pending. A call on a key that had not reached its 20 calls is compared with itself, so it shows no saving. The dashboard, Usage, the CSV export, the CLI, the MCP
usagetool and batch totals now count none for it either, even after the key’s baseline is set, so every total adds up the calls as each one showed. Before, those calls’ fees counted as a negative saving. The CSV export gainssaved_micros,saved_usdandbaseline_pendingcolumns at the end. See API reference. - What a split saved, shown on its own. On a big request Zabio answered from an excerpt,
zabio.split.saved_micros(andget_call’ssplit.saved_usd) states what the split saved against the request sent whole, at list price. It is separate fromcost.saved_microsand shows while your key’s baseline is pending too. See Split and route. get_callstates the same saving asrecent_calls. On a key that has its baseline,get_callshowed a saving of 0 for a callrecent_callsshowed with its real saving. Both tools now read the saving andbaseline_pendingthe same way.
- No saving shown while a key’s baseline is pending. An
autocall on a key that has not reached the 20 calls its baseline needs no longer carriessaved_microsinzabio.cost;cost.baselinestill showspendingand the progress. Before, the field showed the fees as a negative saving. Code that readssaved_microsshould treat a missing value as no saving. See API reference. - An empty answer is retried one step up, never straight to the strongest model. When a model on
autospends its whole output budget thinking and answers nothing, Zabio now sends the request to the next cheapest model at the same skill level first, and on any line but best never to the strongest model for that kind of work. See Checked answers. - More from connected apps.
get_callandaskshow how Zabio split a big request, and reconnecting an app to the same project keeps its key’s savings baseline. See Connect an AI app. - Connected apps keep working across Zabio updates. A field Zabio adds to an MCP tool’s answer no longer makes an app that connected earlier refuse the answer.
asknow also returnscached_tokens, and itsinput_tokenscounts only the input not read from the cache, asget_calland Logs do. Connected apps shows when an app was last used within a minute. If Claude Code refusedaskanswers with “does not match the tool’s output schema” on 2026-10-14, reconnect it once with/mcp. See Connect an AI app. - Connect Claude and other AI apps to Zabio. Zabio now runs an MCP server. Add
https://mcp.zabio.ai/mcpto Claude.ai, Claude Code or another MCP app and it can read Zabio’s docs, models and prices, your project’s usage and recent calls, explain why a call went to its model, and ask Zabio’s models questions within a daily limit you set. Each connection has its own API key, and Settings, Connected apps disconnects it.https://mcp.zabio.ai/publicoffers the docs, models and status with no sign-in. See Connect an AI app. - One id for every call. Every response’s
zabioobject now carriescall_id, the id Logs shows for the call (call_and the same hex as a chat response’schatcmpl-id), on chat completions streamed or not, the Responses API, embeddings and batch results. See API reference. - A clear answer when a model cannot take tools. A call that names
gpt-6-astraand sendstoolsnow getsunsupported_parameterwith a sentence naming the limit, instead of the provider’s refusal. The same call without tools works as before, andautonever sends a call with tools there. See Errors.
- Price cuts reach you within a day. Zabio now reads every provider’s prices every day and applies a lower price as soon as it reads it. When a provider raises a price, Zabio keeps billing the old one until it confirms the change from what the provider charges.
- Prices checked against real charges. Every day Zabio now compares the provider cost it records for each model with what OpenAI and Anthropic actually charged it, so a price that drifts from the provider’s is found within a day.
- A clear answer when a provider is out of service. A call that names a model on a provider Zabio cannot use right now gets the new error
vendor_unavailable, naming the provider, instead of a provider error.autonever sends a call there, and when another provider serves the same model,automoves to it first. See Errors.
- Usage replaces Logs. A new Usage page has a Stats tab and a Logs tab under one filter bar (range, project, key, provider, model), in your time zone and kept in the page address. Stats charts spend, what Zabio saved, requests, tokens and caching, hourly or daily, stacked by model or by provider, with Top keys and Top models; Logs lists the calls with an errors-only filter, and a call opens with its details. The dashboard’s tiles link into it. See The web app.
- Calls keep their project. A call and its spend stay in the project they happened in, even when the key moves to another project later. Usage, the call list and the CSV export follow that.
- What caching saved, on every call. Usage shows how much of your input came from the prompt cache and what that saved at the providers’ prices.
- The web app on phones. The menu folds behind a Menu button on small screens, so every page uses the whole width.
- On the API: the usage routes take
providerandmodelfilters, the call list takesfrom,toanderrors, a new series route draws the charts, and calls carry theirproject_id. The usage summary no longer returnsopenrouter_equiv_microsandopenrouter_equiv_usd. - One match per account, from your signup. The launch match is now your account’s, once, in your first organization, and its 30 days start when you sign up instead of at your first top-up. The dashboard counts the days down. Other organizations you create, and people you invite, have no match of their own. See Credits and promotions.
- Keys that expire. A key can now expire: never, in 7, 30 or 90 days, or on a date you choose. An expired key is refused with the new error
key_expired, shows as Expired, and whoever created it gets an email 7 days before. A new expiration brings it back. See Errors. - Spend limits that reset. A key’s spend limit now resets every day, week or month at 00:00 UTC (weeks from Monday), or covers the key’s whole life. When it is reached, the error says when it resets, and the key list shows each key’s spend against its limit. Existing monthly caps became monthly limits. On the API, the key’s
spend_cap_micros_monthis nowspend_limit_microswithspend_reset. - A simpler way to create keys. Creating a key asks for its name, expiration and spend limit; everything else starts at its default. The Edit panel holds every setting, the key’s models included, and a key’s scopes can now be changed after it is created.
- Prompt caching on every call. Zabio now caches every call automatically, whether it names
autoor a model, and a call turns it off withcache.ttlnone. The key’s default prompt cache setting is gone: on the API,cache_ttl_defaultwas removed. Seecache.ttl. - Notice before your own plan costs more. When Zabio moves an organization that has its own pricing plan to a plan that raises any of its fees, the change takes effect at least 30 days later and the organization’s owner gets an email listing each fee that changes; a change that only lowers fees applies at once, and a cancelled change is announced too.
- A clearer error when no model is left. When the model access of your account, organization, project or key leaves
autono model to pick, the call now answers400 no_model_allowedand names the level to check, and the model picker warns before a change that would leave a project or key without a model forauto, naming them. - Model access at four levels. Your account, each organization, each project and each key now choose which models they allow, and a call may use only what every level allows;
autopicks only among those. One picker at every level: grouped by provider, with filters, a switch per provider that includes its future models, a checkbox per model and theautolines at the top, which you can now turn off one by one. On the API, the key’sallowed_modelsis nowmodel_access, and the organization’s vendor switch is a provider entry. See Model access. - One account above your organizations. Signing up now creates your account and its first organization, Default Organization, which you can rename in Settings. Only the account’s owner creates organizations and projects. People you invite belong only to the organizations you invite them to; someone you invited who wants their own account signs up with another email, and someone you invited who later belongs to no organization gets their own account at their next sign-in.
- Members limited to projects. When you invite a member you can choose the projects they work in, and change them later from Members. They then see only those projects’ keys, calls, usage and conversations; owners and admins see everything. A project menu next to the organization menu shows one project or all of them, and a new key is created in the project you are in.
- Keys in a project see their own project. On the API, a key that belongs to a project reads and changes only the conversations, responses, files and batches made with that project’s keys; a key at the organization’s level sees the whole organization. See Organizations, members and keys.
- Updates no longer interrupt your calls. When Zabio releases an update, calls already running, streams included, finish on the version that started them, and new calls go to the new version without a pause.
- Automatic recharge on the call that crosses your threshold. A recharge could wait for your next call or for the next check a few minutes later; it now starts on the call that takes your balance below the threshold.
- Ten models retired on Alibaba Cloud. Alibaba Cloud no longer serves
qwen3.6-max-preview,deepseek-v4-flash,qwen3-next-80b-a3b-thinking,qwen3-next-80b-a3b-instruct,qwen3-30b-a3b-thinking-2507,qwen3-30b-a3b-instruct-2507,qwen3-235b-a22b-thinking-2507,qwen3-235b-a22b-instruct-2507,qwen3-vl-235b-a22b-thinkingandqwen3-vl-235b-a22b-instructon its international service. The Models page marks them retired; choose another model there. - Prices now match each provider’s own price list. Six OpenAI models (
gpt-6.1-sol,gpt-6-sol,gpt-6-luna,gpt-5.6-sol,gpt-5.6-terra,gpt-5.6-luna) bill a cache write at 1.25 times the input price, as OpenAI does; cached input in an OpenAI batch is billed at the batch input price ongpt-4.1,gpt-4.1-mini,gpt-4.1-nano,gpt-4o,gpt-4o-mini,o1,o3,o3-miniando4-mini; cached input ongemini-3.1-pro-previewcosts the standard cache price in a batch and at flex;qwen3.5-plus-2026-04-20,qwen3.6-plusandqwen3.6-flash@alibaba-us, which Alibaba Cloud gives no cache discount, bill cached input at the input price; andgemini-3.5-flash, which Google now answers with Gemini 3.6 Flash, costs Gemini 3.6 Flash’s lower price. The Models page shows every price in force. - New models arrive on their own. When a provider adds a model, Zabio reads its price from the provider’s own price list, checks that the model answers, and makes it callable by name within the hour. Where the provider’s own sources show two prices, you pay the lower one. The Models page lists every model you can call.
- Lower cache prices on Claude Sonnet 5.5. Cached input on
claude-sonnet-5-5is now billed at Anthropic’s own price, 0.10 USD per million tokens (0.05 in a batch), half of what it was. - Provider sales reach your price. When a provider sells a model below its list price to everyone, Zabio charges the sale price.
- Three more models you can name, each at its provider’s own list price. The Models page lists them.
autopicks by skill for each kind of work. Everyautorequest now goes to the cheapest model skilled enough for its kind of work;auto/balancedandauto/bestask for more skill, and a hard or high-stakes request moves one step up. An answer that fails Zabio’s check is sent once more to a stronger model at Zabio’s cost. The dashboard, the Logs page andzabio.routing.task_typeshow the kind of work. See Models and routing.- Routing details show the tier you asked for and the skill floor used.
zabio.routing.linenow readsauto,cheap,balancedorbestas you sent it, and the newzabio.routing.floorsays which skill floor was applied.zabio.auto_eligible, the Models page and the newGET /v1/public/auto-modelsshow the modelsautocan pick today, and the request analyzer showsauto’s own picks. - Requests no longer fail on a parameter the model does not take. When the model that answers does not take
temperatureortop_p, Zabio leaves it out and names it inzabio.dropped_parametersand thex-zabio-dropped-paramsheader instead of returning an error.stopis always honored: where a model does not take it, Zabio cuts the answer itself. The Models page lists each model. - The whole saving is yours, with simpler fees. Zabio no longer takes a share of what routing saves you. Every call pays the service fee on the provider price, and every
autorequest pays a small fixed fee for automatic model choice, once, shown as its own line (call_fee_micros). This replaces 1.2.6’s “never for choosing the model”: choosing the model now has its own small price. The fees in force are on the pricing page. - Calculations always use reasoning. On math,
autoturns a model’s reasoning on and picks a model that can reason, so sums, averages and other calculations are worked through before the answer. - Reasoning levels follow each model’s own levels. Where a model names its thinking levels,
low,mediumandhighnow ask for those levels instead of a fixed number of thinking tokens, andzabio.reasoning.appliedreads the level. Two models that cannot stop thinking are now treated that way: with no level they think at their own default, andnonegives their lowest level. The Models page says which, so you can leave room inmax_tokens. - Thinking shows in your usage on more models.
usage.completion_tokens_details.reasoning_tokensand the dashboard now count the thinking of models that report it in their own format, so you can see which part of your output was thinking. - Calculations reason on more models. Some models reason only when asked, and Zabio now records which ones:
autoturns their reasoning on for calculations too. When you name one of them without a level,zabio.reasoning.appliednow readsoff, which is how they already answered. - You’re never charged for an empty answer caused by a setting Zabio chose. When
autoturns reasoning on, it makes sure yourmax_tokensleaves room for the answer. If the model still spends the whole budget thinking and writes nothing, that call is free, and a model that reasons by default answers instead, or the same model again without reasoning when there is none. With a reasoning level you set yourself, calls are billed as before. - Simpler routing details.
zabio.routingno longer includessubjectandlanguage, and thejobthatPOST /v1/public/analyzereturns no longer includeslanguage. Routing never used them.
- You pay for the answer, never for choosing the model. The small routing step that reads each
autorequest is now part of Zabio’s fee, soclassifier_microsreads 0 and the saving on everyautocall is larger. - Lower prompt cache costs on long prompts you send once. A long prompt is now written to the provider’s cache when it comes back, not the first time, so a document you send once no longer pays the cache write. Conversations and sessions are cached from the first turn, as before.
- Two new providers, Alibaba Cloud (US) and Alibaba Cloud (International). 34 more models you can name, the Qwen family among them, with the processing location of each shown on the Models page. Automatic routing keeps choosing from the same models as before.
- More models to choose from. The catalog carries 43 more models you can name, from every provider Zabio serves, each at the provider’s own list price. Automatic routing keeps choosing from the same models as before.
- A fresh look for every email. Sign-in links, receipts, balance notices and invitations now share one clear layout, addressed to you by name, with the Zabio logo, in English or Spanish, and replies reach our support team.
- Sign in with GitHub, next to Google, a password and the email link.
- Automatic top-ups. Credit is added automatically when your balance runs low, up to a monthly cap you choose.
- The Free plan. Start without a card: 100 requests a day on a set of fast models.
- Move credit between your organizations. Owners can transfer paid credit from one organization to another from the Billing page.
- Better observability. The dashboard shows your cache hit rate, your cost per million tokens and your spend by kind of work, and a new Logs page shows how long each call took.
- Security improvements across sign-in, accounts and payments, including better fraud protection for sign-ups and payments.