nanocode

Open source · One Python file · Fully hackable

The coding agent that
fits in one file.

Reads, edits and runs your code from the terminal — on your Claude subscription, any OpenRouter model, or local models with Ollama.
Hackable and fully editable: read it, change anything, make it yours.

Install
# Installs into ~/.nanocode. Gets Python for you if it's missing.
$ curl -fsSL https://raw.githubusercontent.com/car-mrazomor/nanocode-agent/master/install.sh | sh
# Then start it and pick a provider
$ nanocode

Also on Android (Termux). Update with /update, check with nanocode doctor, remove with nanocode uninstall.

See it work

Read, edit, run — and it tells you what it did.

What it does

{ }

Hackable, fully editable

The whole agent is one Python file. Read it in an afternoon, change any prompt, tool or key, and it's yours.

⧉

Chat & agents

Multi-turn chat plus an agent that plans with a checklist, calls tools, and hands side tasks to sub-agents running in parallel.

←

Asks before it acts

Reads, edits and runs commands, with background shells for dev servers. Edits show a diff and wait for your OK. /undo reverts.

◎

Web search

Searches and reads pages through your own browser, for any model and any provider. DuckDuckGo, Bing, Google or OpenRouter.

◇

MCP

Any MCP server you connect, on every provider. /mcp import brings yours from Claude Code; toggle per tool.

▥

Compare

Send one prompt to several models at once and compare the answers side by side, with time and cost for each.

✉

Email assistant

Summaries, style-matched draft replies, tagging and spam triage over IMAP/SMTP. Nothing is sent without your OK.

◆

Memory & skills

Notes it always follows (# note) and skills it loads when a task matches — Claude Code skills work too.

∴

Thinking levels

/think off, low, medium or high, for every provider. Shown right under the prompt.

%

Reverse engineering

Optional REA tools for binaries, APKs, Electron apps, web bundles and firmware — installed for you.

⇅

A mouse that works

Smooth scrolling, drag to select and copy, and your message pinned on top while you read the answer.

↑

Costs and updates

Time, tokens and cost after every reply, /compact when context fills up, and /update for new versions.

Bring your own model

Switch any time →
/provider claude

Claude subscription

The plan you already pay for, through the Claude Agent SDK. No API key.

/provider openrouter

OpenRouter

Any model — Claude, GLM, GPT, Gemini, DeepSeek, Kimi — or the auto router. Cost shown per reply.

/provider ollama

Ollama

Local models on your machine. Free, private and offline.

Small enough to read.
Good enough to ship with.