Command Code with taste; the first coding agent that observes how you write code and adapts to your preferences over time with meta neuro-symbolic AI `taste-1`.

Joined November 2023
812 Photos and videos
Pinned Tweet
A dollar for $40 of DeepSeek V4 Pro usage? Hard to say no to that.
103
78
1,359
1,521,981
Command Code retweeted
// Reliable tool calls. Any open model. Open models are great at writing code and terrible at calling tools. Command Code fixes that: it validates every tool call and auto-repairs 56K tool calling issues. ↳ $ npm i -g command-code
2
3
82
3,085
Command Code retweeted
Replying to @Brennan_Lup
cmd to run @CommandCodeAI
6
235
Command Code retweeted
It’s been a month and some days now since I tried @CommandCodeAI and it’s received a massive influx of frontier models, added core browsing capabilities, and dramatically overhauled how it handles deep reasoning and local developer workflows.
subscribed. let’s build.
1
2
5
1,187
Command Code is the only code agent that has: 1. $1 Go plan with 10x free credits (best overall) 2. optimizes for top open models 3. repairs open models tool calls free 3. doesn't charge 400% more on open models like DeepSeek/MiMo - almost every other coding agent does, check!
14
11
143
12,065
Command Code retweeted
Back to open models everyone!!
14
1
148
5,377
Resume session with ease, now in Command Code. cmd -c or cmd --resume <sessionId>
6
3
69
5,299
Command Code retweeted
Kimi K2.7 Code is now in available in Command Code. 10x free credits in Go. Our new #1 open mode in internal benchmarks. cmd update to v0.37.0 select via /model • 256K context 🍃 • 30% lower reasoning tokens than K2.6 ✅ • Open weights 1T-parameter MoE - 32B active ⚡
15
13
225
17,114
Command Code retweeted
My Latent Space Podcast with Swyx is now live. 🎙️ How Command Code made DeepSeek outperform Opus 4.7 with Taste Thanks for having me, swyx!
how did we make deepseek outperform opus 4.7? i've been thinking about why "open model bad at tool calling" is almost always a harness problem, not a model problem. context: spent the two days looking at billions of tokens in @CommandCodeAI (tb open source ai cli) using deepseek. I ended up writing a tool-input repair layer. the trigger was watching deepseek-flash fail on the simplest /review run, every shellCommand and readFile call bouncing back with a raw zod issues blob, the model unable to recover because the error wasn't in a form it could read. by the end deepseek v4 pro was beating opus 4.7 6/10 times on our internal evals. a few things i learned that feel general: 1/ the failure modes aren't random they're a small finite compositional set. across deepseek-flash, deepseek v4 pro, glm, qwen, the same four mistakes repeat almost exactly: - sending `null` for an optional field instead of omitting it - emitting `["a","b"]` as a json *string* instead of an actual array - wrapping a single arg in `{}` where the schema expected an array (an "empty placeholder") - passing a bare string where an array was expected (`"foo"` instead of `["foo"]`) four repairs, ~30-100 lines each, ordered carefully (json-array-parse must run before bare-string-wrap or `'["a","b"]'` becomes `['["a","b"]']`). that is the whole catalogue. when i hear "this open source model can't do tool calls" i now assume one of those four, and so far that's been right ~90% of the time. 2/ the funniest failure mode is also the most revealing. deepseek-flash, when asked to edit or write a file, sometimes emits the path as a *markdown auto-link*: filePath: "/Users/x/proj/[notes.md](http://notes. md)" our writeFile tool obediently trued creating files literally named `[notes.md](http://notes .md)` until we caught it. this is not a hallucination. it's the post-training chat distribution leaking through the tool boundary the model has been rewarded for auto-linking in conversational output, and is applying that prior in a context where it makes no sense. the fix is two regex lines that unwrap only the degenerate case where link text equals url-without-protocol real markdown like `[click](https://x .com)` passes through untouched. this is also conditioning of their own tools during RL which were different from all other tools we write and ofc can't predict. "tool confusion" is a more useful frame than "capability gap." the model knows how to format a path. it just hasn't been told clearly enough that this path is going to fopen, not into a chat bubble. so we encode that hint at the schema level `pathString()` instead of `z.string()` and the leak is plugged for every path field at once. 3/ the design choice that mattered was inverting preprocess-then-validate to validate-then-repair. my first attempt was the obvious one: a preprocessing pass that normalized inputs (strip nulls, parse stringified arrays, etc.) before zod ever saw them. it broke immediately, writeFile content that *happened* to be json-shaped got rewritten before it hit disk. silent corruption, easy to miss in a smoke test. then i made it less greedy - parse the input as-is. if it succeeds, ship it. valid inputs are never touched. - on failure, walk the validator's own issue list. for each issue path, try the four repairs in order until one applies. - parse again. on success, log `tool_input_repaired:${toolName}`. on failure, log `tool_input_invalid:${toolName}` and return a model-readable retry message. the structural insight here is: when you preprocess, you encode a prior about what's broken. when you let the validator complain first, the schema is the prior, and you only spend repair budget at the exact paths the schema actually disagreed at. the validator is doing the work of localizing the bug for you. it's the same shape as cheap-then-careful everywhere else try the fast path, fall back on evidence. (this also gives you per-tool telemetry for free. you can watch repair rates per (model, tool) and notice when a model regresses on a specific contract before users do.) 4/ shape invariants and relational invariants need different fixes. the four repairs above all handle shape problems wrong type, missing key, wrong container. but read_file had a *relational* invariant: "if you provide offset, you must also provide limit, and vice versa." deepseek kept calling `readFile({ absolutePath, limit: 30 })` and getting an `ERROR:` back. you can't fix this with input repair, because each field is independently valid the bug is in the relationship between them. so i taught the function the model's intent instead. `limit` alone → `offset = 0`. `offset` alone → `limit = 2000` (matches common read tool ops default). then surfaced the decision back to the model in the result: "Note: limit was not provided; defaulted to 2000 lines. To read more or fewer lines, retry with both offset and limit." no `Error:` prefix, so the tui doesn't paint it red. the model sees what we picked and can self-correct on the next turn if our guess was wrong. transparency over silent magic wins big. repair where you can. extend semantics where you can't. surface the choice either way. zoom out: a lot of what looks like model capability is actually contract design. a strict schema is a choice with a cost it filters out noise, but it also filters out recoverable noise from any model that hasn't memorized the exact json contract you happened to pick. the largest commercial models eat that cost invisibly and are linient on tool calling because they've seen enough of every contract during pretraining; open models pay it loudly and get dismissed for it. the harness is where you mediate between distributions. four small repairs (i'm sure more to follow as we have three more merging today), two regex lines for auto-links, one relational default, one prefix change. the model didn't change. the contract got more forgiving in exactly the places it needed to be. deepseek v4 pro now beats opus 4.7 6/10 times on our internal evals. imo "skill issue" applies to the harness more often than the model.
3
3
44
3,646
Command Code retweeted
Got interviewed by Business Insider on how enterprise are switching to open models. With Command Code gaining over 10K paying customers in 30 days. Demand for cheaper yet intelligent open models is growing fast, we have figured out how to make open models outperform closed, most of my research on this is public. Excited to see where this goes as we're compounding and growing 30% week over week! All organic inbound, no PR here.
3
6
54
4,636
Command Code retweeted
Replying to @pseudokid
At @CommandCodeAI we do this in $1 Go plan, which has $10 in it. And absolutely free tool call repairs, tool call issues is the biggest problem with open models. shameless plug i guess, founder here, my research are open, 56K now, here's eng deep dive x.com/MrAhmadAwais/status/20…
how did we make deepseek outperform opus 4.7? i've been thinking about why "open model bad at tool calling" is almost always a harness problem, not a model problem. context: spent the two days looking at billions of tokens in @CommandCodeAI (tb open source ai cli) using deepseek. I ended up writing a tool-input repair layer. the trigger was watching deepseek-flash fail on the simplest /review run, every shellCommand and readFile call bouncing back with a raw zod issues blob, the model unable to recover because the error wasn't in a form it could read. by the end deepseek v4 pro was beating opus 4.7 6/10 times on our internal evals. a few things i learned that feel general: 1/ the failure modes aren't random they're a small finite compositional set. across deepseek-flash, deepseek v4 pro, glm, qwen, the same four mistakes repeat almost exactly: - sending `null` for an optional field instead of omitting it - emitting `["a","b"]` as a json *string* instead of an actual array - wrapping a single arg in `{}` where the schema expected an array (an "empty placeholder") - passing a bare string where an array was expected (`"foo"` instead of `["foo"]`) four repairs, ~30-100 lines each, ordered carefully (json-array-parse must run before bare-string-wrap or `'["a","b"]'` becomes `['["a","b"]']`). that is the whole catalogue. when i hear "this open source model can't do tool calls" i now assume one of those four, and so far that's been right ~90% of the time. 2/ the funniest failure mode is also the most revealing. deepseek-flash, when asked to edit or write a file, sometimes emits the path as a *markdown auto-link*: filePath: "/Users/x/proj/[notes.md](http://notes. md)" our writeFile tool obediently trued creating files literally named `[notes.md](http://notes .md)` until we caught it. this is not a hallucination. it's the post-training chat distribution leaking through the tool boundary the model has been rewarded for auto-linking in conversational output, and is applying that prior in a context where it makes no sense. the fix is two regex lines that unwrap only the degenerate case where link text equals url-without-protocol real markdown like `[click](https://x .com)` passes through untouched. this is also conditioning of their own tools during RL which were different from all other tools we write and ofc can't predict. "tool confusion" is a more useful frame than "capability gap." the model knows how to format a path. it just hasn't been told clearly enough that this path is going to fopen, not into a chat bubble. so we encode that hint at the schema level `pathString()` instead of `z.string()` and the leak is plugged for every path field at once. 3/ the design choice that mattered was inverting preprocess-then-validate to validate-then-repair. my first attempt was the obvious one: a preprocessing pass that normalized inputs (strip nulls, parse stringified arrays, etc.) before zod ever saw them. it broke immediately, writeFile content that *happened* to be json-shaped got rewritten before it hit disk. silent corruption, easy to miss in a smoke test. then i made it less greedy - parse the input as-is. if it succeeds, ship it. valid inputs are never touched. - on failure, walk the validator's own issue list. for each issue path, try the four repairs in order until one applies. - parse again. on success, log `tool_input_repaired:${toolName}`. on failure, log `tool_input_invalid:${toolName}` and return a model-readable retry message. the structural insight here is: when you preprocess, you encode a prior about what's broken. when you let the validator complain first, the schema is the prior, and you only spend repair budget at the exact paths the schema actually disagreed at. the validator is doing the work of localizing the bug for you. it's the same shape as cheap-then-careful everywhere else try the fast path, fall back on evidence. (this also gives you per-tool telemetry for free. you can watch repair rates per (model, tool) and notice when a model regresses on a specific contract before users do.) 4/ shape invariants and relational invariants need different fixes. the four repairs above all handle shape problems wrong type, missing key, wrong container. but read_file had a *relational* invariant: "if you provide offset, you must also provide limit, and vice versa." deepseek kept calling `readFile({ absolutePath, limit: 30 })` and getting an `ERROR:` back. you can't fix this with input repair, because each field is independently valid the bug is in the relationship between them. so i taught the function the model's intent instead. `limit` alone → `offset = 0`. `offset` alone → `limit = 2000` (matches common read tool ops default). then surfaced the decision back to the model in the result: "Note: limit was not provided; defaulted to 2000 lines. To read more or fewer lines, retry with both offset and limit." no `Error:` prefix, so the tui doesn't paint it red. the model sees what we picked and can self-correct on the next turn if our guess was wrong. transparency over silent magic wins big. repair where you can. extend semantics where you can't. surface the choice either way. zoom out: a lot of what looks like model capability is actually contract design. a strict schema is a choice with a cost it filters out noise, but it also filters out recoverable noise from any model that hasn't memorized the exact json contract you happened to pick. the largest commercial models eat that cost invisibly and are linient on tool calling because they've seen enough of every contract during pretraining; open models pay it loudly and get dismissed for it. the harness is where you mediate between distributions. four small repairs (i'm sure more to follow as we have three more merging today), two regex lines for auto-links, one relational default, one prefix change. the model didn't change. the contract got more forgiving in exactly the places it needed to be. deepseek v4 pro now beats opus 4.7 6/10 times on our internal evals. imo "skill issue" applies to the harness more often than the model.
6
2
39
2,385
A lot is happening at Command Code right now, and it feels incredible. Y'all will love our June launches. Stay tuned.
13
1
75
2,622
The next Command Code deal drops. Worth the wait. - Monday June 15, 2026 - 10 AM PT You'll want to be online for this.
15
11
130
4,527
Command Code retweeted
$100 @claudeai 5x plan <<< $30 at @CommandCodeAI $20 @claudeai
2
2
14
1,611
Command Code retweeted
The taste feature in @CommandCodeAI is like having an FSD on your car
1
1
6
977
THIS. IS. HOW. WE. DO. IT. all this in one day. - feat: add Claude Fable 5 - fix: resolve [Text#N] paste placeholder into text for slash commands on submit - feat: major rehaul of lists and windowing /models /skills /mcp /agents - fix(tools): recover tool calls whose args are wrapped in a one-element array - feat: command aliases consistent picker design across the TUI - fix: /context counts only enabled skills - fix: prevent flicker and OOM when scrolling long lists in /skills and /models - fix: a crashing MCP server no longer takes down the CLI - fix: stop running shell commands on Esc instead of waiting for them to finish (#428) - fix: /model and /configure-models pickers scroll within a viewport (selection bar, no OOM) - fix: /model selector scrolls within a viewport instead of jumping to the bottom - fix: /skills no longer flickers while scrolling or reprints a duplicate header on exit - fix: Per-task model overrides now fall back to ZDR-safe defaults on background tasks - fix: /context skill count and print mode now honor skills disabled via /skills - fix: write taste-relative paths so taste.md preferences actually save (Windows macOS)
Command Code v0.34.0 is here! 3 new versions today, we're shipping fast!! lots of quality of live improvements. - feat: add Claude Fable 5 - fix: resolve [Text#N] paste placeholder into text for slash commands on submit - feat: major rehaul of lists and windowing /models /skills /mcp /agents - fix(tools): recover tool calls whose args are wrapped in a one-element array - feat: command aliases consistent picker design across the TUI - fix: /context counts only enabled skills - fix: prevent flicker and OOM when scrolling long lists in /skills and /models - fix: a crashing MCP server no longer takes down the CLI - fix: stop running shell commands on Esc instead of waiting for them to finish (#428) - fix: /model and /configure-models pickers scroll within a viewport (selection bar, no OOM) - fix: /model selector scrolls within a viewport instead of jumping to the bottom - fix: /skills no longer flickers while scrolling or reprints a duplicate header on exit - fix: Per-task model overrides now fall back to ZDR-safe defaults on background tasks - fix: /context skill count and print mode now honor skills disabled via /skills - fix: write taste-relative paths so taste.md preferences actually save (Windows macOS)
4
3
49
2,585
Claude Fable 5 now available on Command Code. The Mythos class, state-of-the-art model shows exceptional performance in software engineering tasks, agentic workflows, and scientific research. Try it out now with /model
14
4
106
4,898
Command Code entered the chat.
Command Code effect on Vercel AI Gateway as we launched in public beta 1st May and grew to trillions of tokens repairing over 40% of DeepSeek’s tool calls and became one of the most used coding agent harness for open models.
23
1,632
MiniMax M3 is now permanently 50% off on CommandCode!
MiniMax M3 is now 50% off for the next week! If you haven’t tried it yet, our Go plan starts at just $1 and includes $10 in usage credits.
6
3
125
7,151