Atomic edits
One coherent change is one batch of replacements in one call, so a model that plans imperfectly still lands a single reviewable edit instead of a trail of half-steps.
Shun means an instant. It is a local-first coding harness for the models you actually run — no telemetry, no account, no server of ours — tuned so that a small model on your own GPU behaves like a serious engineer.
Public source on GitHub
Shun is local-first: it runs on the machine in front of you, keeps your work on it, and is built around the fact that a small model's context budget is small and its mistakes are cheap to provoke. There is no cloud tier waiting behind it.
Your code, your transcripts and your files stay on your machine. Not by policy — by construction.
There is no analytics library, no crash reporter, and no service of ours in the loop. The application has no account to sign into and nothing to report back to.
Put the weights on your own GPU and a task touches nothing but your disk. Transcripts, tool output, browser findings and files stay exactly where they were written.
Choose a hosted provider and the results relevant to that task go to that provider and nowhere else. Research, MCP servers and browser access are per-task and off until a task asks for them.
A frontier model will paper over a bad harness. A small one will not — it forgets, it calls tools badly, and it loses the thread the moment the prompt fills with things it does not need. That makes it the useful test. If the harness works for a 7B model, it works.
Private, predictable, and free at the margin. The claim is not that a small model matches a frontier one — it is that a small model with a serious harness beats a large one without.
Every tool returns bounded output by construction. Reads stream instead of loading a file into the transcript. A tool catalogue is not allowed to spend the budget before work starts.
Tools and plugin capabilities a task is not using stay out of the prompt. The model holds a short list it can actually reason about, not every schema the app owns.
One coherent change is one batch of replacements in one call, so a model that plans imperfectly still lands a single reviewable edit instead of a trail of half-steps.
Tool arguments are checked against a schema and a bad call comes back as a usable correction, rather than a dead end a weak model cannot recover from.
Quirks stay at the adapter boundary — reasoning replay, thinking format, per-model compatibility — so the loop keeps one shape across every model instead of branching on it.
Context is counted against the model's real window rather than a guess, and the remaining budget stays visible while a task runs. That is what makes a long session on a small model survivable.
Our goal is to build the best coding harness for any model that fits on a consumer GPU.
The kernel owns the transcript, the tool loop and the lifecycle, and nothing else. Everything a product actually needs — repositories, deploys, design files, a LaTeX renderer, a commit graph — arrives as a package that declares what it provides and what it needs. Those packages can be written from inside Shun itself.



Most agent products optimise the demo. Shun optimises the fourth hour of real work — where context has to hold, tools have to be real, and nothing is allowed to silently change under you.
Long sessions do not degrade. The transcript, tool results, and steering survive across turns instead of being summarized away.
Filesystem, shell, background processes, and a terminal that resolves commands exactly the way the agent does. No sandboxed mock of a developer machine.
Independent Pi sessions run concurrently with isolated run IDs, queues, drafts, and cancellation. A hidden task finishing never steals the visible one.
Authorization is decided by capability configuration and tool identity — never by guessing intent from the text of a shell command.
Servers, watchers, and workers are supervised resources with stable IDs, bounded output, and process-group termination. Managed from the header, not the chat.
No fireworks, no invented progress. One task, one running model, a quiet interface that stays out of the way for hours at a time.
Shun never installs Node, Git, or any other developer tool for you, and it never asks you to install one to keep working. It runs commands with the shell you already have.
.dmg
Signed with a Developer ID certificate and notarized by Apple.
DownloadShun-Setup-x64.exe
Runs on the shell you already have — Git Bash, PowerShell 7, or cmd.
Download.AppImage / .deb
AppImage for any distro, .deb for Debian and Ubuntu.
DownloadInstalled builds check for updates shortly after launch and every ten minutes. Before downloading, Shun measures every release source — the GitHub release itself and the mirrors that follow the same paths — then uses the fastest reachable one. A failed transfer retries through the rest, and any package that did not come from GitHub is verified against the release's published SHA-256 checksums before it can be installed.
Point SHUN_UPDATE_BASE at the asset base URL of your own copy — for example https://shunagent.com/shun — and it is preferred whenever it is competitive.