Conduit is a terminal agent designed to maintain Claude Code wire compatibility while offering innovative features. It serves as a flexible coding assistant for developers and technical users, providing a seamless experience across various AI providers.
Key Features:
Provider-Aware Routing: Assign models per role, enabling efficient task management.
Multi-Provider Support: Works with OpenAI-compatible providers and local MCP models.
Streaming SSE: Real-time output with cost tracking for transparent usage.
Fast Mode: Accelerates response times for quicker interactions.
Token Savings: Utilizes RTK filtering to reduce unnecessary token consumption.
Audience & Benefit:
Tailored for developers and technical users, Conduit enhances productivity by offering faster performance and cost efficiency. Its compatibility with multiple AI providers ensures flexibility, while maintaining the ergonomics of Claude Code for a smooth user experience.
Install Conduit via winget to start leveraging its capabilities in your development workflow.
README
conduit
A local-first, provider-aware coding agent for the terminal.
Conduit began as a Go port of Claude Code. It still keeps that compatibility where it matters: Claude OAuth, Anthropic wire format, the familiar tool surface, project memory, sessions, plugins, and MCP. It has also grown into its own agent runtime: Conduit-owned config, multi-account switching, role-based model assignment, OpenAI-compatible providers such as Gemini, and local/MCP-backed models can all live in one TUI.
The goal is simple: keep the Claude Code ergonomics, make the runtime fast and hackable, and let you choose where each kind of work runs.
Thinking mode — extended reasoning via /effort low|normal|high|max
Fast mode — /fast toggles Haiku for faster/cheaper turns
Coordinator mode — Claude as orchestrator managing parallel sub-agents
Council mode — multi-model debate across N configured providers; parallel critique rounds with synthesis, convergence detection, member roles, and peer voting
Exponential backoff — automatic retry on 429 with jitter
Tools (30+ built-in)
Tool
What it does
BashTool
Run shell commands with RTK token compression
FileReadTool
Read files with line-range support
FileWriteTool
Write files with diff preview
FileEditTool
Surgical edits by exact string replacement
GrepTool
Regex search across files
GlobTool
File discovery by pattern
AgentTool
Spawn sub-agents for parallel work
WebFetchTool
Fetch URLs with content extraction
WebSearchTool
Web search via Anthropic's native search API
NotebookEditTool
Edit Jupyter notebooks cell by cell
REPLTool
Subprocess code execution for JavaScript, Python, and Bash snippets
TodoWriteTool
Structured task tracking
TaskCreate/Get/List/Update/Stop
Sub-agent task lifecycle
EnterPlanMode / ExitPlanMode
Propose-only mode (no file edits)
EnterWorktree / ExitWorktree
Git worktree switching
AskUserQuestion
Pause for user input mid-turn
ConfigTool
Read/write conduit settings
MCPTool
Call any MCP server tool
ListMcpResources / ReadMcpResource
MCP resource access
SkillTool
Execute installed skills
SleepTool
Pause between actions
LSPTool
Language server queries: hover, definition, references, diagnostics
CLAUDE.md loading — walks from cwd to root, injects as system blocks
@include directives — compose CLAUDE.md files across directories
Auto-memory — summarises conversations to MEMORY.md; injected on next session
Memory scanning — /memory scan finds stale or contradicted facts
Relevant memory search — surfaces related memories by keyword on session start
TUI
Bubble Tea v2 — native Shift+Enter via Kitty keyboard protocol
Full GFM markdown — tables, task lists, strikethrough, blockquotes, code blocks with syntax
Light and dark themes — /theme picker with 6 built-in palettes (dark, light, daltonized variants, ANSI variants), custom theme support
Output styles — /output-style for different response modes (default, Explanatory, Learning; plugins can add more)
Custom keybindings — ~/.conduit/keybindings.json remaps actions, with Claude keybindings imported as fallback
Status bar — provider, model, mode, context %, cost, and rate-limit indicator
Coordinator footer — live sub-agent progress during multi-agent runs
Accounts and providers
Platform keychain storage — macOS Keychain, Linux libsecret, Windows Credential Manager via go-keyring
/account panel — add, switch, remove, and delete accounts without restarting
Conduit-owned account registry — account metadata lives in ~/.conduit/conduit.json; credentials stay in the keychain
Provider registry — Claude subscription, Anthropic API, OpenAI-compatible, and MCP providers can be assigned to roles
Provider context windows — custom providers can set contextWindow; OpenAI-compatible streams request usage metadata when the server supports it
Role presets — default, main, background, planning, and implement roles make it easy to run expensive work on one model and smaller work somewhere else
Provider account wire checks — see PROVIDER_COMPATIBILITY.md and run make wire for Copilot and ChatGPT/Codex drift guards
In-process RTK (token savings)
Conduit ships with RTK (Rust Token Killer) ported to Go as a zero-overhead in-process filter. Every BashTool result is passed through the filter before being sent to the model.
git clone https://github.com/icehunter/conduit
cd conduit
make build
# binary at ./conduit
Quick start
# Start an interactive session
conduit
# Sign in with your Claude Max / Teams subscription (inside the TUI)
/login
# Assign providers/models by role
/models
# Configure accounts, providers, plugins, stats, and usage
/config
# One-shot prompt (no TUI)
conduit --print "explain this codebase"
# Continue last session
conduit --continue
# Resume a specific session
conduit --resume
Slash commands
Command
Description
/help
List all commands
/commands
Open the slash command picker
/model
Switch model (claude-opus-4-7, claude-sonnet-4-6, …)
/models
Open the role-aware provider/model picker
/fast
Toggle fast mode (⚡ badge in status bar)
/effort
Set thinking budget: low / normal / high / max
/compact
Summarise and compress conversation history
/clear
Clear conversation and start fresh
/plan
Enter plan mode — Claude proposes, doesn't edit
/council
Run a multi-model debate regardless of current mode
Toggle Claude plan usage footer and background fetching
/stats
Per-tool usage counts
/session
Session ID, path, message count, duration
/tasks
Active sub-agent tasks
/agents
Active sub-agents
/thinkback
Show last thinking blocks
/copy
Copy last assistant response to clipboard
/rtk
RTK token-savings commands
/doctor
Diagnose: auth, MCP connectivity, settings
/keybindings
Show active keybinding map
/buddy
Meet your companion
/coordinator
Toggle coordinator mode
/hooks
Manage PreToolUse / PostToolUse hooks
/init
Create a CLAUDE.md for this project
/review
Compact and summarise what was done
/exit
Quit
Configuration
Settings file
~/.conduit/conduit.json — Conduit's primary user-global settings file, managed via /config or edited directly. On first run, Conduit can import compatible Claude settings from ~/.claude/settings.json; project-local settings in .claude/ and .conduit/ still layer on top, with .conduit/settings.local.json winning last.
Place a CLAUDE.md in any directory — conduit reads from the file's directory up to the repo root and your home directory, injecting each as a system context block. Use @path/to/file inside to include another file inline.
Conduit ships with RTK (Rust Token Killer) — originally a Rust CLI by rtk-ai — ported to Go and fused directly into the process. It intercepts BashTool results before they reach the model and applies command-aware compression rules.
Inside the TUI:
/rtk gain # cumulative savings across all sessions
/rtk discover # scan transcripts for missed compression opportunities
Enables coordinator mode: Claude acts as an orchestrator that spawns sub-agents via AgentTool. Sub-agents run in parallel, each with their own tool context and history. The coordinator footer in the status bar shows live agent progress.
Building from source
Requirements: Go 1.26
make build # builds to ./conduit
make test # go test ./...
make test-race # go test -race ./...
make lint # golangci-lint run
Claude Code compatibility
Conduit maintains wire compatibility with Claude Code: Anthropic OAuth, API headers and billing block, plugin format (commands, skills, hooks, agents), MCP protocol, and the tool surface the model expects. Claude-compatible settings can be imported or layered for projects, while Conduit-owned user state lives under ~/.conduit.
Features intentionally not implemented (Claude-internal or bridge-dependent):
VS Code / JetBrains bridge — use real Claude Code for IDE integration