When Pro is not quite Pro—farewell, Claude in Antigravity!
I might seem unreasonable to castigate Google’s new policies towards Pro plans obtained via bundled promotions or “partner benefits,” but even if such plans were unfair to the majority of Pro customers (who paid much more), Google’s change of mind is a breach of trust and possibly a breach of contract relative to such privileged Pro customers (although I’m sure there was some fine print somewhere that might be interpreted as allowing such a change). It was almost a free ride, but Google agreed to it—until it stopped doing so!
A big change for “promotional Google AI Pro” plans
I didn’t open Antigravity IDE for about two weeks. When I opened it today, I noticed a discombobulating situation. The list of models was this one:
- Gemini 3.8 Flash
- Claude Sonnet 4.6
- Claude Opus 4.6
- GPT-OSS 120B
For the last 3, there were (and still are) the following notices:
- “Sonnet 5.5 is available on paid Pro and Ultra plans. Third-party model access will no longer be available on your current plan starting on November 2, 2026.”
- “Opus 5.5 is available on paid Pro and Ultra plans. Third-party model access will no longer be available on your current plan starting on November 2, 2026.”
- “GPT-OSS will be removed from Antigravity on November 2, 2026.”
The problem is two-fold:
- I am on Google AI Pro (5 TB), so why aren’t Sonnet 5.5 and Opus 5.5 available in Antigravity IDE?
- In the web interface, I can use Gemini 3.1 Pro and Gemini 4 Argon. Why aren’t they available in Antigravity IDE?
Antigravity CLI (agy) offered the same models, minus those notices (it’s a CLI UI). While agy wasn’t able to show small “i” circles that would trigger informative bullets, it offered a piece of information that the IDE missed: Gemini 4 Argon could have been available, but it’s not!

Google’s changes—and new restrictions
Perplexity told me the answers are in the official “Google Antigravity﹥Choose a model” page. What I could learn from that page:
- Gemini 3.1 Pro is now (since when?!) only available to Enterprise plans.
- Gemini 4 Argon, Claude Sonnet 5.5, and Claude Opus 5.5 are available on Google AI Pro “for non-trial” subscriptions only.
- Gemini 4 Argon is also not available in Antigravity IDE, but only in the Antigravity App, Antigravity CLI, and “IDE extensions”.
My cheap “bundle” apparently qualifies as a “trial Pro”! Perplexity also said that any “promotional” Pro subscription is considered a “trial” (as opposed to “a directly billed Pro subscription”)!
However, the last one is the most retarded one! Antigravity IDE is an IDE to which the AI capabilities are functional extensions, albeit not packaged and installed as extensions! How can a Gemini model be available in a CLI UI but not in an IDE, both being Antigravity by Google?
My dirt-cheap Pro plan is almost a fraud, but gazillions of Indians benefited from it, and if you know someone who could use a specific SIM to activate it for an existing Google account, you’re done (you don’t need to tell them your credentials). So this is my plan—the plan that is no longer “truly Pro”:
Google AI Pro (5 TB)
Offered through Jio
Member since May 16, 2026
So Gemini 3.8 Flash is the only model by Google available to my Pro plan. It’s the only model that will be available to me for coding starting on November 2, 2026!
As a side surprise, I didn’t notice the earlier disappearance of Gemini 3.1 Pro from all Pro plans, even those billed directly! I’m pretty sure it was still available about a month ago, and it was certainly available back in May! I did use it, alright.
People complained on Google’s AI Developers Forum
It was easy to find five Discourse threads regarding this specific issue.
🧵 Started on Oct. 5: Claude models not included in plan
- “I have Google AI Pro for 12 months but I got this notification.”
- Answer: This notification is related to how third-party models are scoped across trial/promotional versus paid (non-trial) Google AI Pro plans in our Models documentation:
- Why You See This Notification on a 12-Month Plan: Under our Models availability policy, Claude Sonnet 5.5 (Thinking) and Claude Opus 5.5 (Thinking) are available on Google AI Pro for non-trial (directly billed) subscriptions only (as well as Google AI Ultra). If your 12-month Google AI Pro plan is a promotional offer, student trial, device bundle, or partner-provided benefit, it is classified as a trial/promotional subscription rather than a billed non-trial plan.
- What Changes on November 2, 2026: As noted on the Models page, legacy third-party models (Claude Sonnet 4.6, Claude Opus 4.6, and GPT-OSS-120b) will be retired on November 2, 2026. After that date, third-party Claude 5.5 models will only be accessible on directly billed (non-trial) Google AI Pro and Google AI Ultra plans.
- Your Gemini Models Remain Fully Included: All frontier Gemini models—including Gemini 3.8 Flash, Gemini 3.7 Flash, Gemini 3.6 Flash, and Gemini 3.1 Pro—remain fully available on your 12-month Google AI Pro plan (Plans documentation).
The answer and the Plans documentation page are wrong regarding Gemini 3.1 Pro: it’s now restricted to Enterprise plans! The Models page is true to reality.
🧵 Started on Oct. 3: Why is it not showing Opus 5.5 and also telling me that third-party models will be removed
Answer (excerpt): If your Google AI Pro plan is currently on an introductory trial, device promo (e.g., Pixel, Chromebook), or partner benefit (e.g., Jio), it is classified as a promotional plan and does not include Claude 5.5 access.
🧵 Started on Oct. 3: Antigravity Pro subscription not showing third-party models
🧵 Started on Oct. 15: Jio Google AI Pro Users Will Lose Access to Claude 4.6 and GPT-OSS 120B After November 2, 2026
There are two parts to this change:
- Retirement of Legacy Third-Party Models: Claude Sonnet 4.6 (Thinking), Claude Opus 4.6 (Thinking), and GPT-OSS 120B (Medium) are being retired across all Antigravity plans on November 2, 2026.
- Eligibility for Newer Third-Party Models (Claude 5.5): Due to the high compute and licensing costs of running frontier third-party models inside autonomous coding agents, access to the newer Claude Sonnet 5.5 and Claude Opus 5.5 models is limited to non-trial, directly paid Google AI Pro and Google AI Ultra subscriptions (as well as Enterprise plans). Because the 18-month Jio-bundled Google AI Pro offer is provisioned as a promotional extended-trial membership, it does not include access to third-party partner models after the legacy models retire on November 2, 2026.
While third-party partner models will no longer be included on promotional/trial plans after November 2, 2026, your Jio-bundled Google AI Pro membership continues to include full Google AI Pro tier access for first-party Gemini models:
- Full access to Gemini 3.8 Flash across Low, Medium, and High thinking levels (as well as Nano Banana 2 for image generation).
- Google AI Pro quota limits refreshed every 5 hours (compared to the weekly refresh on the Free tier).
The current window through November 2, 2026 serves as the transition grace period—we kept Claude 4.6 and GPT-OSS 120B active on promotional and trial plans after launching Claude 5.5 specifically so existing users would have advance notice before the retirement date.
It’s provisioned as my ass! A transition grace period before being sodomized, yeah. If this is how they want to entice people into purchasing a full subscription, thanks, but no, thanks.
🧵 Started on Oct. 13: I am getting notice … even though I have Google AI Pro
- If your Pro plan is through Jio then that’s intended (IIRC is due to capacity constraints). To get access to those models your must subscribe to a Pro plan directly with Google or get a subscription with another service provider (not Google).
- Trial plans, device promotions and partner benefits (such as your plan provided through Jio) are considered promotional plans and do not include access to Claude 5.5, which is why you see the expiration notice for November 2. Additionally, subscriptions provided through select partners like Jio are also not eligible for the YouTube Premium Lite benefit.
OK, ho capito.
Using Claude Opus 4.6 and Sonnet 4.6 for the last time in Antigravity
Since I don’t trust Gemini 3.8 Flash for coding, and Gemini 3.1 Pro is only available in the web interface and in the apps, but not in Antigravity, I thought of using Claude’s models one last time.
You see, there was something I needed to investigate. My Internet Radio player that collects ~500 Internet radio streams is based on a WordPress plugin that is imperfect. It’s not in its latest version because I forked it (so to speak), so maybe the original one has fixed some of the bugs, although I wouldn’t hold my breath. Either way, there was something that bothered me: for some radio streams, it didn’t display the “now playing” info, despite the respective info being shown by other players that played the same streams!
Let’s get clear: some streams don’t include such info. Sometimes, when you play an Internet radio stream using the official website, an official player, or an official app, the “now playing” data might be obtained separately, as the UI might want to display an adapted album cover, for instance. What I am talking about are the streams publicly available for general consumption. Databases like FMSTREAM.org or radio-browser.info don’t include all the streams I needed, and in too many cases there are too many duplicates or poorly defined streams, so I used any means available to find out the URLs of the streams I needed.
But I knew that some streams are not properly handled by my Internet radio player. Here’s an example: the Belgian VIVA+ (mind the “+”!). My player only shows a scrolling VivaPlus, whereas Shortwave under Linux and Freqcast under Android have no problems showing the title of the played track (piece)!
To answer a possible question: no, I could not use any of the aforementioned apps for several reasons. Firstly, both are based on radio-browser.info, which is a mess and lacks most of the streams I need. Then, each has its own quirks. Shortwave focuses on the possible wish to record radio streams, and even if I don’t care about recording, the GUI is polluted with the names of the previously played tracks and the info that they weren’t recorded. Freqcast can be used to discover streams in pages, and I could add streams by hand, but the process is cumbersome, and the UI is not practical: saved stations take too much vertical space. I examined the source code, and it’s not bad, but there’s still no way I’d use this app! (Its widget doesn’t work well on my phone, either.) For the technically curious: 21 .md files in .claude/skills, 61 .md files in docs, and I found Station discovery & stream validation and WebViewStreamSniffer.kt to be quite fascinating.
Back to our ship, I started with the following knowledge:
The VIVA+ streams I use:
- https://radio.rtbf.be/vivaplus/aac-128
- https://radio.rtbf.be/vivaplus/mp3-160
- https://radios.rtbf.be/vivaplus-128.mp3
The list of possibilities regarding “now playing” info:
- Some streams have neither ICY nor ID3v2 data (not the case here).
- Some streams include “now playing” in the ICY data (this is the best-case scenario).
- Some streams include “now playing” in the ID3v2 data embedded in the MP3/AAC frames (this is what I suspected to be the case here).
- Some streams just don’t include “now playing” anywhere (not the case here).
- Some streams have ICY data that only includes the name of the station (the case at hand).
What I wanted from an LLM was to inspect the code of Shortwave and Freqcast and find out what they do that my player didn’t, and to suggest ways of fixing my player, if possible.
Claude Opus 4.6 (Thinking)
As I said, there’s no way I’d trust Gemini 3.8 Flash to have the necessary depth to analyze 3 software projects spread across Rust, Kotlin, PHP, and JS, and port missing functionality to one of them! So I judged Opus to be a better choice than Sonnet.
After a number of steps that totaled about 8m40s of AI activity, guess what happened?

Life went on, meaning that I let it rest for 5+ hours.
Claude Sonnet 4.6 (Thinking)
OK, Opus is expensive, and it has already discovered some relevant things, so this time I told Sonnet to continue.
Despite the preserved context (Antigravity IDE was left untouched) and the updates to PLAN.md made by Opus, Sonnet started to drift away. I let it wander, while wondering why it was so keen to find a specific fix for VIVA+, when the instructions were clear: VIVA+ is only an example, but what I want is a generic fix, namely, to have my plugin behave exactly like those two apps as far as displaying the “now playing” info is concerned!
6 minutes later, I told it to stop chasing wild geese. It answered:
You’re right, I apologize. I chased a station-specific rabbit hole instead of answering the fundamental question: what do Freqcast and Shortwave do generically that radio-player doesn’t? Let me focus entirely on that now.
It wasted 6 minutes. 2 minutes later, it developed a fix and asked me if I agreed to modify the only file that needed to be changed: a certain functions.php (duh).
I agreed. But then…

“Resets in 158 hours”?! You want me to upgrade to a Google AI Ultra plan, eh? No shit! Life is sooo beautiful!
Gemini 3.8 Flash (what else?)
The implementation of the already designed improvement was something that Gemini 3.8 Flash was able to handle. The result:
- 296 lines added
- 36 lines deleted or changed
From what was left in Plan.md:
Current State
- Fix implemented in
radio-player/includes/functions.php.radio_player_get_stream_title()now uses cURL to follow redirects, inspects multiple ICY metadata blocks in the connection burst to capture song titles when they differ from the initial station greeting, and includes an in-band ID3v2 frame parser (radio_player_parse_id3v2()) for streams carrying ID3 tags in the audio data. Fallback tofopenwith redirect handling and sequential chunk reading is also preserved. Ready for user verification.Completed Steps
- Probed all 3 RTBF Viva+ streams: 302-redirect to QuantumCast;
icy-metaint: 8192confirmed.- Analyzed Freqcast:
StreamRecorderopens a persistent parallel OkHttp connection withIcy-Metadata: 1; reads the stream indefinitely, skipping empty ICY blocks until a realStreamTitlearrives. ExoPlayer plays from the local buffer file.- Analyzed Shortwave: GStreamer
uridecodebinwithsouphttpsrcsendsIcy-MetaData: 1automatically;icydemuxdemuxes ICY and ID3v2 transparently;GST_MESSAGE_TAGfires whenever title changes.- Analyzed
radio-playerfunctions.php: Identified root causes:
- 302 redirects were not followed by default
fopen()stream context.- Seeking with
stream_get_contents($stream, 300, $icy_metaint)on non-seekable HTTP stream only read the first block (which in QuantumCast is always the static station greetingVivaPlus).- Lack of in-band ID3v2 parser for streams transmitting metadata within MP3/AAC frames.
- Implemented Fix in
radio-player/includes/functions.php:
- Added
radio_player_parse_id3v2(): Decodes ID3v2.3 and ID3v2.4TIT2(title) andTPE1(artist) frames from stream audio buffers.- Replaced
radio_player_get_stream_title():
- Uses cURL with
CURLOPT_FOLLOWLOCATION => true,CURLOPT_HEADERFUNCTIONto parseicy-metaintandicy-name, andCURLOPT_WRITEFUNCTIONto stream chunks.- Sequentially skips audio intervals and parses ICY blocks across the pre-buffer burst (up to 60 blocks, ~0.4s), detecting when the title changes from the initial station greeting to the real song track title and aborting transfer immediately upon match.
- Scans audio buffer for in-band ID3v2 tags if ICY metadata is not present or yields no track title.
- Includes fallback using
fopenwithstream_context_create(follow_location => 1) and sequentialfread()reading if cURL is unavailable.Next Steps
- Task 1: Port or test
functions.phpon the WordPress server and verify real-time title updates on RTBF Viva+ streams.Known Issues
- None remaining in the local codebase; code changes are self-contained and verified.
Indeed, now VIVA+ (and other streams that had this info but it was not extracted) works better:

This doesn’t mean that all stream-related weaknesses of this player are solved! The scrolling line that displays the “now playing” information is occasionally wrong for reasons such as:
- The stream doesn’t update the ICY data in a timely manner, resulting in old (or sometimes frozen) info. I’ve seen streams that had the same ICY data for days!
- The ID3v2 data can be updated once in, say, 30 seconds, resulting in old or, sometimes, advanced data: the next title is prematurely shown.
- The widget misses an ID3v2 data packet, or it didn’t arrive yet in the stream (it should be repeated during a track, but how often that happens depends on the stream), resulting in no displayed information or—and this is a bug!—displaying the data for the track played on a previously played stream!
But it’s no big deal.
Quotas, quotas, quotas!
The most striking aspect of the fuzzy quotas with Gemini plans (with everyone’s, really) isn’t the lack of a specified number of tokens (100% OF WHAT?!), but the fact that there are 3 distinct quotas that are exhausted independently:
- The quota for chatting or for use in apps.
- The quota for coding WITH GEMINI MODELS in Antigravity CLI, Antigravity IDE, or other tools (such as omp.sh).
- The quota for coding WITH CLAUDE AND GPT MODELS in Antigravity CLI, Antigravity IDE, or other tools.
In this case:
- When the Claude quota was exhausted, Antigravity CLI showed the quota for coding WITH GEMINI MODELS at 100%.
- When I finished working with Gemini 3.8 Flash, Antigravity CLI showed the quota for coding WITH GEMINI MODELS at 98.14% for 5 hours and at 99.47% for the week.
- However, the usage shown in the browser was 100% for the week! Coding didn’t eat from the general quota!



omp shows more Gemini models than are actually available for me, but there’s an explanation for that:
I should pay for them! Incidentally, there’s even data regarding the token cost of Gemini 3.8 Flash, among others:

Wrapping up
Now what?
There’s going to be a window of ~3 days before November 2 during which I could use Claude for coding. But it appears to me that the quota for non-Gemini models is extremely stingy, practically useless.
Obviously, CLAUDE AND GPT MODELS (I kept the capitals shown by Antigravity CLI) should be used via an API key and a pay-as-you-go model, preferably via a 3rd-party inference (tokens) reseller (such as OpenRouter).
My castrated Pro subscription will continue to prove useful through its larger limits for chatting—although, here too, the 5-hour limit can sometimes be very low for Gemini 4 Argon. It should also offer decent 5-hour and weekly limits for coding with Gemini 3.8 Flash, but I’m not happy with its reasoning performance in either chatting or coding. It can be very, very dumb, but what can I ask of it when even Claude Sonnet 4.6 disappointed me more than once?
The real loss was moving the coding with Gemini 3.1 Pro to the Enterprise tier. I don’t know when this happened, but it’s irrelevant now.
They want us to pay. We’re not living in communism! But I didn’t ask them to invest trillions in this AI bubble! With all the current losses in the AI ecosystem, we’re talking about billionaires getting even richer, while the hoi polloi struggle with immorally high prices for memory, storage, and GPUs!
UPDATE: One more change to the radio player
I still have some time left on a trial account with Alibaba Cloud Model Studio. It’s literally a joke: the web UI is an abomination (to be fair, the Azure Portal and the AWS Management Console are also stinking piles of shit), and the trial offer is more like a demo: 160 models, each with a 1M token allowance! What’s 1M but a joke?
I decided to try Qwen 3.7 Plus served from Alibaba’s Singapore server to omp.sh. I didn’t want to install Alibaba’s Bailian CLI or anything else. In retrospect, I should have chosen a smarter model, but the task was a simple one, and the budget was limited, so a smarter model might have run out of tokens without being able to finish the task, however elementary it was!
What I wanted to accomplish was to add numbers to the list of streams in the radio-playing widget, but only on the desktop—a mobile browser should not change. I could have asked any chatbot how to add numbers to a list of DIVs, but I wanted to see if Qwen could explore an undocumented project.
It did it, of course. Qwen 3.7 Plus isn’t the smartest tool in the box, but it’s perseverant. Being multimodal, it even generated visual mockups on request!
The added CSS had exactly 369 characters, and I didn’t put it in the widget’s default CSS, but in the custom CSS available in its settings UI. The experiment was a success!

Sort of. Because Alibaba notified me that I spent more than 80% of the free quota for the model! Indeed, I was left with only 13.81%! (It was my fault, as it generated the mockups 3 or 4 times! But the first time they were just wrong, as Qwen can and will make mistakes.)

Either way, purchasing tokens from Alibaba is not the best idea. Will keep exploring. I even revisited some arrogant AI coding advice. Now, of course, a quarter of the universe recommends GLM-5.3-Flash (docs), but…

Leave a Reply