# ringlet > One CLI for every AI coding agent. Ringlet is the open-source orchestrator for > Claude Code, Codex CLI, Grok CLI, Droid, and OpenCode — with isolated profiles, > provider switching (Anthropic / OpenAI / MiniMax / OpenRouter), token-level > cost tracking, sandboxed remote terminal sessions, and a local web dashboard. Ringlet is an open-source (MIT) Rust binary by Neul Labs. It manages the AI coding agent CLIs you already use — Claude Code, Codex, Grok, Droid, OpenCode — behind a small unit called a *profile*. Each profile is (agent + provider + credentials + isolated HOME). Profiles don't share state. Cost is tracked across all of them in one SQLite ledger. - Repository: https://github.com/neul-labs/ringlet - Marketing site: https://ringlet.neullabs.com - Documentation: https://docs.neullabs.com/ringlet - Latest version: 0.1.0 - License: MIT - Platforms: macOS 13+, Linux x86_64, Linux aarch64 (Windows in progress) ## Why it exists In 2026, most developers use more than one AI coding agent. Each agent CLI assumes it owns the machine: own dotdirectory, own config, own provider default, own account. Ringlet sits one level above the CLI and gives you per-project isolation of credentials, providers, and history — without the agent itself changing. ## Core features - **Profile isolation** — Each profile has its own HOME directory, credentials, conversation history, MCP server config, and trust cache. Two Claude Code profiles never see each other's state. - **Provider switching** — Bind any agent to Anthropic, OpenAI, MiniMax, OpenRouter, or any OpenAI-compatible gateway. The agent's own config never changes; Ringlet injects the right env vars at launch. - **Cost tracking** — Token + dollar accounting parsed from streaming usage events, written to a per-profile SQLite ledger. `ringlet usage` aggregates across agents and providers. CSV export. - **Event hooks** — Shell or webhook on `pre-tool-use`, `tool-use`, `stop`, `notify`, `cost-threshold`, `daily-rollup`. Audit logs, Slack alerts, pre-flight guards. - **Sandboxed remote sessions** — Run the daemon on a server, access the agent PTY from your laptop's browser. Sessions exec inside `bwrap` (Linux) or `sandbox-exec` (macOS). - **Keychain-backed credentials** — macOS Keychain, GNOME Keyring / KWallet, Windows Credential Manager. Plain-text fallback only when the keychain is unavailable, mode 0600. - **Web dashboard + Tauri desktop app** — Vue 3 + xterm.js dashboard at 127.0.0.1:8765, bearer-token auth, localhost-only by default. - **Single Rust binary** — No SaaS, no required daemon (the daemon only runs if you want the web UI), no per-seat fee. Install with one curl. ## Supported agents | Agent | Wire format | Providers | |---|---|---| | Claude Code | Anthropic-shaped | anthropic, minimax, openrouter | | Codex CLI | OpenAI-shaped | openai, openrouter, groq | | Grok CLI | OpenAI-shaped | openai, openrouter, custom | | Droid CLI | Anthropic-shaped | anthropic, minimax | | OpenCode | Anthropic-shaped | anthropic, minimax, openrouter | ## Quickstart ```bash curl -fsSL https://raw.githubusercontent.com/neul-labs/ringlet/main/install.sh | sh ringlet init ringlet profiles create claude work --provider anthropic ringlet profiles run work ringlet usage ``` ## Differentiation | Capability | ringlet | Claude Squad | Conductor | LiteLLM | OpenRouter | |---|:---:|:---:|:---:|:---:|:---:| | Manages multiple agent CLIs | ✓ | ✓ | ✓ | ✗ | ✗ | | Isolated HOME / config per profile | ✓ | partial | partial | ✗ | ✗ | | Per-profile provider switching | ✓ | ✗ | ✗ | ✓ | ✓ | | Cross-agent cost accounting | ✓ | ✗ | partial | ✓ | ✓ | | Keychain-backed credentials | ✓ | ✗ | ✗ | partial | ✗ | | Sandboxed exec | ✓ | ✗ | partial | ✗ | ✗ | | Self-hosted | ✓ | ✓ | ✓ | ✓ | ✗ | | License | MIT | AGPL-3.0 | source-available | MIT | proprietary | LiteLLM and OpenRouter are not direct alternatives — they sit at a different layer (LLM gateway / model marketplace). They work great as Ringlet providers. ## Key pages - `/` — landing page with the full pitch. - `/features` — every feature in depth with command examples. - `/security` — sandboxing, keychain, daemon auth. - `/agents` — supported agents and the env vars Ringlet injects per agent. - `/providers` — supported providers; how to add a custom one. - `/install` — install flow, init, first profile, dashboard. - `/compare` — side-by-side with Claude Squad, Conductor, LiteLLM, OpenRouter. - `/for-teams` — multi-developer setup, audit hooks, FinOps integration. - `/for-solo-devs` — single-developer setup, replacing shell aliases. - `/blog` — articles on agent stack architecture, profile internals, cost routing. - `/faq` — common questions. ## License + brand Ringlet is open source under the MIT license. © Neul Labs. Contact: ringlet@neullabs.com.