# Gemini 3.7 Flash now runs as 3.8 Flash: what to check

> Google quietly routes gemini-3.7-flash calls to 3.8 Flash. Check your logs, the minimal thinking error, and the Jan 1, 2027 price doubling. Scanner and test included.

Canonical: https://www.nihardaily.com/posts/gemini-37-flash-now-runs-as-38-flash-what-to-check
Last updated: 2026-10-28

- Published: 2026-10-28
- Author: Nihar Ranjan Das
- Reading time: 9 min
- Categories: AI
- Tags: gemini, llm costs, google ai, api deprecation, gemini 3.8 flash

## Key takeaways

- Google routes gemini-3.7-flash calls to gemini-3.8-flash and gemini-3.5-flash calls to gemini-3.6-flash, so the model name in your logs no longer tells you which model answered.
- The minimal thinking level is not supported on Gemini 3.8 Flash and returns an error, so any call that set it needs the low level instead.
- Gemini 3.8 Flash and 3.6 Flash prices double on January 1, 2027, from $0.75 and $3.75 to $1.50 and $7.50 per million input and output tokens.

If your code calls `gemini-3.7-flash`, Gemini 3.8 Flash is answering. Google's deprecations page says the old endpoint "is not shutting down and automatically routes API requests" to the newer model. Nothing errors, your logs still show the old name, and your quality charts now mix two different models under one misleading label, which makes every week-over-week comparison unreliable.

<!-- UNIQUE INSIGHT: runtime served-model check plus Jan 2027 price table-->
This post shows how to detect the swap in your own traffic, which settings now fail, and what the January 1, 2027 price doubling costs on three typical workloads.

## What exactly changed in the Gemini API?

Google now routes two older Flash model names to newer models. Calls to `gemini-3.7-flash` are served by `gemini-3.8-flash`, and calls to `gemini-3.5-flash` are served by `gemini-3.6-flash`. The [Gemini API deprecations page](https://ai.google.dev/gemini-api/docs/deprecations) lists both rows with the note that the endpoint is not shutting down.

**Gemini 3.8 Flash** is Google's current Flash-tier model for software engineering, agents and enterprise workflows. Its model code is `gemini-3.8-flash`. It accepts text, image, video, audio and PDF input, returns text, and has a 1,048,576-token input limit and a 65,536-token output limit, according to the [Gemini 3.8 Flash model page](https://ai.google.dev/gemini-api/docs/models/gemini-3.8-flash).

BuildMVPFast, an independent developer blog, dates the routing to October 8, 2026 and calls it the "silent swap" in its [October deprecation roundup](https://www.buildmvpfast.com/blog/gemini-api-deprecation-october-2026-flash-routing). Google's own page lists the replacement but does not print a routing date in the rows we read, so treat October 8 as a secondary-source date that Google runs under a different release timeline.

The same roundup lists other October changes:

| Date (2026) | Change | What to do |
|---|---|---|
| October 6 | Nano Banana 2.1 generally available, `gemini-3.1-flash-image` deprecated | Test `gemini-nano-banana-2.1` |
| October 8 | `gemini-3.7-flash` routes to `gemini-3.8-flash` | Update the model string |
| October 8 | `gemini-3.5-flash` routes to `gemini-3.6-flash` | Update the model string |
| October 22 | Veo 3.1 previews and `gemini-omni-flash-preview` shut down | Move to `gemini-omni-1.1-flash` |
| October 23 | `deep-research-pro-preview-12-2025` shut down | Change the agent name |
| November 17 | Older TTS and Live previews shut down | Move to the 3.8 TTS and Live models |

## Why is a silent model swap a problem?

A silent swap breaks three things at once: your quality tracking, your cost reports and your prompts. Requests still succeed, so no alert fires, and the first sign is usually a user complaint or an evaluation score that drifts without any code change to explain it.

Quality tracking breaks because your dashboards group by the model name you sent, so after the swap a chart labelled `gemini-3.7-flash` contains answers from 3.8 Flash, and any week-over-week comparison that spans the swap compares two different models.

Cost attribution breaks in the same fashion, because the two models may share an identical price today while the recorded label no longer identifies which model actually generated the billable tokens.

Prompt behaviour degrades last and hurts most, since a carefully engineered prompt tuned against 3.7 Flash may produce noticeably different formatting, verbosity or tool-calling decisions on 3.8 Flash. One engineer quoted in the roundup said 3.7 Flash "did exactly what I told it to do" and asked why it was pulled. That is one anecdote, not a benchmark. It is still a good reason to re-run your own test set.

## Which setting now returns an error?

The `minimal` thinking level returns an error on Gemini 3.8 Flash. The model page lists thinking as supported at low, medium and high, and adds the note: "minimal is not supported and returns an error." If your 3.7 Flash calls asked for minimal thinking, they now fail after routing.

This is the one hard failure in the swap. Everything else degrades quietly.

Check for it with a search across your repo and your code editor workspace. The scanner below flags the old model names, the minimal level, the shut-down Deep Research agent and the deprecated image model.

```bash
#!/usr/bin/env bash
# Usage: ./scan-gemini.sh path/to/repo
root="${1:-.}"
check() { printf '\n== %s\n' "$1"; grep -rnEi --include='*.py' --include='*.ts' --include='*.tsx' --include='*.js' --include='*.mjs' --include='*.json' --include='*.yaml' --include='*.yml' --include='.env*' --exclude-dir=node_modules --exclude-dir=.git "$2" "$root" || echo "  (none)"; }
check "Models that now route elsewhere"   'gemini-3\.(5|7)-flash($|[^-])'
check "Minimal thinking level (errors on 3.8 Flash)" 'thinking_?level.{0,12}minimal|"minimal"'
check "Retired Deep Research agent"       'deep-research-pro-preview-12-2025'
check "Retired image model"               'gemini-3\.1-flash-image'
```

<!-- ORIGINAL DATA: scanner run on a planted-risk fixture-->
**Test setup.** We ran the scanner on a three-line Python fixture containing one old model name, one minimal thinking level and one retired Deep Research agent (our lab, 2026). It flagged all three planted risks and reported "(none)" for the image model the fixture did not use. That is three of three planted risks found, with no false positive on that fixture.

The scanner is a grep. It cannot see a model name assembled at runtime or read from a database. Search your config store as well.

## How do I detect the swap in live traffic?

Compare the model you requested with the model that answered, on every response. The Gemini response carries a `modelVersion` field that reports the serving model. A thin wrapper can log both and fail loudly when they differ.

```javascript
export function checkServedModel(requested, response, { strict = false } = {}) {
  const served = response.modelVersion ?? "unknown";
  const swapped = served !== requested && !served.startsWith(requested + "-");
  if (swapped) {
    const msg = `requested ${requested} but ${served} answered`;
    if (strict) throw new Error(msg);
    console.warn(msg);
  }
  return { requested, served, swapped };
}
```

**Test setup.** We tested the wrapper with four assertions against mocked responses (our lab, 2026): a 3.7 request answered by 3.8 is flagged, an exact match is not, a versioned suffix such as `gemini-3.8-flash-001` is not, and strict mode throws. All four passed.

One limit matters. We had no Gemini API key for this run, so we did not call the live API. We do not know from our own testing whether `modelVersion` reports the routed model or the requested alias on a rerouted endpoint. Run one live call and print the field before you trust the check. If it echoes the alias, log the response headers and your provider's usage metadata instead.

Store the served model next to the requested one in your logs. Then group quality and cost charts by the served value.

## What does the January 1, 2027 price change cost?

Gemini 3.8 Flash and Gemini 3.6 Flash both cost $0.75 per million input tokens and $3.75 per million output tokens through December 31, 2026. On January 1, 2027, both double to $1.50 and $7.50. The [Gemini API pricing page](https://ai.google.dev/gemini-api/docs/pricing) prints both dates on the same rows.

So routing does not change your price today, but the doubling lands within weeks. A 2x rise on a model you did not choose is the part worth planning for.

<!-- UNIQUE INSIGHT: cost per 1,000 requests before and after the Jan 2027 doubling-->
We priced three illustrative workloads from the published rates. The token counts are examples, not measurements of your traffic.

| Workload | Input / output tokens | Per 1,000 requests, 2026 | Per 1,000 requests, from Jan 1, 2027 | 1M requests per month, 2026 | 1M requests per month, 2027 |
|---|---|---|---|---|---|
| Short chat | 800 / 300 | $1.73 | $3.45 | $1,725 | $3,450 |
| Agent step | 3,000 / 400 | $3.75 | $7.50 | $3,750 | $7,500 |
| RAG answer | 6,000 / 600 | $6.75 | $13.50 | $6,750 | $13,500 |

![Cost of three Gemini 3.8 Flash workloads per 1M requests doubles on January 1, 2027, for example a RAG answer from $6,750 to $13,500](https://www.nihardaily.com/posts/gemini-37-flash-now-runs-as-38-flash-what-to-check/chart-price.webp)

A RAG-style workload at one million requests a month goes from $6,750 to $13,500 (our calculation, 2026). The extra $6,750 a month is the budget line to raise now.

Gemini 4 Argon is also on the pricing table, and our earlier piece on the Gemini 4 Argon price doubling on December 1 covers what you will pay there. If you are choosing a model to pin, compare the Flash and Argon totals together rather than one at a time.

## How do I migrate off the old model name?

Pin an explicit current model, test it, then roll it out behind a flag. The steps below keep the swap visible instead of silent.

1. Run the scanner and list every file that names `gemini-3.5-flash` or `gemini-3.7-flash`.
2. Change the model string to `gemini-3.8-flash` (or `gemini-3.6-flash` for the older route) in staging.
3. Replace any `minimal` thinking level with `low`, the lowest supported level, and contact Google support if your enterprise contract pins a model version.
4. Re-run your saved test prompts and compare output format, length and tool-call behaviour with your last good run.
5. Add the served-model check and log both names.
6. Roll out at 5 percent of traffic, then 50, then 100.
7. Update the budget for the January 1, 2027 rates.

Step 3 is a judgement call. Google lists `low` as the lowest supported level, but its output may cost more tokens than your old minimal setting did. Measure cost per request before and after.

## What happened to Deep Research and the image model?

The old Deep Research agent shut down for real on October 23, 2026, and the endpoint no longer works. Unlike the Flash models, it is not routed. The roundup lists two replacements, both previews: `deep-research-preview-04-2026` for speed and streaming, and `deep-research-max-preview-04-2026` for the most thorough research.

Swapping the agent name is the straightforward part of the migration, and the editorial structure of the generated reports is the difficult part. The roundup quotes a developer's advice to rerun a few saved research tasks and check that the new reports still parse in your pipeline. A new agent can change report length and layout, and code that extracts sections breaks first.

Both new agents are previews. The roundup notes that Google retired `antigravity-preview-05-2026` on October 5 after less than five months. Plan for another swap.

Video builders face a similar clock. Our comparison of Veo 3.1 and Gemini Omni Flash, with what 30 seconds of video costs, covers the October 22 shutdown of the Veo 3.1 previews.

## Does the Gemini 2.5 family have a deadline too?

The answer is not a shutdown date but an access restriction that affects organisations differently depending on their account history. The roundup reports that since September 18, Google limits the 2.5 models to accounts that used them before. The deprecations page lists the 2.5 models as not deprecated, served until further notice, and recommends 3.5 Flash-Lite or 3.8 Flash for new projects.

New projects cannot count on 2.5 access. Existing projects keep it for now. Do not build anything new on 2.5 because the access rule can tighten again.

## Should I upgrade now or wait?

Move off the old names now, and pin the model you actually want. The routing is already live, so waiting does not keep you on 3.7 Flash; it only keeps you unaware that you left it, and the fact-check you skip today becomes the incident review you hold in January.

Three actions are worth doing this week:

- Run the scanner and fix any `minimal` thinking level before it errors in production.
- Add the served-model check so your charts stop mixing models.
- Put the January 1, 2027 price doubling into next quarter's budget.

Wait on one decision only: whether to stay on Flash or move up to Argon. That depends on your own quality evaluation, not on the deprecation notice.

## FAQ

### Is gemini-3.7-flash shut down?

No. Google's deprecations page says the endpoint is not shutting down. It automatically routes requests to `gemini-3.8-flash`. The model name still answers, but a different model produces the response. Your logs and quality charts keep showing the old name, so add a served-model check to see what actually answered.

### Does gemini-3.8-flash support minimal thinking?

No. The Gemini 3.8 Flash model page lists thinking as supported at low, medium and high, and states that minimal is not supported and returns an error. Switch to `low` and re-measure cost. Use the low level instead, then measure cost per request, because low may spend more thinking tokens than your old setting did.

### How much does Gemini 3.8 Flash cost?

Through December 31, 2026, it costs $0.75 per million input tokens and $3.75 per million output tokens. From January 1, 2027, the prices double to $1.50 and $7.50, according to Google's pricing page. Google's pricing page prints both dates on the same rows, so a workload at one million requests a month can double its bill in January.

### How can I tell which Gemini model answered my request?

Read the `modelVersion` field on the response and log it beside the model you requested. Test it with one live call first, because routed endpoints may report the alias instead. Run one live call and print the field, because we tested the wrapper only against mocked responses and had no Gemini API key.

## Related

- [Nihar Ranjan Das](https://www.nihardaily.com/author/nihar-ranjan-das)
- [Are agent skills safe to install? A 1.7M-install trojan](https://www.nihardaily.com/posts/are-agent-skills-safe-to-install-a-17m-install-trojan)
- [Claude Sonnet 4.5 retires Nov 30: what breaks on 5.5](https://www.nihardaily.com/posts/claude-sonnet-45-retires-nov-30-what-breaks-on-55)
- [AI coding tools hid 15 GB on my Mac. unclog found it](https://www.nihardaily.com/posts/ai-coding-tools-hid-15-gb-on-my-mac-unclog-found-it)
