nca Native AI Coding CLI
Run resumable AI coding sessions in your terminal, with child agents and worktrees for splitting tasks.
- Source repo
- madebyaris/native-cli-ai
- Stars
- ★ 205
- Last updated
- today
- License
- MIT
- Primary language
- Rust
- FA score
- 59/100 · Major gaps
At a glance
- How it runs
- Works with
- Universal · cross-platformOpenAI API · Claude API
- Cost
- Free software; you pay for model usage
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- A solo developer wants to code interactively in one terminal, review diffs, and switch among build, plan, review, fix, or test profiles.
- Not a fit if
- Teams that need a desktop app instead of a terminal interface
- Teams that require all model calls to stay on the local machine
- Source review
- 59/100 · Major gaps
What does this agent do, and when should you use it?
nca is a Rust coding CLI distributed as a single binary, operated mainly through a full-screen TUI or line-oriented REPL, with one-shot runs and detached background sessions also available. Its runtime uses a Supervisor to manage session lifecycle, approvals, event fanout, IPC, and persistence; session state is stored as JSON snapshots with JSONL event logs. It can launch child agents with parent-child lineage and optional isolated Git worktrees. The CLI exposes JSON, NDJSON, and Unix-socket IPC for interactive use and automation. MiniMax is the default provider, alongside OpenAI, Anthropic, OpenRouter, Alibaba DashScope, and custom compatible endpoints; the product is terminal-first, with no default desktop or browser interface.
nca reads workspace guidance such as AGENTS.md, .ncarc, and .nca/instructions.md, then loads built-in tools and optional configured MCP tools. Start an interactive session with nca, run a focused task with nca run --prompt, or create a detached session with nca spawn --prompt and inspect or join it using nca status, nca logs, and nca attach. The agent can use file operations, search, patches, shell, web, and other tools, send requests to the configured model provider, and produce replies, tool events, and session records. The Supervisor persists sessions and handles controls over Unix sockets; child agents can inherit context and use separate worktrees. Automation can use --json or --stream ndjson, while desktop ACP clients can drive the same local binary through nca acp.
- A solo developer wants to code interactively in one terminal, review diffs, and switch among build, plan, review, fix, or test profiles.
- A maintainer needs a focused task that exits when complete and can use nca run --prompt for foreground execution.
- A developer wants repository analysis or planning to run in the background, then checks progress with status, logs, or attach.
- A team exploring a codebase in parallel can launch child agents with lineage and give each task an isolated Git worktree.
- An automation or orchestration process can launch tasks and consume structured events through JSON, NDJSON, and Unix-socket IPC.
- A researcher can run nca autoresearch once to execute a metric-driven experiment and print parsed output.
How do you install or deploy this agent?
On macOS and Linux, use the installer to install the latest release. Set NCA_VERSION to pin a version and NCA_INSTALL_DIR to choose the install location. Windows users can download the matching ZIP and put nca.exe on PATH. Building from source requires a recent Rust toolchain with Rust edition 2024 support.
How do you use this agent?
Configure an API key for a supported provider before the first run. This example uses the default MiniMax provider; then start the TUI, run a one-shot task, or create a background session and inspect its status.
What are this agent's strengths and limitations?
- One Rust binary provides a TUI, line REPL, one-shot runs, and detached sessions for terminal workflows.
- Snapshots, event logs, resume support, and Unix-socket IPC provide a persistent session model that can be inspected and controlled.
- Child agents support lineage and optional Git worktree isolation, while the CLI offers JSON and NDJSON output.
- Provider support includes MiniMax, OpenAI, Anthropic, OpenRouter, DashScope, and custom endpoints, reducing dependence on a single model vendor.
- The product is terminal-first; the README explicitly says its default path has no desktop wrapper or browser interface.
- Typical use requires provider credentials and network access; model calls may incur costs set by the chosen provider.
- Building from source requires Rust edition 2024, and worktree-based child sessions also rely on Git.
- The macOS desktop control and recording tools are macOS-only and require Accessibility or Screen Recording permissions.
How does this agent compare with similar options?
The README reports startup and memory measurements against Claude Code, Grok CLI, and Cursor CLI. It cautions that wall time mostly reflects each provider's model, the measurements came from one Mac, and the nca build measured predates 0.5.0. The stated distinctions are its single Rust binary, low client resource footprint, persistent sessions, and worktree-based child agents.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| nca Native AI Coding CLI This agent | 59 · Major gaps | CLIFree + model costs | ★ 205 | today | Rust | OpenAI API · Claude API |
| zerostack | 69 · Some gaps | CLIFree + model costs | ★ 1.7k | 4d ago | Rust | OpenAI API · Claude API |
| Grok Build (grok CLI) | 46 · Major gaps | CLIFree + model costs | ★ 28k | 1mo ago | Rust | — |
| Oh My Pi | 68 · Some gaps | CLIFree + model costs | ★ 38k | today | TypeScript | Codex · OpenAI API · Claude API |
How does FollowAgents rate this agent?
Why each dimension lost points
The permissions guide documents safe and plan modes, allow/deny/ask rules, confirmation for dangerous commands, and session-scoped approvals. ACP runs over standard input/output, while the README describes session, log, image, and configuration locations, supporting moderate evidence for least privilege, confirmation, and data-flow transparency. However, bypass-permissions can auto-allow all tools, and MCP, hooks, search, and command execution have external effects. API keys can be read from environment variables and plaintext config is discouraged, but encryption or broader secret-management controls are not shown. Dependency security and recovery evidence are limited. Repository and CI/release paths are visible, while publisher identity and maintenance responsibility remain unclear.
The documentation describes retries, timeouts, clearer output-limit errors, and unsupported MCP transport warnings. CI configuration lists formatting, Clippy, build, and test steps, but this review did not execute them. The packet has inconsistencies: README says version 0.66.0 while a configuration example retains a 0.5 user-agent string, and storage paths and feature descriptions mix old and new details. Cargo declares Rust 2024, but no lockfile or dependency audit evidence is supplied.
The README gives concrete scenarios for terminal use, one-shot tasks, background sessions, multi-agent work, automation, research, and ACP clients. Permission modes, TTY/REPL switching, multiple providers, and configurable MCP show adaptation options. Boundaries are documented, including macOS-only GUI/recording tools, supported ACP transports, and vision-model requirements, though users still need to configure and judge many executable capabilities and modes.
The documentation has a navigable structure, quick start, command tables, configuration reference, and usable examples. Installation covers a script, release archives, and source builds, with Rust and Git prerequisites. Workspace metadata declares MIT, and version and release notes are present. Deductions reflect stale version/path details, incomplete FAQ and limitations coverage, and no clear publisher maintenance responsibility or support/update contact in the packet.
The product offers a TUI, REPL, one-shot runs, persistent sessions, JSON/NDJSON, IPC, worktree subagents, and ACP; structured output and session management suit both users and orchestrators. Multiple providers, long-session context handling, and research helpers add potential value, while requiring external model APIs and keys and adding setup and maintenance costs through worktrees, MCP, hooks, and permission configuration. Execution was not performed, so claimed outcomes remain unverified.
Several README feature and safety claims have partial support in the permissions guide, CLI arguments, ACP entry point, workspace manifest, and CI/release configuration. The packet identifies some implementation paths and settings, but performance, compatibility, and security outcomes remain documentation claims. This review does not present them as execution-verified facts.
- bypass-permissions auto-allows every tool; check the prompts, MCP servers, and hook commands before using that mode.
- The documented installer pipes a curl download to bash; API keys are used with external model providers, and configuration examples permit direct key values.
- Some documentation retains older version or path details. This was a static review; build, tests, and installation were not run.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
What's Changed * feat: add regex option search (#11), Alibaba DashScope provider (#20), and test isolation by @adisusilayasa in https://github.com/madebyaris/native-cli-ai/pull/69 * Release v0.66.0 by @madebyaris in https://github.com/madebyaris/native-cli-ai/pull/76 New Contributors * @adisusilayasa made their first contribution in https://github.com/madebyaris/native-cli-ai/pull/69 Full Changelog: https://github.com/madebyaris/native-cli-ai/compare/v0.65.0...v0.66.0View on GitHub ↗ -
Release notes excerpt
What's Changed * feat(web_search): add Keenable backend (keyless, optional key) by @KGKallasmaa in https://github.com/madebyaris/native-cli-ai/pull/75 New Contributors * @KGKallasmaa made their first contribution in https://github.com/madebyaris/native-cli-ai/pull/75 Full Changelog: https://github.com/madebyaris/native-cli-ai/compare/v0.6.0...v0.65.0View on GitHub ↗ -
Release notes excerpt
What's Changed * Release v0.6.0: per-model cost, compaction that keeps the conversation, search fallback by @madebyaris in https://github.com/madebyaris/native-cli-ai/pull/72 Full Changelog: https://github.com/madebyaris/native-cli-ai/compare/v0.5.5...v0.6.0View on GitHub ↗
FAQ
Does running nca cost money?
Is nca limited to MiniMax?
Can I use it from a desktop client?
Do tool actions run without approval?
Can it run fully offline?
Thanks — we use this to improve the page.