The AI coding agent that fits in 10 MB. A native desktop agent harness for DeepSeek V4, written in C++20 with wxWidgets. There's no Electron and no browser tab.
gritcode.ai · Download · Features · Compare · ♥ Sponsor
Runs DeepSeek V4 Pro and V4.1 Flash with your API key, or free models through the Kilo Gateway with no key and no sign-up. It can also run Claude through your own Claude Code install.
| Platform | Package | Requirements |
|---|---|---|
| macOS | .dmg (signed) |
macOS 14 or later, Apple Silicon |
| Linux | .deb |
Ubuntu 24.04 or later / Debian (built on Ubuntu 24.04) |
Get both from the latest release. On other distributions, build from source.
- An agent with real tools: bash, read, write and edit files, list, grep, web search and URL fetch, with collapsible tool-call cards and thinking blocks
- ▶ Play: the agent saves your project's run command, then one click builds and runs it with no AI round-trip. Output lands in the chat.
- Built-in editor: a file tree plus tree-sitter syntax highlighting, smart indentation and save
- Threads: several conversations per folder, all running at once, so an unrelated task starts with a clean context. Switch between them in the left pane; a mark tells you when one finished or failed while you were elsewhere.
- Subagents: DeepSeek and Kilo models can hand work to subagents running in the background, and Claude Code's own subagents show up too. Each one is a thread under its parent that you can open and follow live.
- Project brief: the first new thread in a folder writes a short brief of the project, and every new thread starts with it
- Sessions: history in SQLite. Export a thread to a
.gritsessionfile (images included) and replay its prompts in a new project. - Cross-project memory: full-text search over past conversations, available to the agent through
grit_history_searchandgrit_history_fetch, across all projects or just the folder's other threads - Cheap long sessions: compaction only near the context limit, a token-budgeted tail and chained summaries
- Vision: drag screenshots into the message box
- Streaming markdown: headings, tables and code blocks render live
- Native: the Tahoe look on macOS and GTK on Linux, following your dark/light theme. API keys are stored in the OS keyring.
| Gritcode | OpenCode (TUI) | Claude desktop | Cursor | |
|---|---|---|---|---|
| App size on disk | 10.5 MB | 143 MB | 892 MB | 1.36 GB |
| RAM at rest | 58 MB | 383 MB | ~1.8 GB | ~1.6 GB |
Measured on an Apple Silicon Mac on 14 Sep 2026 (OpenCode 1.18.30). RAM is the macOS physical memory footprint summed over each app's processes, while idle. More at gritcode.ai/compare.
git clone https://github.com/lszl84/gritcode.git && cd gritcode
# Linux (Debian/Ubuntu)
sudo apt install build-essential cmake ninja-build pkg-config \
libwxgtk3.2-dev libgtk-3-dev libcurl4-openssl-dev \
libsqlite3-dev libsecret-1-dev
cmake --preset release
cmake --build --preset release
./build/gritcode
# macOS
brew install cmake ninja
cmake --preset release
cmake --build --preset release
open ./build/gritcode.appOn other Linux distributions, install the equivalent development packages for wxWidgets 3.2 (GTK 3), GTK 3, libcurl, SQLite and libsecret. On macOS, wxWidgets is built statically from source, so the .app has no Homebrew dependencies.
Click the ⚙ gear button in the bottom toolbar to open Settings, then paste your DeepSeek API key (get one here). Keys are stored in the OS keyring: the macOS Keychain or the Linux Secret Service. Kilo Free needs no key.
The Model dropdown also offers Claude (Opus 5.5) and Claude (Sonnet 5). These run your installed Claude Code (the claude command) headlessly, so you need Claude Code installed and signed in: run claude once in a terminal and log in. Gritcode never sees your Claude credentials; usage goes to your own Claude account or API key.
With Claude selected, Claude Code runs its own agent loop and tools (Bash, Read, Edit, …), and Gritcode shows them in the chat. As with Gritcode's own agent, tools run without confirmation prompts. The ▶ Play button works the same with Claude: Gritcode gives Claude its run_project tool so it can set up the run command. Each Gritcode thread resumes its own Claude Code session, and when you switch models mid-thread the other model gets a transcript of what happened. Claude Code's subagents appear as threads under the one that started them. The project brief is written with Sonnet through the same Claude Code install, so nothing goes to another provider. Claude's effort level is in Settings.
Gritcode is free, open source and built by one developer. If it saves you time:
- ♥ Sponsor the project on GitHub Sponsors
- Support the author on Patreon
- ⭐ Star the repo and tell a friend
GPLv3. See LICENSE.
