Free OpenCode model: current pick, fallback order and checks

Contents
Names and providers change
Current free model
Fallback order
Check an id before pinning it
Automatic check before start
Privacy and limits
History: Muse Spark 1.3 Free
Troubleshooting

Names and providers change

A free model in OpenCode Console is a moving target. The id, the provider behind it and the terms of use change without notice: a free variant can be renamed, moved to another provider, turned into a paid model or removed. Check an id before you pin it, check it again before a long run, and never copy a free id from an older article without checking it first.

That is why the other guides in this section say free OpenCode model and link here instead of naming one. This page is the single place that names the current free id, its fallbacks and the date they were checked. Config examples on the other pages use the id from this page.

Current free model

Checked against the models endpoint on 2026-10-22:

RoleConsole idPrice / 1M in+out
Free OpenCode modelopencode/deepseek-v4.1-flash-freeFree
Its paid twinopencode/deepseek-v4.1-flash$0.30 / $1.20
Cheapest paid step-upopencode/gpt-6-luna$0.10 / $0.50

DeepSeek V4.1 Flash Free is the free variant of DeepSeek V4.1 Flash. Its paid twin sits in the same catalog, so when the free variant disappears the same model stays available for money. For routine paid work GPT 6 Luna is still cheaper than that twin. Prices move: verify them in the Console models docs before budgeting.

Pin it as the project default in opencode.jsonc at the project root: create the file if it is missing, otherwise change only the model line. For every project at once use ~/.config/opencode/opencode.jsonc instead.

vi opencode.jsonc

{ "$schema": "https://opencode.ai/config.json", "model": "opencode/deepseek-v4.1-flash-free" }

Fallback order

When the current free id leaves the catalog, take the next live one from this list. The rule behind the order: a free model whose paid twin is in the same catalog comes first, then free models without one. Models that do not write code are left out.

#Free idPaid model of the same family
1deepseek-v4.1-flash-freedeepseek-v4.1-flash
2glm-5.3-flash-freeglm-5.3-flash
3minimax-m3.1-flash-freeminimax-m3
4mimo-v2.6-flash-freenone
5nemotron-3.5-lightning-freenone

Left out on purpose: jev-1.13-free answers structured yes-no and choice questions and does not write code, nemotron-3.5-super-vl-free is a vision-language variant, beam-free and flint-40b-free belong to no model family the catalog explains.

Check an id before pinning it

The models endpoint returns the ids that exist right now, without prices. List every free id:

curl -s https://opencode.ai/inference/v1/models | grep -o '"[a-z0-9.-]*-free"' | sort

Output on 2026-10-22:

"beam-free" "deepseek-v4.1-flash-free" "flint-40b-free" "glm-5.3-flash-free" "jev-1.13-free" "mimo-v2.6-flash-free" "minimax-m3.1-flash-free" "nemotron-3.5-lightning-free" "nemotron-3.5-super-vl-free"

Inside the TUI the same check is /models; from the shell it is:

opencode models

An id that is missing from the list resolves nowhere: an agent pinned to it falls back to the session model or refuses to start, as described in Make the agents run.

Automatic check before start

The aredel repo starts OpenCode through a launcher that checks every pinned id first, so a retired free id is caught before the first prompt:

container/tools/ai/opencode.sh

The launcher runs check_opencode_models.py, which reads the ids pinned in opencode.jsonc and .opencode/agents/ and compares them with the endpoint:

The report-only mode never writes or asks, so it also works in scripts:

python3 container/tools/ai/check_opencode_models.py --check

ok: opencode/claude-opus-5-5 (.opencode/agents/reviewer.md) ok: opencode/deepseek-v4.1-flash-free (opencode.jsonc, .opencode/agents/triage.md) ok: opencode/gpt-6-luna (.opencode/agents/builder.md)

The whole setup this check belongs to is described in Agent setup audit: the aredel case.

Privacy and limits

Free tiers pay for themselves with your data or your patience. A contributor tier trades the price for permission to use prompts and completions to train future models. Other free models claim zero retention during the free period, but terms differ per provider and change with the provider. Read the Console privacy notes for the exact id, and keep secrets, customer data and private code on a paid zero-retention model or a local model such as Ollama.

Free ids are also rate-limited, and some are time-limited for feedback collection. For overnight runs and CI use GPT 6 Luna. The access rules that keep a free-model agent away from secrets are in AI security.

History: Muse Spark 1.3 Free

Until October 2026 the free model in these guides was Muse Spark 1.3 Free, id opencode/muse-spark-1.3-contributor-free: the free contributor-tier variant of Muse Spark 1.3 from Meta, served through OpenCode Console. It was recommended as the daily default, strong enough for explaining code, writing tests, small features, renames across files and docs, while costing nothing.

Its terms were those of a contributor tier: heavily discounted pricing in exchange for permission to use prompts and completions to train future models, rate limits, and a time limit for feedback collection. Secrets, customer data and private code were never to be sent to it.

IdStatus on 2026-10-22
opencode/muse-spark-1.3-contributor-freenot in the models endpoint list
opencode/muse-spark-1.3listed, paid, see Muse Spark 1.3

Configs that still pinned the free id did not fail loudly: the agent fell back to the session model or refused to start. The aredel repo pinned it for its default model and its triage agent; how that was found and fixed is in Agent setup audit.

Troubleshooting

Official sources:

Article author: Arthur Isaev

Related articles
AI
OpenCode: download, install and use with free and paid models
Free OpenCode model: current pick and checks
OpenCode agents: four complete examples
Models for OpenCode
Muse Spark 1.3
GPT 6 Luna
AI security: secrets and access rights

Search this site

Channel @aofeed Chat @aofeedchat

Contacts and cooperation:
I recommend our hosting beget.com
Write to info@aredel.com if you:
1. Want to write an article for our site or translate an article into your native language.
2. Want to place thematically relevant ads on the site.
3. Ads on my site pass maximum censorship. If you see an ad block unsuitable for school-age children, shocking or misleading - please contact us by e-mail
4. Found a mistake, inaccuracy, bug, etc. on the site. ... .......
5. Articles can be shared on social media by clicking a network icon: