<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>ringlet — blog</title><description>Articles on AI coding agent orchestration, profile isolation, multi-provider routing, sandboxing, cost tracking, and the internals of Ringlet.</description><link>https://ringlet.neullabs.com/</link><language>en-us</language><item><title>Multi-agent workflows: parallel runners vs profile-switching</title><link>https://ringlet.neullabs.com/blog/multi-agent-workflows/</link><guid isPermaLink="true">https://ringlet.neullabs.com/blog/multi-agent-workflows/</guid><description>Two patterns for running multiple AI coding agents — parallel runs on git worktrees (Claude Squad, Conductor) and Ringlet&apos;s serial profile-switching. When each one is right, and how to use them together.</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate><category>narrative</category><category>workflow</category><category>parallel</category><category>agents</category></item><item><title>Migrating from shell aliases to Ringlet profiles in 15 minutes</title><link>https://ringlet.neullabs.com/blog/migrating-from-shell-aliases/</link><guid isPermaLink="true">https://ringlet.neullabs.com/blog/migrating-from-shell-aliases/</guid><description>A step-by-step migration from per-project bash aliases — multiple ANTHROPIC_API_KEY exports, direnv files, wrapper scripts — to Ringlet&apos;s profile model. Before/after, including the parts that don&apos;t translate.</description><pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate><category>guide</category><category>migration</category><category>bash</category><category>shell</category></item><item><title>Keychain credential storage in Ringlet: Security.framework, Keyring, WinCred</title><link>https://ringlet.neullabs.com/blog/keychain-credential-storage/</link><guid isPermaLink="true">https://ringlet.neullabs.com/blog/keychain-credential-storage/</guid><description>Where Ringlet stores your API keys and why — Apple Security.framework on macOS, GNOME Keyring or KWallet on Linux, Windows Credential Manager. The Rust keyring crate, file-backed fallback, and how to rotate.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><category>technical</category><category>security</category><category>credentials</category><category>keychain</category></item><item><title>Event hooks and webhooks: audit logs, Slack alerts, pre-tool guards</title><link>https://ringlet.neullabs.com/blog/event-hooks-and-webhooks/</link><guid isPermaLink="true">https://ringlet.neullabs.com/blog/event-hooks-and-webhooks/</guid><description>Ringlet&apos;s hook system fires shell commands, scripts, or webhooks on every agent lifecycle event — tool use, stop, notify, cost-threshold. Use it for audit logs, Slack pages, or pre-flight checks on tool calls.</description><pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate><category>guide</category><category>hooks</category><category>audit</category><category>webhooks</category></item><item><title>Remote terminal sessions: running Claude Code on a server, browser access</title><link>https://ringlet.neullabs.com/blog/remote-terminal-sessions/</link><guid isPermaLink="true">https://ringlet.neullabs.com/blog/remote-terminal-sessions/</guid><description>How Ringlet runs an AI coding agent on a remote dev box and lets you access the live PTY from your laptop&apos;s browser. WebSocket PTY proxy, bearer-token auth, sandboxed exec, xterm.js dashboard.</description><pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate><category>guide</category><category>remote</category><category>websocket</category><category>pty</category></item><item><title>Sandboxing AI coding agents with bwrap and sandbox-exec</title><link>https://ringlet.neullabs.com/blog/sandboxing-ai-coding-agents/</link><guid isPermaLink="true">https://ringlet.neullabs.com/blog/sandboxing-ai-coding-agents/</guid><description>How Ringlet wraps remote agent sessions in a real OS sandbox — bubblewrap on Linux, sandbox-exec on macOS — keeping destructive commands inside a workspace. The config, trade-offs, and failure modes.</description><pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate><category>technical</category><category>security</category><category>sandboxing</category><category>bwrap</category></item><item><title>Routing requests by cost, tool use, or token count with Ringlet</title><link>https://ringlet.neullabs.com/blog/routing-requests-by-cost/</link><guid isPermaLink="true">https://ringlet.neullabs.com/blog/routing-requests-by-cost/</guid><description>Ringlet&apos;s optional ultrallm proxy routes an agent&apos;s individual requests to different providers by token count, tool use, or arbitrary TOML rules. Cheap completions to Groq, tool-heavy work to Anthropic — same agent.</description><pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate><category>guide</category><category>routing</category><category>cost</category><category>ultrallm</category></item><item><title>Cost tracking across Claude Code, Codex, and Grok in one ledger</title><link>https://ringlet.neullabs.com/blog/cost-tracking-across-agents/</link><guid isPermaLink="true">https://ringlet.neullabs.com/blog/cost-tracking-across-agents/</guid><description>How Ringlet parses streaming token-usage events from Anthropic, OpenAI, and MiniMax, writes them to a per-profile SQLite ledger, and aggregates spend across every agent and provider in one CLI command.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate><category>guide</category><category>cost</category><category>usage</category><category>finops</category></item><item><title>Profile isolation explained: how Ringlet keeps your AI agents separate</title><link>https://ringlet.neullabs.com/blog/profile-isolation-explained/</link><guid isPermaLink="true">https://ringlet.neullabs.com/blog/profile-isolation-explained/</guid><description>What&apos;s actually inside ~/.ringlet/profiles/&lt;name&gt;, how Ringlet rewrites the agent&apos;s HOME at launch, why env vars alone aren&apos;t enough, and what this means for caches, MCP servers, and tool approvals.</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate><category>technical</category><category>isolation</category><category>claude-code</category><category>internals</category></item><item><title>The agent stack in 2026: why one CLI per model isn&apos;t sustainable</title><link>https://ringlet.neullabs.com/blog/the-agent-stack-in-2026/</link><guid isPermaLink="true">https://ringlet.neullabs.com/blog/the-agent-stack-in-2026/</guid><description>Every major AI lab ships a coding CLI. Each assumes it owns your machine. The stack we&apos;re collectively building looks like the JavaScript ecosystem circa 2014 — and needs the same kind of orchestrator.</description><pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate><category>narrative</category><category>ai-agents</category><category>developer-tools</category><category>ecosystem</category></item><item><title>What is Ringlet? The agent orchestrator for the multi-CLI era</title><link>https://ringlet.neullabs.com/blog/what-is-ringlet/</link><guid isPermaLink="true">https://ringlet.neullabs.com/blog/what-is-ringlet/</guid><description>Ringlet is a Rust CLI that manages AI coding agents — Claude Code, Codex, Grok, Droid, OpenCode — behind isolated profiles, with provider switching and built-in cost tracking. What it does and who it&apos;s for.</description><pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate><category>ringlet</category><category>ai-agents</category><category>claude-code</category><category>codex</category><category>orchestration</category></item><item><title>Announcing Ringlet 0.1.0 — one CLI for every coding agent</title><link>https://ringlet.neullabs.com/blog/announcing-ringlet-0-1/</link><guid isPermaLink="true">https://ringlet.neullabs.com/blog/announcing-ringlet-0-1/</guid><description>First public release of Ringlet: the open-source orchestrator for AI coding agents. Profile isolation, provider switching, cost tracking, sandboxed remote sessions, web dashboard — all in one MIT Rust binary.</description><pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate><category>announcement</category><category>release</category><category>ringlet</category></item></channel></rss>