Provider version: 0.6.4 (npm latest, published 2026-09-03)
Model affected: deepseek/deepseek-v4.1-flash (returned by GET /provider/v1/models), plus the other entries refreshed by #98
What a fresh npm install does
The published catalog is generated from command-code@1.44.0, which has no deepseek/deepseek-v4.1-flash. The provider derives reasoning from that snapshot (isReasoningModel() in src/models.ts, which overwrites whatever the live endpoint returns) and src/pricing.ts has no cost entry, so the model shows up as non-reasoning with a zero cost:
$ pi --list-models deepseek
commandcode deepseek/deepseek-v4.1-flash 1M 65.5K no no
The endpoint does support it: POST /provider/v1/chat/completions with {"model":"deepseek/deepseek-v4.1-flash","reasoning_effort":"max"} returns reasoning content, and an invalid value is rejected with expected one of "low"|"medium"|"high"|"xhigh"|"max". As already noted in #90, GET /provider/v1/models carries no capability data, so the CLI-derived snapshot is the only source.
Already fixed on main, just not published
Both are on main, but package.json on main is still 0.6.4, the newest tag is v0.6.4 (2026-09-03) and npm view pi-commandcode-provider version returns 0.6.4, so installs cannot pick any of it up. This is the root cause behind #90 and the closed reasoning-override attempts in #91 / #97.
Ask
Cut a release (0.6.5) so the catalog/metadata refresh reaches npm.
Related
The new deepseek/deepseek-v4.1-flash cost entry from #93 (input 0.15 / output 0.6 / cacheRead 0.003) is DeepSeek's off-peak list rate, so the same entry is affected by #89 (peak = 2x, i.e. 0.30 / 1.20 / 0.006).
Workaround, for anyone blocked today
A models.json override for the commandcode provider restores thinking levels without touching the package:
"commandcode": {
"modelOverrides": {
"deepseek/deepseek-v4.1-flash": {
"reasoning": true,
"compat": { "supportsReasoningEffort": true },
"thinkingLevelMap": { "minimal": null, "low": "low", "medium": null, "high": "high", "xhigh": null, "max": "max" }
}
}
}
Verified end to end: pi --model commandcode/deepseek/deepseek-v4.1-flash:max sends reasoning_effort: "max" (captured with COMMANDCODE_API_BASE pointed at a local mock).
Provider version: 0.6.4 (npm
latest, published 2026-09-03)Model affected:
deepseek/deepseek-v4.1-flash(returned byGET /provider/v1/models), plus the other entries refreshed by #98What a fresh npm install does
The published catalog is generated from
command-code@1.44.0, which has nodeepseek/deepseek-v4.1-flash. The provider derivesreasoningfrom that snapshot (isReasoningModel()insrc/models.ts, which overwrites whatever the live endpoint returns) andsrc/pricing.tshas no cost entry, so the model shows up as non-reasoning with a zero cost:The endpoint does support it:
POST /provider/v1/chat/completionswith{"model":"deepseek/deepseek-v4.1-flash","reasoning_effort":"max"}returnsreasoningcontent, and an invalid value is rejected withexpected one of "low"|"medium"|"high"|"xhigh"|"max". As already noted in #90,GET /provider/v1/modelscarries no capability data, so the CLI-derived snapshot is the only source.Already fixed on
main, just not publisheddeepseek/deepseek-v4.1-flash: input modalities,reasoning: true, effortslow|high|max, and aMODEL_COSTSentry.Both are on
main, butpackage.jsononmainis still0.6.4, the newest tag isv0.6.4(2026-09-03) andnpm view pi-commandcode-provider versionreturns0.6.4, so installs cannot pick any of it up. This is the root cause behind #90 and the closed reasoning-override attempts in #91 / #97.Ask
Cut a release (0.6.5) so the catalog/metadata refresh reaches npm.
Related
The new
deepseek/deepseek-v4.1-flashcost entry from #93 (input 0.15 / output 0.6 / cacheRead 0.003) is DeepSeek's off-peak list rate, so the same entry is affected by #89 (peak = 2x, i.e. 0.30 / 1.20 / 0.006).Workaround, for anyone blocked today
A
models.jsonoverride for thecommandcodeprovider restores thinking levels without touching the package:Verified end to end:
pi --model commandcode/deepseek/deepseek-v4.1-flash:maxsendsreasoning_effort: "max"(captured withCOMMANDCODE_API_BASEpointed at a local mock).