Yes, with one condition that decides everything else. On October 15, 2026, OpenCode announced “DeepSeek V4.1 Flash is now free in OpenCode.” The model is opencode/deepseek-v4.1-flash-free, and the OpenCode Zen docs call it free “for a limited time.” The condition: the free tier only answers OpenCode. Call the same endpoint from anything else and it returns HTTP 403 with “OpenCode’s free tier can only be used from within OpenCode.”
So the question for a team running several agents isn’t whether DeepSeek is free. It’s which of your agents can reach the free model. An Agent on an OpenCode Runtime is built to; your Claude Code and Codex Agents aren’t. We tested the model in a clean OpenCode install on October 16: no sign-in, no API key, and a file-write-and-run task finished in 32 seconds. We haven’t run it inside a Sharkly Task yet, so the setup below includes the smoke test that tells you whether your Runtime can use it.
TL;DR
The free model runs only inside OpenCode, so put it on an Agent whose Runtime is OpenCode. Set the model once in OpenCode’s config on the Computer, smoke-test it in a terminal, then assign a small Task. Its limits are 200K tokens of context and 32K of output, against 1M and 384K on the paid version, and OpenCode hasn’t published an end date. Sharkly’s seat line stays $0 for organizations of up to 10 people, so while the promotion lasts, an OpenCode Agent on this model costs nothing on either line.

Which agents can use the free model
A Runtime is the agent tool on a Computer that performs the session. The free tier checks where a request comes from, which sorts every caller into two groups:
| Caller | Free DeepSeek V4.1 Flash? | Why |
|---|---|---|
| OpenCode in a terminal | Yes | Tested October 16, OpenCode 1.19.2 |
| A Sharkly Agent on an OpenCode Runtime | Expected; smoke-test first | The Runtime starts the OpenCode program on your Computer |
| Agents on Claude Code, Codex or Gemini CLI | No | The request doesn’t come from OpenCode |
| Your own app or script | No | 403 FreeTierError, with or without a key |
Two numbers matter for a Crew. The free version takes 200K tokens of context and returns up to 32K, per the model metadata OpenCode ships. The paid deepseek-v4.1-flash on the same gateway takes 1M and returns up to 384K. On privacy, the Zen docs say this model’s provider “follows a zero-retention policy and does not use your data for model training.” That isn’t true of every free model in OpenCode’s list, so check before you point a private repo at a different one.
Set up a free DeepSeek Agent
1. Get OpenCode onto the Computer. Install it with the official script, or use One-click install where the Runtime’s detail page offers it:
curl -fsSL https://opencode.ai/install | bash
Re-detect Runtimes on the Computer’s detail page. The OpenCode Runtime should read Available. A Computer being online doesn’t make a Runtime usable, so check the Runtime’s own status.
2. Set the model once, on the Computer. An Agent follows its Runtime’s model by default. OpenCode’s global config sets that default for every OpenCode session on that Computer:
{
"$schema": "https://opencode.ai/config.json",
"model": "opencode/deepseek-v4.1-flash-free"
}
Save it as ~/.config/opencode/opencode.json. If the OpenCode Runtime lists the model in its catalogue, you can pick it on the Agent’s Model row instead, which keeps the choice per Agent, not per Computer.
The config file applies to the whole Computer. Every OpenCode Agent that runs there now defaults to the free model, including one you meant to keep on a paid model. Give that Agent its own model on its Model row; the row overrides the Runtime’s default for that Agent only.
3. Smoke-test in a plain terminal. On the same Computer, as the same user the local service runs as:
opencode run "Reply with the word ok."
The first line of output names the model in use; you want deepseek-v4.1-flash-free, followed by ok. If that works in a terminal, the Runtime has what it needs. If the first line names a different model, OpenCode isn’t reading the config file: check the path for the user the local service runs as. If it fails outright, fix it there before you assign anything.
4. Assign one small Task. Pick something with a clear finish line: a failing test, a typo across docs, a dependency bump. Open the execution log when it finishes and confirm the run used the free model. Then widen the Agent’s work.
Where the free model fits in a Crew
A free model changes who does the routine work, not how the work gets reviewed.
Give it bounded Tasks. 200K of context covers most single-feature work. It runs out sooner on a large monorepo or a Task that reads dozens of files, and 32K of output caps how much code one response can write. Good fits: write the missing tests for one module, fix a lint rule across a package, update a README after an API change, bump a dependency and repair what breaks. Keep long refactors and cross-repo changes on an Agent with a larger window. Mixed-model Crews covers the split between cheap workers and an expensive reviewer, and the same split works when the worker costs $0.
Start at low concurrency. OpenCode publishes no rate limits for its free models and promises nothing about their speed under load. Leave the Agent’s Max concurrency (assigned tasks) at 1 or 2, and raise it only after a few days of clean runs. Four parallel Tasks hitting a throttled free endpoint produce four failures, not four times the output.
Review stays the real cost. Free tokens don’t make a change cheaper to accept. If the free model’s diffs need two rounds of comments where a paid model’s need one, the review queue pays the difference. When a cheaper model costs more shows how to price runs per accepted change, which is the number that tells you whether this Agent is worth keeping.
When the promotion ends
OpenCode has run this promotion before. An earlier deepseek-v4-flash-free model sat in Zen’s free list until its promotion ended. By August 21, 2026, it had left the model picker, and an OpenCode bot confirmed on GitHub issue #43805 that the removal was intentional.
Plan for the same ending. Runs on the Agent will start failing with a model error, and failed work surfaces in the execution log and in Inbox, where someone decides what happens next. Because the model lives in one config file, the switch is one edit. Your options then:
- OpenCode Zen, paid
deepseek-v4.1-flash: $0.30 per 1M input tokens and $1.20 per 1M output, with the full 1M window. - OpenCode Go: $10 a month, with an $80 monthly usage limit for this model; OpenCode’s Go docs estimate about 173,330 requests a month.
- Move the work: reassign those Tasks to an Agent on another Runtime, and the board keeps their history.
What it costs to run an agent Crew on free and cheap tiers compares these routes across models.
The two lines a team pays for
A Crew’s cost is two bills, and “free” applies to each separately.
Seats. Sharkly’s pricing is free for organizations of up to 10 people and $7 per person billed yearly after that. Agents and Computers don’t take seats, so adding an OpenCode Agent doesn’t change this line. Sharkly pricing explained covers the details.
Models. Sharkly doesn’t sell tokens; model usage runs through the accounts configured in each Runtime. That’s bring-your-own-key, and while the promotion lasts, the OpenCode Agent’s model line is $0 too.
That makes this one of the few setups where a Crew member costs nothing on either line. The Gemini 4 Argon version of this question ends with a paid key; this one ends with a config file.
The short answer
DeepSeek V4.1 Flash is free for coding agents that are OpenCode, and for nobody else. Put it on an OpenCode Agent, set the model on the Computer, smoke-test it, and give it the bounded Tasks your other Agents shouldn’t spend paid tokens on. When the promotion ends, the Tasks, their history and the review trail stay on the board, and the Agent needs one config edit. If you’re already running several agents, Sharkly gives you one place to assign their work and review what comes back.
