Desktop App + Terminal CLI·Open Source
 ███╗   ██╗  █████╗  ███╗   ██╗  ██████╗  █████╗   ██████╗  ███████╗  ███╗   ██╗  ████████╗
 ████╗  ██║ ██╔══██╗ ████╗  ██║ ██╔═══██╗ ██╔══██╗ ██╔════╝  ██╔════╝  ████╗  ██║  ╚══██╔══╝
 ██╔██╗ ██║ ███████║ ██╔██╗ ██║ ██║   ██║ ███████║ ██║  ███╗ █████╗    ██╔██╗ ██║     ██║
 ██║╚██╗██║ ██╔══██║ ██║╚██╗██║ ██║   ██║ ██╔══██║ ██║   ██║ ██╔══╝    ██║╚██╗██║     ██║
 ██║ ╚████║ ██║  ██║ ██║ ╚████║ ╚██████╔╝ ██║  ██║ ╚██████╔╝ ███████╗  ██║ ╚████║     ██║
 ╚═╝  ╚═══╝ ╚═╝  ╚═╝ ╚═╝  ╚═══╝  ╚═════╝  ╚═╝  ╚═╝  ╚═════╝  ╚══════╝  ╚═╝  ╚═══╝     ╚═╝

Ship code with an
AI teammate for your repo

Inspect code, plan changes, make focused edits, run validations, and review pull requests from a desktop app or the nanoai CLI — without giving up approval-first control.

# demo─────────────────────────────────────────────────────────────────────
session: example — working: ~/projects/my-appmodel: openai/gpt-4o
Refactor the auth module to use JWT tokens
I'll analyze the auth module and create a plan.
📋 Plan created: 3 steps
1. Add JWT package dependencies
2. Create TokenService.cs with signing logic
3. Update AuthMiddleware to validate tokens
⚠ Approve edits? [y/N]
✅ Writing src/Auth/TokenService.cs...
✅ Running dotnet test — 12 passed
enter: send · shift+enter: newline · F2: model · F3: plan · F4: files · ctrl+c: quit
# core-capabilities─────────────────────────────────────────────────

Not just chat — real work.

Desktop app + terminal CLI

Work visually in the desktop app or stay keyboard-first with the nanoai CLI. Same agent, same workspace, your choice.

[desktop][cli]
OpenAIChatGPT Plus/ProOpenRouterAnthropicGoogle AI Studio+ any compatible

Codebase indexing & search

Builds .nanoagent/cache/codebase-index.json for fast repo understanding. Search by concept, symbol, path, or behavior. Indexes incrementally and respects .gitignore / .nanoignore.

conceptsymbolpathbehavior
no full file contents stored · reads snippets from workspace · respects ignore rules

You stay in control

Sensitive actions like file edits, command execution, network access, MCP tools, memory writes, and elevated operations are controlled by profiles, permissions, and approval prompts.

read-onlyworkspace-writefull-access
# features─────────────────────────────────────────────────────────────────────

Team memory & repo docs

Reviewable memory files live in your repo: architecture.md, conventions.md, decisions.md, known-issues.md, test-strategy.md. Commit them, review them in PRs, keep your whole team aligned.

architecture.mdconventions.mddecisions.mdknown-issues.mdtest-strategy.md

Budget controls

Set spending limits for local or cloud mode. Prevent runaway API costs with /budget, /budget local, /budget cloud, and /budget status.

/budget/budget local/budget cloud/budget status

Workspaces & sections

The desktop app organizes work into local workspaces with saved sections — separate contexts for features, bug fixes, reviews, and planning. Each section has its own conversation history, plan, and file context.

featurebug-fixreviewplanning

Multiple working modes

Switch between build, plan, review, general, and explore profiles for implementation, read-only planning, code review, delegated work, or quick investigation.

buildplanreviewexplore

Built-in PR/MR review automation

Use NanoAgent in GitHub Actions, GitLab CI, or Bitbucket Pipelines to review diffs and post review comments automatically.

[github actions][gitlab ci][bitbucket pipelines]

Editor integration through ACP

Run NanoAgent as an Agent Client Protocol server so compatible editors and workflow tools can send prompts, manage sessions, and receive tool progress updates.

Undo and redo for tracked edits

Roll back or re-apply tracked file edit transactions directly from desktop controls or terminal commands.

Custom agents and skills

Add project-specific instructions, reusable skills, custom subagents, custom tools, and MCP servers to adapt NanoAgent to your workflow.

Local-first workspace

Workspace files, configuration, lesson memory, and optional audit logs are stored locally. Only needed prompts, snippets, tool outputs, and context are sent to the chosen model provider.

Permission policies & sandboxing

Actions can be allowed, denied, or require approval, with sandbox modes like read-only, workspace-write, and full-access when explicitly configured.

read-onlyworkspace-writefull-access

Secret redaction and safer logs

NanoAgent redacts common secret patterns before storing or displaying tool output, memory, audit records, logs, conversation history, workspace instructions, and errors. Your tokens and keys stay out of your history. Codebase indexing never stores full file contents — it reads snippets from current workspace files and respects .gitignore / .nanoignore exclusion rules.

# cli-workflows───────────────────────────────────────────────────

Beyond interactive mode — one-shot commands, piped input, and session resume.

$one-shot — ask a question without entering interactive mode
nanoai "Summarize this repository"
$piped input — feed file content or command output directly
cat error.log | nanoai --stdin "What caused this?"
$resume — pick up where you left off in a saved section
nanoai --section feature-auth "Continue the JWT refactor"
# extensibility──────────────────────────────────────────────────────

Hooks, delegation, custom tools — make NanoAgent yours.

Subagent delegation & orchestration

Built-in and project-defined subagents handle specialized tasks. Use @explore for investigation, @general for delegated work, or agent_delegate / agent_orchestrate for multi-step coordination.

@explore@generalagent_delegateagent_orchestrate

Custom process tools

Expose user-defined tools from agent-profile.json. Write tools in any language — just read JSON from stdin, output text or JSON. Python, Bash, Go, Rust, whatever your team uses.

stdin → JSON payload
stdout → text or JSON response
any language — python, bash, go, rust...

Lifecycle hooks

Automate around every phase of agent execution. Hooks fire on task, tool, file, shell, web, memory, permission, and delegation lifecycle events — for custom validation, logging, security gates, or workflow automation.

tasktoolfileshellwebmemorypermissiondelegation

Custom agents, skills & MCP servers

Add project-specific instructions, reusable skills, custom subagents, and connect MCP servers for external tools and data sources — all governed by the same permission and approval system. Adapt NanoAgent to your team's workflow, not the other way around.

# comparison────────────────────────────────────────────────────

Feature comparison across AI coding agents.

= supported · = not verified as first-class feature

← scroll horizontally to see all features
# install──────────────────────────────────────────────────
$macOS / Linux
curl -fsSL https://raw.githubusercontent.com/rizwan3d/NanoAgent/master/scripts/install.sh | bash
PS>Windows PowerShell
irm https://raw.githubusercontent.com/rizwan3d/NanoAgent/master/scripts/install.ps1 | iex

Restart your shell if nanoai is not immediately available.

## desktop-downloads

Pre-built desktop applications for every platform.

Platform
Download
Windows x64
Linux x64
Linux arm64
macOS x64
macOS arm64 Apple Silicon
# faq───────────────────────────────────────
# sponsor: ALFAIN Technologies (PVT) Limited — alfain.co

Ready to meet your
AI teammate?

Stop context-switching. Start building. NanoAgent keeps you in the flow state.

copied to clipboard