
Consider the kind of name string AI vendors now produce: "GPT-5.6 Sol in Codex on Pro." That sounds like one product. It can contain a generation, a model tier, a product surface, and a subscription plan. OpenAI's public GPT-5.6 page says Sol, Terra, and Luna are capability tiers, and that GPT-5.6 models will be available through the API and Codex for select partners. OpenAI's help center also uses Pro for two subscription tiers. Welcome to the problem.
Cute names can work. Haiku, Sonnet, and Opus were cute and useful. Nano Banana is cute and, against all professional instinct, memorable. The failure comes from vendors using the same words for different axes.
The four axes vendors keep mixing together
The clean way to read any model picker is to ask which axis each word belongs to.
Those axes are independent. You can run a strong model at low effort, a cheaper model at high effort, or a coding product on an expensive plan while still using a medium model. A sane naming system would keep the words separate.
The current system heard that suggestion, opened the thesaurus, and blacked out.
OpenAI put Pro on the model and the bill
OpenAI's public GPT-5.6 naming is not hard by itself. In the GPT-5.6 Sol preview, OpenAI says the number identifies the generation while Sol, Terra, and Luna identify capability tiers. The pricing also makes the ladder obvious. Sol is $5 per million input tokens and $30 per million output tokens. Terra is $2.50 and $15. Luna is $1 and $6.
That part is fine. Sun, Earth, Moon. You can quibble with the astronomy department later.
The trouble starts when those names enter the rest of OpenAI's product language. GPT-5.5 is available in ChatGPT and Codex, and gpt-5.5-pro is a separate API model priced at $30 per million input tokens and $180 per million output tokens. At the same time, ChatGPT Pro is a subscription plan, except there are two Pro tiers. Pro $100 gives 5x higher usage than Plus. Pro $200 gives 20x higher usage than Plus.
So "Pro" can be a model suffix, a subscription tier, or a family of subscription tiers. It is doing the work of three nouns while dressed as one adjective.
Codex adds another layer. In the Codex app announcement, OpenAI describes Codex as a desktop app, a command center for agents, and something available across CLI, web, IDE extension, and app surfaces. When someone says a model "will be in Codex," Codex is the product surface. It is where the model runs, not the capability tier.
Then there is effort. OpenAI's API docs say reasoning.effort guides how much the model thinks, with values that can include none, minimal, low, medium, high, and xhigh. That is another axis. It changes runtime behavior for a request. It should not need a brand name, a pricing page, and a support thread.
The safe OpenAI translation is:
If a sentence contains "GPT-5.6 Sol in Codex on Pro", you now need a parser, not a product manager.
Anthropic had the clean poem ladder and then added mythology
Anthropic's original naming ladder did real work. Haiku was small. Sonnet was medium. Opus was large. You could explain it to someone in one sentence and still have most of your lunch break left.
The current Anthropic stack is still more coherent than the others, but it is no longer that simple. The Claude models overview says users should start with Opus 4.8 for complex agentic coding and enterprise work, and use Fable 5 for the highest available capability. The Fable/Mythos launch post says Mythos-class models sit above Opus. Fable 5 is a Mythos-class model with additional safeguards and monitoring. Mythos 5 is the same underlying model with some safeguards lifted for approved customers.
That means the capability ladder now ends at a Mythos-class tier. Fable 5 is the broadly available Mythos-class model. Mythos 5 is the restricted variant with some safeguards lifted.
Then the plan names use a different ladder. Claude pricing has Pro at $20 monthly, or $17 per month with annual billing. Max starts from $100 and offers 5x or 20x more usage than Pro. This is clear enough if you only live inside Claude's billing page. It becomes confusing when you compare it to OpenAI, where Pro is the expensive tier, or Google, where Ultra is the expensive tier.
Anthropic also has an effort axis. The effort docs describe effort as the control for trading off intelligence, latency, and cost on Fable 5. They recommend high as the default, xhigh for capability-sensitive work, and medium or low for routine work. They also define max.
Then comes ultracode, which sounds like someone dared the naming meeting to keep going. Anthropic's docs are unusually clear here. ultracode appears in Claude Code's effort menu, but it is not an API effort level. It pairs xhigh effort with standing permission for Claude Code to launch multi-agent workflows.
That is a good feature description hiding inside a terrible label. No billboard campaign would pick "xhigh plus allowed subagents." It would prevent at least one engineer from asking whether ultracode is above max.
Google turned Ultra from a model into a bill
Google is the best warning because it shows a word migrating between axes over time.
When Gemini launched, Google described Gemini Ultra as the largest and most capable model, Gemini Pro as the broad scaling model, and Gemini Nano as the efficient on-device model. Ultra, Pro, Nano. Capability ladder. Fine.
Now Google AI Ultra is a subscription plan. The $100 AI Ultra tier gives 5x higher usage than the Pro plan in the Gemini app and Google Antigravity. The top AI Ultra tier is $200 and gives 20x higher usage than Pro. Ultra used to mean the biggest model. Now it also means the bigger bill.
The model names still have their own vocabulary. Google's Gemini API models page includes Flash-Lite, Pro, Deep Research Preview, Deep Research Max Preview, and Antigravity Agent Preview. The same page also explains stable, preview, latest, and experimental version aliases. This is useful if you build against the API. It is less useful if you are trying to rank names by common English meaning. "Deep Research Max Preview" sounds like a leaked Xbox SKU.
Nano Banana is where the comedy becomes educational. Nano Banana was Google's name for Gemini 2.5 Flash Image. Nano Banana Pro is Gemini 3 Pro Image. Nano Banana 2 Lite is Gemini 3.1 Flash Lite Image. The same Google page says Nano Banana Pro is optimized for complex professional use cases, while Nano Banana 2 Lite is built for speed.
So the way to rank the bananas is to stop reading the bananas and translate them back into Gemini model names. This is also how archaeology works.
Apple is the short warning label
Apple helped normalize adjective inflation before the AI naming mess. In 2021, Apple introduced M1 Pro and M1 Max, with Max above Pro. In 2022, M1 Ultra connected two M1 Max dies and sat above Max.
That gives you base, Pro, Max, Ultra. Pro used to mean the serious one. Then Max appeared above Pro. Then Ultra appeared above Max. The AI industry looked at that ladder and decided the problem was that it did not have enough axes.
The decoder
Here is the field guide. Keep it nearby. Laminate it if your procurement team asks you which plan buys which model in which app.
The weird words are manageable. "Fable" is odd, but at least it is mostly Anthropic's word. "Nano Banana" is ridiculous, but it is searchable. Pro, Max, and Ultra are more dangerous because they feel universal while meaning different things in each product.
A naming standard that would make this boring
The fix is not hard. It is so boring that no launch team will accept it without adding a mythical animal and a gradient.
First, model capability should have one ladder. Use S, M, L, and XL, or use a provider-specific metaphor if you must. The rule is that the words only belong to model capability. If "Opus" means large model, it never becomes a subscription plan. If "Ultra" means plan, it never becomes a runtime mode.
Second, plans should be named by quota. 1x, 5x, and 20x are less glamorous than Pro, Max, and Ultra, but they tell you what you are buying. Anthropic is closest here with Max 5x and Max 20x, except the word Max still adds fog.
Third, effort should remain a parameter. Low, medium, high, xhigh, and max are fine as API values. They should not become public model names unless the goal is to turn every support page into a vocabulary quiz. If a mode allows subagents, call that agents: many or "multi-agent mode". Do not call it a prophecy.
Fourth, products should keep product names. Codex, Claude Code, and Antigravity are products. They can have model pickers and effort settings inside them, but their names should not be glued onto the model name like a racing sponsor.
The translation map
Using that standard, the current mess becomes readable.
This map is less exciting than "Pro Max Ultra Fable Sol". That is the point. Naming should tell you which thing you are buying, which thing you are running, and which dial you turned. It should not require three pricing pages, a model card, and a minor in comparative fruit studies.
The boring standard would never trend. That is exactly why it would work.