Today I started really testing what local models can do in programming. The first task: plan and build a Snake game. The model: google/gemma-4-26b-a4b-qat (MLX), running fully on my MacBook. The platform: VS Code. The prompt was deliberately simple: "I want you to plan a snake like game, after you plan you will implement it."
This post is part of a local LLM series: the LM Studio setup, the configuration guide, and where local models actually earn their keep.
The planning phase: genuinely impressive
The model started thinking. Its first question: which technology do I want, and it offered several options. Nice. I chose React and Tailwind. Then it asked whether to include scoring, increasing difficulty, obstacles, and a few other features. I liked that, and of course I asked for everything.
It quickly presented a solid implementation plan, asked to install a few things it was missing, and off we went. The tokens flowed like water, and none of them cost me a cent.
What can the Mac take alongside it?
While it worked, a help request came in from my son, and I used the opportunity to test concurrency with more things running in the background. Two parallel requests worked fine. A third was a struggle, but it worked. During prompt analysis everything freezes for a moment, which I suspect is configurable.
All of this ran next to 4 open VS Code windows, each with Claude Code inside, plus Claude Desktop and Chrome. Apart from hearing the fan, the machine did not feel it, and the RAM was not impressed by anything I threw at it. At some point the model decided to open a sub-agent, and that survived too.
One oddity: it kept stopping mid-work to tell me what it was doing and waiting for me to type "okay, continue". That feels like a harness issue rather than a model issue.
Where did it break?
Suddenly it got stuck. LM Studio showed tokens streaming, but it was frozen on reasoning. The important tip here: ask Claude to configure your model settings in VS Code for you. There are subtle nuances that can make a local model hang, and equally make it run faster and more efficiently. That became its own post.
Then it claimed to be done. First run attempt: error. I copied the error over, it fixed it quickly. Progress: the site loads, but a white screen, with a console error. After a lot of ping-pong it still could not fix it.
Sonnet 4.6 fixed the same error in about a second and a half. The gap is not subtle.
The verdict
This model is not good enough for real coding. I expected that, and started with it deliberately to set a baseline. It is possible the harness was also not strong enough, and I will test that separately. All in all, a cute Snake game did come out of it.
The bigger lesson came a few days later: coding is simply the wrong job for this class of model, and there are jobs where it shines. That is the follow-up post. If you are weighing local models against API models for your own workloads, that cost-capability mapping is something I do with clients in AI consulting sessions.
FAQ
Are local LLMs good enough for coding in 2026?
The mid-size ones are not there yet for real debugging. Gemma 4 26B planned well and wrote a working start, but it could not fix a console error after many rounds, and Sonnet fixed the same error almost instantly. Local models do shine at other agent tasks, where iteration is free.
Can a MacBook actually run local models alongside real work?
Comfortably. During the test I ran the model with two to three concurrent requests, four VS Code windows each with Claude Code, Claude Desktop, and Chrome, and apart from fan noise the machine did not flinch. Concurrency at three simultaneous requests started to strain.