Skip to content

Commit eb2d9e4

Browse files
authored
Merge pull request #464 from NoeFabris/codex/main-unpushed-20260218-201821
Add Claude Sonnet 4.6 model + deprecated 4.5 fallback resolver
2 parents f7e0c50 + 19e65a5 commit eb2d9e4

24 files changed

+134
-181
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,7 @@ body:
4343
options:
4444
- antigravity-gemini-3-pro
4545
- antigravity-gemini-3-flash
46-
- antigravity-claude-sonnet-4-5
47-
- antigravity-claude-sonnet-4-5-thinking
48-
- antigravity-claude-opus-4-5-thinking
46+
- antigravity-claude-sonnet-4-6
4947
- antigravity-claude-opus-4-6-thinking
5048
- gemini-2.5-flash
5149
- gemini-2.5-pro

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog
22

3+
## [1.5.2] - 2026-02-18
4+
5+
### Changed
6+
7+
- Added support for Sonnet 4.6 and removed old models support.
8+
39
## [1.5.1] - 2026-02-11
410

511
### Changed

README.md

Lines changed: 8 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
77
[![X (Twitter)](https://img.shields.io/badge/X-@dopesalmon-000000?style=flat&logo=x)](https://x.com/dopesalmon)
88

9-
Enable Opencode to authenticate against **Antigravity** (Google's IDE) via OAuth so you can use Antigravity rate limits and access models like `gemini-3-pro` and `claude-opus-4-5-thinking` with your Google credentials.
9+
Enable Opencode to authenticate against **Antigravity** (Google's IDE) via OAuth so you can use Antigravity rate limits and access models like `gemini-3-pro` and `claude-opus-4-6-thinking` with your Google credentials.
1010

1111
## What You Get
1212

13-
- **Claude Opus 4.5, Sonnet 4.5** and **Gemini 3 Pro/Flash** via Google OAuth
13+
- **Claude Opus 4.6, Sonnet 4.6** and **Gemini 3 Pro/Flash** via Google OAuth
1414
- **Multi-account support** — add multiple Google accounts, auto-rotates when rate-limited
1515
- **Dual quota system** — access both Antigravity and Gemini CLI quotas from one plugin
1616
- **Thinking models** — extended thinking for Claude and Gemini 3 with configurable budgets
@@ -79,7 +79,7 @@ Install the opencode-antigravity-auth plugin and add the Antigravity model defin
7979
4. **Use it:**
8080

8181
```bash
82-
opencode run "Hello" --model=google/antigravity-claude-sonnet-4-5-thinking --variant=max
82+
opencode run "Hello" --model=google/antigravity-claude-opus-4-6-thinking --variant=max
8383
```
8484

8585
</details>
@@ -102,7 +102,7 @@ Install the opencode-antigravity-auth plugin and add the Antigravity model defin
102102
### Verification
103103

104104
```bash
105-
opencode run "Hello" --model=google/antigravity-claude-sonnet-4-5-thinking --variant=max
105+
opencode run "Hello" --model=google/antigravity-claude-opus-4-6-thinking --variant=max
106106
```
107107

108108
</details>
@@ -119,9 +119,7 @@ opencode run "Hello" --model=google/antigravity-claude-sonnet-4-5-thinking --var
119119
|-------|----------|-------|
120120
| `antigravity-gemini-3-pro` | low, high | Gemini 3 Pro with thinking |
121121
| `antigravity-gemini-3-flash` | minimal, low, medium, high | Gemini 3 Flash with thinking |
122-
| `antigravity-claude-sonnet-4-5` || Claude Sonnet 4.5 |
123-
| `antigravity-claude-sonnet-4-5-thinking` | low, max | Claude Sonnet with extended thinking |
124-
| `antigravity-claude-opus-4-5-thinking` | low, max | Claude Opus 4.5 with extended thinking |
122+
| `antigravity-claude-sonnet-4-6` || Claude Sonnet 4.6 |
125123
| `antigravity-claude-opus-4-6-thinking` | low, max | Claude Opus 4.6 with extended thinking |
126124

127125
**Gemini CLI quota** (separate from Antigravity; used when `cli_first` is true or as fallback):
@@ -142,7 +140,7 @@ opencode run "Hello" --model=google/antigravity-claude-sonnet-4-5-thinking --var
142140
143141
**Using variants:**
144142
```bash
145-
opencode run "Hello" --model=google/antigravity-claude-sonnet-4-5-thinking --variant=max
143+
opencode run "Hello" --model=google/antigravity-claude-opus-4-6-thinking --variant=max
146144
```
147145

148146
For details on variant configuration and thinking levels, see [docs/MODEL-VARIANTS.md](docs/MODEL-VARIANTS.md).
@@ -179,29 +177,11 @@ Add this to your `~/.config/opencode/opencode.json`:
179177
"high": { "thinkingLevel": "high" }
180178
}
181179
},
182-
"antigravity-claude-sonnet-4-5": {
183-
"name": "Claude Sonnet 4.5 (Antigravity)",
180+
"antigravity-claude-sonnet-4-6": {
181+
"name": "Claude Sonnet 4.6 (Antigravity)",
184182
"limit": { "context": 200000, "output": 64000 },
185183
"modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }
186184
},
187-
"antigravity-claude-sonnet-4-5-thinking": {
188-
"name": "Claude Sonnet 4.5 Thinking (Antigravity)",
189-
"limit": { "context": 200000, "output": 64000 },
190-
"modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
191-
"variants": {
192-
"low": { "thinkingConfig": { "thinkingBudget": 8192 } },
193-
"max": { "thinkingConfig": { "thinkingBudget": 32768 } }
194-
}
195-
},
196-
"antigravity-claude-opus-4-5-thinking": {
197-
"name": "Claude Opus 4.5 Thinking (Antigravity)",
198-
"limit": { "context": 200000, "output": 64000 },
199-
"modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
200-
"variants": {
201-
"low": { "thinkingConfig": { "thinkingBudget": 8192 } },
202-
"max": { "thinkingConfig": { "thinkingBudget": 32768 } }
203-
}
204-
},
205185
"antigravity-claude-opus-4-6-thinking": {
206186
"name": "Claude Opus 4.6 Thinking (Antigravity)",
207187
"limit": { "context": 200000, "output": 64000 },

docs/ANTIGRAVITY_API_SPEC.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,8 @@ Accept: text/event-stream
7878

7979
| Model Name | Model ID | Type | Status |
8080
|------------|----------|------|--------|
81-
| Claude Sonnet 4.5 | `claude-sonnet-4-5` | Anthropic | ✅ Verified |
82-
| Claude Sonnet 4.5 Thinking | `claude-sonnet-4-5-thinking` | Anthropic | ✅ Verified |
83-
| Claude Opus 4.5 Thinking | `claude-opus-4-5-thinking` | Anthropic | ✅ Verified |
84-
| Claude Opus 4.6 Thinking | `claude-opus-4-6-thinking` | Anthropic | ⏳ Pending |
81+
| Claude Sonnet 4.6 | `claude-sonnet-4-6` | Anthropic | ✅ Verified |
82+
| Claude Opus 4.6 Thinking | `claude-opus-4-6-thinking` | Anthropic | ✅ Verified |
8583
| Gemini 3 Pro High | `gemini-3-pro-high` | Google | ✅ Verified |
8684
| Gemini 3 Pro Low | `gemini-3-pro-low` | Google | ✅ Verified |
8785
| GPT-OSS 120B Medium | `gpt-oss-120b-medium` | Other | ✅ Verified |
@@ -365,7 +363,7 @@ The underlying API uses these tool formats:
365363
"candidatesTokenCount": 4,
366364
"totalTokenCount": 20
367365
},
368-
"modelVersion": "claude-sonnet-4-5",
366+
"modelVersion": "claude-sonnet-4-6",
369367
"responseId": "msg_vrtx_..."
370368
},
371369
"traceId": "abc123..."
@@ -581,7 +579,7 @@ The following Anthropic/Vertex AI features are **NOT supported**:
581579
```json
582580
{
583581
"project": "my-project-id",
584-
"model": "claude-sonnet-4-5",
582+
"model": "claude-sonnet-4-6",
585583
"request": {
586584
"contents": [
587585
{
@@ -624,7 +622,7 @@ The following Anthropic/Vertex AI features are **NOT supported**:
624622
| Endpoint | `cloudcode-pa.googleapis.com` | `aiplatform.googleapis.com` |
625623
| Request format | Gemini-style `contents` | Anthropic `messages` |
626624
| `anthropic_version` | Not used | Required |
627-
| Model names | Simple (`claude-sonnet-4-5`) | Versioned (`claude-4-5@date`) |
625+
| Model names | Simple (`claude-sonnet-4-6`) | Versioned (`claude-4-5@date`) |
628626
| Response format | `candidates[]` | Anthropic `content[]` |
629627
| Multi-model support | Yes (Claude, Gemini, etc.) | Anthropic only |
630628

docs/MODEL-VARIANTS.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ OpenCode's variant system allows you to configure thinking budget dynamically in
99
When you define a model with `variants`, OpenCode shows variant options in the model picker. Selecting a variant passes the `providerOptions` to the plugin, which extracts the thinking configuration.
1010

1111
```bash
12-
opencode run "Hello" --model=google/antigravity-claude-sonnet-4-5-thinking --variant=max
12+
opencode run "Hello" --model=google/antigravity-claude-opus-4-6-thinking --variant=max
1313
```
1414

1515
---
@@ -20,8 +20,8 @@ Define variants in your model configuration:
2020

2121
```json
2222
{
23-
"antigravity-claude-sonnet-4-5-thinking": {
24-
"name": "Claude Sonnet 4.5 Thinking",
23+
"antigravity-claude-opus-4-6-thinking": {
24+
"name": "Claude Opus 4.6 Thinking",
2525
"limit": { "context": 200000, "output": 64000 },
2626
"modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
2727
"variants": {
@@ -108,8 +108,8 @@ Claude models use token-based thinking budgets:
108108

109109
```json
110110
{
111-
"antigravity-claude-sonnet-4-5-thinking": {
112-
"name": "Claude Sonnet 4.5 Thinking (Antigravity)",
111+
"antigravity-claude-opus-4-6-thinking": {
112+
"name": "Claude Opus 4.6 Thinking (Antigravity)",
113113
"limit": { "context": 200000, "output": 64000 },
114114
"modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
115115
"variants": {
@@ -150,13 +150,13 @@ For Gemini 3 models, the old `thinkingBudget` format is still supported but depr
150150

151151
---
152152

153-
## Backward Compatibility
153+
## Tier-Suffixed Names
154154

155-
Legacy model names still work:
155+
Tier-suffixed model names are still accepted:
156156

157-
- `antigravity-claude-sonnet-4-5-thinking-low`
158-
- `antigravity-claude-sonnet-4-5-thinking-medium`
159-
- `antigravity-claude-sonnet-4-5-thinking-high`
157+
- `antigravity-claude-opus-4-6-thinking-low`
158+
- `antigravity-claude-opus-4-6-thinking-medium`
159+
- `antigravity-claude-opus-4-6-thinking-high`
160160
- `antigravity-gemini-3-pro-low`
161161
- `antigravity-gemini-3-pro-high`
162162
- `gemini-3-pro-low`
@@ -166,7 +166,7 @@ However, **we recommend using simplified model names with variants** for:
166166

167167
- **Cleaner model picker** — 7 models instead of 12+
168168
- **Simpler config** — No need to configure both `antigravity-` and `-preview` versions
169-
- **Automatic quota fallback** — Plugin handles model name transformation
169+
- **Automatic quota routing** — Plugin handles model name transformation
170170
- **Flexible budgets** — Define any budget, not just preset tiers
171171
- **Future-proof** — Works with OpenCode's native variant system
172172

docs/TROUBLESHOOTING.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -373,15 +373,15 @@ v1.2.8+ introduces **model variants** for dynamic thinking configuration.
373373
**Before (v1.2.7):**
374374
```json
375375
{
376-
"antigravity-claude-sonnet-4-5-thinking-low": { ... },
377-
"antigravity-claude-sonnet-4-5-thinking-max": { ... }
376+
"antigravity-claude-opus-4-6-thinking-low": { ... },
377+
"antigravity-claude-opus-4-6-thinking-max": { ... }
378378
}
379379
```
380380

381381
**After (v1.2.8+):**
382382
```json
383383
{
384-
"antigravity-claude-sonnet-4-5-thinking": {
384+
"antigravity-claude-opus-4-6-thinking": {
385385
"variants": {
386386
"low": { "thinkingConfig": { "thinkingBudget": 8192 } },
387387
"max": { "thinkingConfig": { "thinkingBudget": 32768 } }
@@ -390,7 +390,7 @@ v1.2.8+ introduces **model variants** for dynamic thinking configuration.
390390
}
391391
```
392392

393-
Old tier-suffixed models still work for backward compatibility.
393+
Use canonical model names from current docs. Deprecated model names are sent as requested and may fail if the upstream API has removed them.
394394

395395
### v1.2.7 (Prefix)
396396

@@ -399,9 +399,9 @@ v1.2.7+ uses explicit `antigravity-` prefix:
399399
| Old Name | New Name |
400400
|----------|----------|
401401
| `gemini-3-pro-low` | `antigravity-gemini-3-pro` |
402-
| `claude-sonnet-4-5` | `antigravity-claude-sonnet-4-5` |
402+
| `claude-sonnet-4-6` | `antigravity-claude-sonnet-4-6` |
403403

404-
Old names work as fallback, but `antigravity-` prefix is recommended.
404+
Use the `antigravity-` prefixed model names shown above.
405405

406406
---
407407

@@ -431,4 +431,4 @@ npx tsx script/test-regression.ts --dry-run # List tests
431431

432432
## Still stuck?
433433

434-
Open an issue on [GitHub](https://github.com/NoeFabris/opencode-antigravity-auth/issues).
434+
Open an issue on [GitHub](https://github.com/NoeFabris/opencode-antigravity-auth/issues).

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "opencode-antigravity-auth",
3-
"version": "1.5.1",
4-
"description": "Google Antigravity IDE OAuth auth plugin for Opencode - access Gemini 3 Pro and Claude 4.5 using Google credentials",
3+
"version": "1.5.2",
4+
"description": "Google Antigravity IDE OAuth auth plugin for Opencode - access Gemini 3 Pro and Claude 4.6 using Google credentials",
55
"main": "./dist/index.js",
66
"types": "./dist/index.d.ts",
77
"type": "module",

script/test-cross-model-e2e.sh

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ if [ -z "$SID" ]; then
7777
else
7878
log_info "Session: $SID"
7979
log_info "Step 2: Google Claude Opus Thinking + tool..."
80-
opencode run -s "$SID" -m google/antigravity-claude-opus-4-5-thinking-low \
80+
opencode run -s "$SID" -m google/antigravity-claude-opus-4-6-thinking-low \
8181
"Run: echo 'Test2-Google-Claude'" \
8282
> /tmp/e2e-t2-s2.log 2>&1 || true
8383

@@ -142,7 +142,7 @@ fi
142142
echo ""
143143

144144
# Test 5: OpenAI → Google Claude
145-
echo "Test 5: OpenAI → Google Claude Sonnet Thinking"
145+
echo "Test 5: OpenAI → Google Claude Opus Thinking"
146146
log_info "Step 1: OpenAI with tool..."
147147
opencode run -m openai/gpt-5.2-medium \
148148
"Run: echo 'Test5-OpenAI-Start'" \
@@ -156,8 +156,8 @@ else
156156
log_fail "Test 5 - No session ID"
157157
else
158158
log_info "Session: $SID"
159-
log_info "Step 2: Google Claude Sonnet Thinking + tool..."
160-
opencode run -s "$SID" -m google/antigravity-claude-sonnet-4-5-thinking-low \
159+
log_info "Step 2: Google Claude Opus Thinking + tool..."
160+
opencode run -s "$SID" -m google/antigravity-claude-opus-4-6-thinking-low \
161161
"Run: echo 'Test5-Google-Claude'" \
162162
> /tmp/e2e-t5-s2.log 2>&1 || true
163163

@@ -190,7 +190,7 @@ else
190190
check_signature_error /tmp/e2e-t6-s2.log && CHAIN_OK=false
191191

192192
log_info "Turn 3: Google Claude Opus..."
193-
opencode run -s "$SID" -m google/antigravity-claude-opus-4-5-thinking-low \
193+
opencode run -s "$SID" -m google/antigravity-claude-opus-4-6-thinking-low \
194194
"Run: echo 'Turn3'" > /tmp/e2e-t6-s3.log 2>&1 || true
195195
check_signature_error /tmp/e2e-t6-s3.log && CHAIN_OK=false
196196

@@ -217,8 +217,8 @@ echo ""
217217

218218
# Test 7: Google Claude → Anthropic Claude (same family, different API)
219219
echo "Test 7: Google Claude → Anthropic Claude (same family)"
220-
log_info "Step 1: Google Claude Sonnet Thinking..."
221-
opencode run -m google/antigravity-claude-sonnet-4-5-thinking-low \
220+
log_info "Step 1: Google Claude Opus Thinking..."
221+
opencode run -m google/antigravity-claude-opus-4-6-thinking-low \
222222
"Run: echo 'Test7-Google-Claude'" \
223223
> /tmp/e2e-t7-s1.log 2>&1 || true
224224

script/test-cross-model.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ function runTests(): void {
5959

6060
console.log('Test 1: Model family detection');
6161
const geminiFamily = getModelFamily('gemini-3-pro-low');
62-
const claudeFamily = getModelFamily('claude-opus-4-5-thinking-medium');
62+
const claudeFamily = getModelFamily('claude-opus-4-6-thinking-medium');
6363
if (geminiFamily === 'gemini' && claudeFamily === 'claude') {
6464
console.log(' ✅ PASS: Model families detected correctly');
6565
passed++;
@@ -72,7 +72,7 @@ function runTests(): void {
7272
console.log(' Input: Gemini session with thinking + tool call containing thoughtSignature');
7373

7474
const result = sanitizeCrossModelPayload(geminiHistoryWithThinkingAndToolCall, {
75-
targetModel: 'claude-opus-4-5-thinking-medium'
75+
targetModel: 'claude-opus-4-6-thinking-medium'
7676
});
7777

7878
const payload = result.payload as any;

script/test-models.ts

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,7 @@ const MODELS: ModelTest[] = [
1919
{ model: "google/antigravity-gemini-3-flash", category: "antigravity-gemini" },
2020

2121
// Antigravity Claude
22-
{ model: "google/antigravity-claude-sonnet-4-5", category: "antigravity-claude" },
23-
{ model: "google/antigravity-claude-sonnet-4-5-thinking-low", category: "antigravity-claude" },
24-
{ model: "google/antigravity-claude-sonnet-4-5-thinking-medium", category: "antigravity-claude" },
25-
{ model: "google/antigravity-claude-sonnet-4-5-thinking-high", category: "antigravity-claude" },
26-
{ model: "google/antigravity-claude-opus-4-5-thinking-low", category: "antigravity-claude" },
27-
{ model: "google/antigravity-claude-opus-4-5-thinking-medium", category: "antigravity-claude" },
28-
{ model: "google/antigravity-claude-opus-4-5-thinking-high", category: "antigravity-claude" },
22+
{ model: "google/antigravity-claude-sonnet-4-6", category: "antigravity-claude" },
2923
{ model: "google/antigravity-claude-opus-4-6-thinking-low", category: "antigravity-claude" },
3024
{ model: "google/antigravity-claude-opus-4-6-thinking-medium", category: "antigravity-claude" },
3125
{ model: "google/antigravity-claude-opus-4-6-thinking-high", category: "antigravity-claude" },

0 commit comments

Comments
 (0)