Skip to content

Nori CLI

★ New
assess
AI / ML open-source Apache-2.0 free

At a Glance

Open-source Rust-built TUI that unifies Claude, Gemini, and Codex under a single terminal interface via Zed Industries' Agent Client Protocol, letting developers switch AI coding agents with a single /agent command.

Type
open-source
Pricing
free
License
Apache-2.0
Adoption fit
small
Top alternatives

What It Does

Nori CLI is a Rust-based terminal UI that presents a unified interface over three separate AI coding agents: Anthropic Claude Code, Google Gemini CLI, and OpenAI Codex. Rather than re-implementing agent capabilities, Nori acts as an orchestration shell — it wraps each upstream CLI via Zed Industries’ Agent Client Protocol (ACP) and lets developers switch between providers with the /agent command mid-session. Authentication is fully delegated to the upstream tools, so no new credentials are required.

The TUI is built with Ratatui and features double-buffered scrollback history and incremental rendering. The core value proposition is eliminating context-switching overhead for developers who regularly work with multiple AI providers, while preserving the full tool-use and file-editing capabilities of each underlying agent.

Key Features

  • Single-command provider switching: /agent command switches between Claude, Gemini, and Codex within a running session without restarting the terminal
  • ACP (Agent Client Protocol) integration: Orchestrates agents via Zed Industries’ emerging interoperability protocol; one of the first public consumers of ACP
  • Ratatui TUI with double-buffered scrollback: Fast incremental rendering in Rust; no performance degradation on large diffs or long sessions
  • Delegated authentication: Reuses existing auth sessions from Claude Code, Gemini CLI, and Codex CLI — no separate credential management
  • npm install distribution: Available as npm install -g nori-ai-cli or precompiled Rust binaries
  • MCP OAuth support (partial): Early MCP server integration appeared in 0.16.0, enabling connection to Model Context Protocol tool servers
  • Active release cadence: Multiple releases per week as of April 2026 (v0.17.0 current)

Use Cases

  • Multi-provider AI development workflow: Teams or individuals who want to leverage the strengths of different models (Claude for reasoning, Gemini for long context, Codex for OpenAI ecosystem) without maintaining three separate terminal sessions
  • ACP protocol experimentation: Engineers interested in the emerging Agent Client Protocol from Zed Industries as a potential interoperability standard for coding agents
  • Developer experience consolidation: Reducing cognitive overhead when switching between AI tools during a development session

Adoption Level Analysis

Small teams (<20 engineers): Reasonable fit for individual developers already using multiple AI coding CLIs who want to consolidate their workflow. The Rust binary installs cleanly, the TUI is polished, and the /agent switching is a genuine convenience. However, the tool is early-stage (v0.17.0), key features like sandboxing and session persistence are unshipped, and each upstream CLI must be separately installed and authenticated. Treat as a personal productivity experiment, not a team standard.

Medium orgs (20-200 engineers): Not recommended as a team standard yet. The dependency on three separate upstream CLIs creates a fragile dependency chain. There is no centralized configuration, no team policy management, and no documentation beyond the README. The feature gap (no sandboxing, no session persistence) is a significant limitation for structured workflows. Revisit when sandboxing and multi-agent orchestration ship.

Enterprise (200+ engineers): Not suitable. No enterprise features (audit logging, centralized policy, SSO), no production case studies, no organizational backing, and an architecturally fragile dependency on three separately-maintained upstream tools. OpenCode or a commercial tool would be more appropriate.

Alternatives

AlternativeKey DifferencePrefer when…
OpenCode40+ providers via LiteLLM, direct API calls, MIT licenseYou need broader provider support or want provider-agnostic API routing
Codex CLISingle-provider (OpenAI), cloud sandbox, 73k+ stars, matureYou primarily use OpenAI and want a stable, well-supported tool
Claude CodeAnthropic-only, strongest autonomous task completionYou are committed to Anthropic and prioritize task quality over provider flexibility
Gemini CLIGoogle-only, free tier (1k req/day), 1M context windowYou want a free-tier option or need maximum context length
GooseMCP-native, multi-provider, AAIF governanceYou want vendor-neutral open-source with a mature extensibility model

Evidence & Sources

Notes & Caveats

  • ACP is pre-stable: The Agent Client Protocol from Zed Industries is not yet a finalized standard. Nori’s architecture is built on a moving target; breaking changes in ACP will propagate directly.
  • Upstream coupling risk: Nori depends simultaneously on Claude Code, Gemini CLI, and Codex CLI. Each of these tools releases frequently and independently. A breaking change in any one of them can break Nori’s integration for that provider.
  • Not a standalone agent: Nori does not call AI APIs directly — it requires each upstream CLI to be installed and authenticated separately. This increases the setup complexity compared to tools like OpenCode that own their own API calls.
  • Tilework-tech organizational risk: No organizational backing, funding, or team size information is publicly available. Single-developer open-source projects carry abandonment risk. The rapid release cadence is positive, but longevity is uncertain.
  • Sandboxing and session persistence are aspirational: These are listed as roadmap items but are not shipped as of v0.17.0. Without sandboxing, Nori inherits the safety model of each upstream CLI rather than enforcing its own.
  • npm packaging is unusual for a Rust binary: The npm install -g nori-ai-cli distribution is convenient but unusual for a native Rust tool. It suggests the author prioritized accessibility over idiomatic Rust packaging (e.g., Homebrew, cargo install, system packages).

Related