One window and one model picker. Use the subscriptions you already pay for through the vendors' official tools, pick any of hundreds of OpenRouter models with your own API key, or run GGUF models on your own GPU or CPU with the bundled llama.cpp runtime. Every task ends with a summary of changed files and checks you can review. Version 2.1 adds 64-bit ARM builds, a signed APT repository and an installer that checks the new version opens before it keeps it.
Preinstalled in Shadowfetch Linux 5.0 · also for other distributions
Subscription rows run Codex, Claude Code, Cursor and Grok through their official CLIs and Antigravity through Google's official agent server; each asks ShadowCode before running commands or editing files.
OpenRouter rows are labelled as billed per token and run on ShadowCode's own agent loop, with the same approvals, web tools and image support.
Usage is shown only as the vendor reports it; vendors that expose none say so. An Allowance panel lists what is left on every plan, OpenRouter credits and local models.
When a subscription reaches its plan limit, the conversation can continue on a local model instead of stopping.
Compare runs one task on two or three models in separate Git worktrees; you keep one result and the rest are removed.
Local models use a pinned llama.cpp with Vulkan and CPU backends, loaded one at a time on loopback.
Shell commands run in a bubblewrap sandbox with an empty home folder, so SSH keys, cloud credentials and API keys stay out of reach; rewind covers shell commands and subscription edits too.
ShadowCode's own agent has subagents, language-server error checking after each edit, a repo map and code search, and reads CLAUDE.md, Cursor rules and Claude Code skills.
Run tasks side by side in worktrees, use your own terminal, go from commit to pull request with CI checks, preview the app you're building and pick an element for the agent, and dictate with local voice input.
Follow and steer tasks from a phone over paired remote access, drive ShadowCode from Zed or JetBrains over ACP, and run prompts on a schedule or from a GitHub issue.
Start with no account: the first run offers a free, Apache-licensed model sized for your hardware, checksum-verified and downloaded only when you choose it. Until you connect a subscription, the picker lists the free models on this computer first.
When a task fails for a common reason (key refused, credits used up, conversation too long, provider busy, local model not running, offline) it says so in plain words and offers the next step, such as Try again or Continue on another model. Press ? for a glossary of the words the app uses.
Approval cards say in one sentence what an action does, how much it can affect and whether Rewind can undo it, for subscriptions too. Always allow here covers exact test, build and lint commands per project, never anything that deletes, installs or uses the network.
Commits, pushes and pull requests are checked for keys, passwords and .env files first; new packages are looked up on npm, PyPI and crates.io before install; API keys can move into the system keyring; Rewind restores small Git-ignored files such as .env.
One rulebook of rules, skills and commands reaches ShadowCode's agent and every subscription CLI. Ask another model for a second opinion on staged changes, or give plan, implement and review each their own model.
Paid models ask before spending more than $1 on a task or $10 in a day (both adjustable) and show a price before you send. A stuck task pauses and asks; /compact and /pin keep long conversations in shape.
The code index is kept between runs and covers projects of up to 250,000 files. Review groups changed files by risk, config and dependencies first, and Explain this change describes a file's change in plain words.
Settings › Your data and shadowcode backup, restore, doctor --repair and reset back up, restore, repair or start over; upgrades from every release since 0.28 are tested.
Version 2.1 runs on 64-bit ARM (aarch64) as well as x86_64, each package signed for its own architecture, and a signed APT repository keeps the Debian package current with apt upgrade on both.
The AppImage installer copies your database, starts the new version and waits for its window; if it hangs, crashes or reports the wrong version, everything is put back as it was. The model picker shows each model's time, reported cost and check results in your project, with an optional suggestion of the cheapest model that passed there.
Releases are signed: the installer verifies the publisher's Ed25519 signature before it runs anything it downloaded, and the app tells you when a new release is out without sending anything about you. On Shadowfetch Linux 5.0 that check is turned off by system policy and updates arrive through the Shadowfetch repository.
What it is not
ShadowCode is its own project, not Shadowfetch Linux. Shadowfetch Linux 5.0 preinstalls upstream's signed .deb unchanged; the earlier 4.x ISOs do not include it.
It does not bill an API key in place of a subscription, and it never turns on vendor overages.
Install
Releases
Download the AppImage or Debian package for your architecture (amd64 or arm64) from the repository releases page. Releases are Ed25519-signed; verify them with the independently obtained verifier bundle described in the repository README, not with a checksum alone. On Debian and Ubuntu you can instead add ShadowCode's signed APT repository, as the README's Debian section describes, after checking its key against release/trust/APT-SIGNING-KEY.
Builds target x86_64 and 64-bit ARM Linux with glibc 2.39 or newer (Ubuntu 24.04 or later). On Shadowfetch Linux 5.0 it is already installed and updates through the system repository; see shadowfetchlinux.org/shadowcode.
An offline, bring-your-own-DNA genomics workbench for macOS with conservative ancestry, pharmacogenomics, and research exports that never upload a genome.