Skip to content

Commit 5c5e517

Browse files
authored
Merge pull request #243 from link-assistant/issue-242-182bfaaa3790
feat: replace deprecated qwen3.6-plus-free default with nemotron-3-super-free (#242)
2 parents 199a4aa + 65e92e9 commit 5c5e517

11 files changed

Lines changed: 3073 additions & 51 deletions

File tree

FREE_MODELS.md

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ This document lists all free AI models currently supported by the agent. Free mo
99
Use any free model with the `--model` flag:
1010

1111
```bash
12-
echo "hello" | agent --model opencode/qwen3.6-plus-free
12+
echo "hello" | agent --model opencode/nemotron-3-super-free
1313
```
1414

1515
## OpenCode Zen Free Models
@@ -18,19 +18,15 @@ echo "hello" | agent --model opencode/qwen3.6-plus-free
1818

1919
| Model | Model ID | Context Window | Description |
2020
| ----------------------- | ---------------------------------- | --------------- | --------------------------------------------------- |
21-
| Qwen 3.6 Plus Free | `opencode/qwen3.6-plus-free` | ~1,000,000 | **Default.** Largest context, strong agent performance |
22-
| Nemotron 3 Super Free | `opencode/nemotron-3-super-free` | ~262,144 | NVIDIA hybrid Mamba-Transformer, strong reasoning |
21+
| Nemotron 3 Super Free | `opencode/nemotron-3-super-free` | ~262,144 | **Default.** NVIDIA hybrid Mamba-Transformer, strong reasoning |
2322
| MiniMax M2.5 Free | `opencode/minimax-m2.5-free` | ~200,000 | Strong general-purpose performance |
2423
| GPT 5 Nano | `opencode/gpt-5-nano` | ~400,000 | Reliable OpenAI-powered free option |
2524
| Big Pickle | `opencode/big-pickle` | ~200,000 | Stealth model, free during evaluation period |
2625

2726
### Usage Examples
2827

2928
```bash
30-
# Qwen 3.6 Plus Free (default)
31-
echo "hello" | agent --model opencode/qwen3.6-plus-free
32-
33-
# Nemotron 3 Super Free
29+
# Nemotron 3 Super Free (default)
3430
echo "hello" | agent --model opencode/nemotron-3-super-free
3531

3632
# MiniMax M2.5 Free
@@ -85,6 +81,7 @@ The following models were previously free but are no longer available:
8581

8682
| Model | Former Model ID | Status |
8783
| ------------------ | ----------------------------- | ---------------------------------------- |
84+
| Qwen 3.6 Plus Free | `opencode/qwen3.6-plus-free` | Free promotion ended (April 2026) — now requires OpenCode Go subscription. See [issue #242](https://github.com/link-assistant/agent/issues/242) |
8885
| Kimi K2.5 Free | `opencode/kimi-k2.5-free` | Removed from OpenCode Zen (March 2026) — see [issue #208](https://github.com/link-assistant/agent/issues/208) |
8986
| Grok Code Fast 1 | `opencode/grok-code` | Discontinued January 2026 |
9087
| MiniMax M2.1 Free | `opencode/minimax-m2.1-free` | Replaced by `opencode/minimax-m2.5-free` |
@@ -98,7 +95,7 @@ The following models were previously free but are no longer available:
9895

9996
### Use OpenCode Zen when:
10097
- You want the most tested and reliable free models
101-
- You prefer `qwen3.6-plus-free` as the default with ~1M context window
98+
- You prefer `nemotron-3-super-free` as the default with ~262K context window
10299
- You need a simple, curated list of models
103100

104101
### Use Kilo Gateway when:
@@ -110,7 +107,6 @@ The following models were previously free but are no longer available:
110107

111108
The agent intelligently routes model requests:
112109

113-
- `qwen3.6-plus-free` without provider prefix → OpenCode Zen (`opencode/qwen3.6-plus-free`)
114110
- `nemotron-3-super-free` without provider prefix → OpenCode Zen (`opencode/nemotron-3-super-free`)
115111
- `big-pickle` without provider prefix → OpenCode Zen (`opencode/big-pickle`)
116112
- `kilo/minimax-m2.5-free` explicitly → Kilo Gateway

MODELS.md

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@ Below are the prices per 1M tokens for OpenCode Zen models. Models are sorted by
3030
| Model | Model ID | Input | Output | Cached Read | Cached Write |
3131
| ---------------------------------------- | ----------------------------- | ------ | ------ | ----------- | ------------ |
3232
| **Free Models (Output: $0.00)** |
33-
| Qwen 3.6 Plus Free (default) | `opencode/qwen3.6-plus-free` | Free | Free | Free | - |
34-
| Nemotron 3 Super Free | `opencode/nemotron-3-super-free` | Free | Free | Free | - |
33+
| Nemotron 3 Super Free (default) | `opencode/nemotron-3-super-free` | Free | Free | Free | - |
3534
| MiniMax M2.5 Free | `opencode/minimax-m2.5-free` | Free | Free | Free | - |
3635
| GPT 5 Nano | `opencode/gpt-5-nano` | Free | Free | Free | - |
3736
| Big Pickle | `opencode/big-pickle` | Free | Free | Free | - |
3837
| **Discontinued Free Models** |
38+
| ~~Qwen 3.6 Plus Free~~ | `opencode/qwen3.6-plus-free` | ~~Free~~ | ~~Free~~ | ~~Free~~ | - |
3939
| ~~Kimi K2.5 Free~~ | `opencode/kimi-k2.5-free` | ~~Free~~ | ~~Free~~ | ~~Free~~ | - |
4040
| ~~Grok Code Fast 1~~ | `opencode/grok-code` | ~~Free~~ | ~~Free~~ | ~~Free~~ | - |
4141
| ~~MiniMax M2.1 Free~~ | `opencode/minimax-m2.1-free` | ~~Free~~ | ~~Free~~ | ~~Free~~ | - |
@@ -60,40 +60,38 @@ Below are the prices per 1M tokens for OpenCode Zen models. Models are sorted by
6060

6161
## Default Model
6262

63-
The default model is **Qwen 3.6 Plus Free** (`opencode/qwen3.6-plus-free`), which is completely free and offers the largest context window (~1M tokens) among free models.
63+
The default model is **Nemotron 3 Super Free** (`opencode/nemotron-3-super-free`), which is completely free and offers strong reasoning capabilities with a ~262K token context window (NVIDIA hybrid Mamba-Transformer architecture).
6464

65-
> **Note:** MiniMax M2.5 Free (`opencode/minimax-m2.5-free`) was previously the default free model. Qwen 3.6 Plus Free is now the default due to its superior context window and agent performance. See [issue #232](https://github.com/link-assistant/agent/issues/232).
65+
> **Note:** Qwen 3.6 Plus Free (`opencode/qwen3.6-plus-free`) was previously the default free model, but OpenCode Zen ended the free promotion in April 2026. The model now requires an OpenCode Go subscription. See [issue #242](https://github.com/link-assistant/agent/issues/242).
66+
67+
> **Note:** MiniMax M2.5 Free (`opencode/minimax-m2.5-free`) was previously the default free model. See [issue #232](https://github.com/link-assistant/agent/issues/232).
6668
6769
> **Note:** Kimi K2.5 Free (`opencode/kimi-k2.5-free`) was previously the default free model, but it was removed from the OpenCode Zen provider in March 2026. See [Case Study #208](docs/case-studies/issue-208/README.md) for details.
6870
6971
> **Note:** Grok Code Fast 1 (`opencode/grok-code`) was previously the default free model, but xAI ended the free tier for this model on OpenCode Zen in January 2026. **The grok-code model is no longer included as a free model in OpenCode Zen subscription.** See [Case Study #133](docs/case-studies/issue-133/README.md) for details.
7072
7173
### Free Models (in order of recommendation)
7274

73-
1. **Qwen 3.6 Plus Free** (`opencode/qwen3.6-plus-free`) - Default free model (~1M context, strong agent performance)
74-
2. **Nemotron 3 Super Free** (`opencode/nemotron-3-super-free`) - NVIDIA hybrid Mamba-Transformer (~262K context, strong reasoning)
75-
3. **MiniMax M2.5 Free** (`opencode/minimax-m2.5-free`) - Strong general-purpose performance (~200K context)
76-
4. **GPT 5 Nano** (`opencode/gpt-5-nano`) - Reliable OpenAI-powered free option (~400K context)
77-
5. **Big Pickle** (`opencode/big-pickle`) - Stealth model, free during evaluation (~200K context)
75+
1. **Nemotron 3 Super Free** (`opencode/nemotron-3-super-free`) - Default free model, NVIDIA hybrid Mamba-Transformer (~262K context, strong reasoning)
76+
2. **MiniMax M2.5 Free** (`opencode/minimax-m2.5-free`) - Strong general-purpose performance (~200K context)
77+
3. **GPT 5 Nano** (`opencode/gpt-5-nano`) - Reliable OpenAI-powered free option (~400K context)
78+
4. **Big Pickle** (`opencode/big-pickle`) - Stealth model, free during evaluation (~200K context)
7879

79-
> **Note:** `opencode/kimi-k2.5-free`, `opencode/minimax-m2.1-free`, and `opencode/glm-4.7-free` are no longer available as free models on OpenCode Zen. See [OpenCode Zen Documentation](https://opencode.ai/docs/zen/) for the current list of free models.
80+
> **Note:** `opencode/qwen3.6-plus-free`, `opencode/kimi-k2.5-free`, `opencode/minimax-m2.1-free`, and `opencode/glm-4.7-free` are no longer available as free models on OpenCode Zen. See [OpenCode Zen Documentation](https://opencode.ai/docs/zen/) for the current list of free models.
8081
8182
## Usage Examples
8283

8384
### Using the Default Model (Free)
8485

8586
```bash
86-
# Uses opencode/qwen3.6-plus-free by default
87+
# Uses opencode/nemotron-3-super-free by default
8788
echo "hello" | agent
8889
```
8990

9091
### Using Other Free Models
9192

9293
```bash
93-
# Qwen 3.6 Plus Free (default)
94-
echo "hello" | agent --model opencode/qwen3.6-plus-free
95-
96-
# Nemotron 3 Super Free
94+
# Nemotron 3 Super Free (default)
9795
echo "hello" | agent --model opencode/nemotron-3-super-free
9896

9997
# MiniMax M2.5 Free

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ See [rust/README.md](rust/README.md) for full documentation.
8383

8484
We're creating a slimmed-down, public domain version of OpenCode CLI focused on the "agentic run mode" for use in virtual machines, Docker containers, and other environments where unrestricted AI agent access is acceptable. This is **not** for general desktop use - it's for isolated environments where you want maximum AI agent freedom.
8585

86-
**OpenCode Compatibility**: We maintain 100% compatibility with OpenCode's JSON event streaming format, so tools expecting `opencode run --format json --model opencode/qwen3.6-plus-free` output will work with our agent-cli.
86+
**OpenCode Compatibility**: We maintain 100% compatibility with OpenCode's JSON event streaming format, so tools expecting `opencode run --format json --model opencode/nemotron-3-super-free` output will work with our agent-cli.
8787

8888
## Why Choose Agent Over OpenCode?
8989

@@ -123,7 +123,7 @@ echo '{"message":"hi"}' | agent
123123
**With custom model:**
124124

125125
```bash
126-
echo "hi" | agent --model opencode/qwen3.6-plus-free
126+
echo "hi" | agent --model opencode/nemotron-3-super-free
127127
```
128128

129129
**Direct prompt mode:**
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# Case Study: Replace Deprecated qwen3.6-plus-free Default with nemotron-3-super-free
2+
3+
**Issue:** [#242](https://github.com/link-assistant/agent/issues/242)
4+
**PR:** [#243](https://github.com/link-assistant/agent/pull/243)
5+
6+
## Problem Statement
7+
8+
OpenCode Zen ended the free promotion for `qwen3.6-plus-free` (Qwen 3.6 Plus Free). The model now requires an OpenCode Go subscription. Since `qwen3.6-plus-free` was the default model for the agent, all users without an OpenCode Go subscription experienced immediate failures when running the agent without specifying an alternative model.
9+
10+
## Timeline of Events
11+
12+
| Timestamp (UTC) | Event |
13+
| ---------------------- | --------------------------------------------------------------------------------------------- |
14+
| April 2026 (early) | `qwen3.6-plus-free` set as default model in [PR #234](https://github.com/link-assistant/agent/pull/234) (issue #232) |
15+
| ~April 9, 2026 | OpenCode Zen ends free promotion for Qwen 3.6 Plus Free |
16+
| 2026-04-09T09:10:31Z | Agent run fails with `ModelError`: "Free promotion has ended for Qwen3.6 Plus Free" |
17+
| 2026-04-09T09:10:31Z | Compaction cascade also fails: `ProviderModelNotFoundError` for `qwen3.6-plus-free` |
18+
| 2026-04-09T09:10:31Z | Available free models at time of failure: `big-pickle`, `gpt-5-nano`, `nemotron-3-super-free` |
19+
20+
## Root Cause Analysis
21+
22+
### Primary Cause: External model deprecation
23+
24+
OpenCode Zen removed `qwen3.6-plus-free` from the free tier. The API now returns HTTP 401 with:
25+
26+
```json
27+
{
28+
"type": "error",
29+
"error": {
30+
"type": "ModelError",
31+
"message": "Free promotion has ended for Qwen3.6 Plus Free. You can continue using the model by subscribing to OpenCode Go - https://opencode.ai/go"
32+
}
33+
}
34+
```
35+
36+
### Secondary Impact: Compaction cascade failure
37+
38+
The default compaction models cascade included `qwen3.6-plus-free` as the largest-context model:
39+
```
40+
(big-pickle nemotron-3-super-free minimax-m2.5-free gpt-5-nano qwen3.6-plus-free same)
41+
```
42+
43+
When the model was removed, the cascade gracefully skipped it (`"skipping unresolvable compaction model in cascade"`), but the configuration was still referencing a non-existent model.
44+
45+
### Tertiary Impact: Provider priority lists
46+
47+
`qwen3.6-plus-free` was listed first in:
48+
- `getSmallModel()` OpenCode priority list (used for title/summary generation)
49+
- Global model sort priority list
50+
51+
## Evidence from Logs
52+
53+
Source: [solution-draft-log.txt](solution-draft-log.txt) (full log from failed run on 2026-04-09)
54+
55+
**Key log entries:**
56+
57+
1. **Model resolution succeeds** (line 648): Model resolves to `qwen3.6-plus-free` via default
58+
2. **Model not in catalog** (line 657): `"model not found - refusing to silently fallback"``qwen3.6-plus-free` no longer in available models list
59+
3. **Compaction cascade skip** (line 665): `"error": "ProviderModelNotFoundError"` for `qwen3.6-plus-free`
60+
4. **API error** (line 1679): `"Free promotion has ended for Qwen3.6 Plus Free"`
61+
5. **HTTP 401** (line 1692): `"status": 401, "statusText": "Unauthorized"`
62+
63+
## Available Free Models (Post-Deprecation)
64+
65+
From the log at time of failure (line 649-656):
66+
67+
| Model | Provider | Context | Status |
68+
| ---------------------- | -------- | ---------- | -------------------------- |
69+
| big-pickle | opencode | ~200,000 | Available |
70+
| gpt-5-nano | opencode | ~400,000 | Available |
71+
| nemotron-3-super-free | opencode | ~262,144 | Available |
72+
| glm-5-free | kilo | ~202,752 | Available |
73+
| glm-4.5-air-free | kilo | ~131,072 | Available |
74+
| minimax-m2.5-free | kilo | ~204,800 | Available (Kilo only) |
75+
| qwen3.6-plus-free | opencode | ~1,000,000 | **Deprecated (paid only)** |
76+
77+
## Solution
78+
79+
### New Default Model: `opencode/nemotron-3-super-free`
80+
81+
**Rationale:** Among remaining free OpenCode models, `nemotron-3-super-free` has the largest context window (~262K tokens) and strong reasoning capabilities (NVIDIA hybrid Mamba-Transformer architecture). While `gpt-5-nano` has a larger context (~400K), `nemotron-3-super-free` is better suited as a primary model due to its stronger general-purpose agent performance.
82+
83+
### Changes Made
84+
85+
1. **`js/src/cli/defaults.ts`**: Changed `DEFAULT_MODEL` from `opencode/qwen3.6-plus-free` to `opencode/nemotron-3-super-free`
86+
2. **`js/src/cli/defaults.ts`**: Removed `qwen3.6-plus-free` from compaction models cascade
87+
3. **`js/src/provider/provider.ts`**: Updated `getSmallModel()` and global sort priority lists — removed `qwen3.6-plus-free`
88+
4. **`js/src/cli/argv.ts`**: Updated compaction models comment
89+
5. **Documentation**: Moved `qwen3.6-plus-free` to deprecated/discontinued sections in FREE_MODELS.md, MODELS.md, README.md
90+
6. **Tests**: Updated assertions for new default model and cascade
91+
92+
### Updated Compaction Models Cascade
93+
94+
```
95+
Old: (big-pickle nemotron-3-super-free minimax-m2.5-free gpt-5-nano qwen3.6-plus-free same)
96+
New: (big-pickle minimax-m2.5-free nemotron-3-super-free gpt-5-nano same)
97+
```
98+
99+
Note: `nemotron-3-super-free` is now the default model, so `same` at the end of the cascade effectively includes it. The cascade order remains smallest-to-largest context.
100+
101+
## Lessons Learned
102+
103+
1. **Free model promotions are temporary** — The agent should be resilient to model deprecation. This is the fourth time a default free model has been deprecated (grok-code → kimi-k2.5-free → minimax-m2.5-free → qwen3.6-plus-free).
104+
2. **Compaction cascade provides resilience** — The cascade correctly skipped the unavailable model and continued with available alternatives, preventing total compaction failure.
105+
3. **Verbose logging was critical** — The detailed HTTP response body logging (added in previous PRs) immediately revealed the exact error message from OpenCode Zen.
106+
107+
## Related Issues and PRs
108+
109+
- [Issue #232](https://github.com/link-assistant/agent/issues/232) — Original PR that set `qwen3.6-plus-free` as default
110+
- [Issue #208](https://github.com/link-assistant/agent/issues/208) — Previous default model deprecation (`kimi-k2.5-free`)
111+
- [Issue #133](https://github.com/link-assistant/agent/issues/133) — First default model deprecation (`grok-code`)

0 commit comments

Comments
 (0)