nanocode

A small terminal coding agent

nanocode works in your terminal: you describe a task, and it reads code, edits files, runs commands, and reports back. It keeps stable prompt prefixes so supported providers can reuse work, maintains a searchable code index, runs background jobs, tracks its own working notes, and resumes where you left off.

nanocode editing code and running tools in one interactive session

Editing code and running tools in one interactive session.

Use at your own risk

nanocode edits files and runs shell commands in the directory where you start it. It has no sandbox of its own. Run it inside a container, VM, or another isolated environment when you need isolation. See Safety.

Install and run

uv tool install nanocode-cli
nanocode --init-config          # write ~/.nanocode/config.toml
# add your provider's url, key, and model to that file
nanocode

Full walkthrough: Getting started.

What it does

nanocode working through a repository task

Working through a repository task in an interactive session.

Area

In short

Interaction

Follow-ups, commands, keys — how you drive the agent.

Tools

Read, search, navigate code; edit files; run commands; background jobs.

Sessions

Your work is saved and resumable with -c or --resume.

MCP

Connect external Model Context Protocol servers and use their tools.

Skills

Load reusable instruction packs on demand.

Providers

Any OpenAI-compatible API, plus Anthropic.