A terminal-based AI coding assistant written in Rust, inspired by Claude Code.
oxide-code (ox) is a terminal agent for software engineering tasks. It runs Claude models through the Anthropic API or a compatible gateway to explore codebases, edit files, and run commands, with tool permissions and resumable sessions.
Early development. What works today:
- Terminal UI: streaming Markdown, syntax-highlighted code blocks, mouse-wheel scrolling and drag-to-copy selection, a configurable status line, and 5 built-in themes with custom TOML overrides
- Headless mode: one-shot
-pruns for scripts and pipelines, with output as text, a JSON result, or a JSON event stream, plus a bare REPL (--no-tui) - Models: Claude Fable 5.1, Opus 5.5, Sonnet 5.5, and Haiku 5.5, each with a 1M-token context window, adjustable effort, and adaptive thinking
- Tools:
read,write,edit,glob,grep, andbash, plusbash_outputandbash_stopto read and stop background shells - Task list: the model tracks multi-step work in a list shown live and carried through resume and compaction
- Tool permissions:
manual(default), read-onlyplan, andyolomodes, switchable mid-session, with deny / ask / allow patterns and an approval prompt - Turn control: interrupt with Esc or Ctrl+C, queue follow-up prompts that join the running turn between tool calls, and exit with Ctrl+C twice, or Ctrl+D twice with an empty input
- Slash commands: commands for sessions, models and effort, permission modes, compaction, sign-in, themes,
/init, and status and config views, with autocomplete - Context compaction: manual
/compactand default-on auto-compaction - Instruction files:
AGENTS.md/CLAUDE.mddiscovery - Sessions: a SQLite store with AI-generated titles, listing, archiving, resume, and export
- File-change tracking: a Read-before-Edit gate and on-disk drift detection
- Authentication: an Anthropic API key, browser sign-in with
/login, the Claude Code login or a long-lived OAuth token, or an LLM gateway bearer token with custom headers - Configuration: layered TOML from user, drop-in, and project files, with environment variable overrides, checked by
ox config check, and a Home Manager module that writes the user config and instructions
oxide-code follows a few principles:
- Keep the terminal as the primary interface: streaming chat, tool output, and session controls stay keyboard-first.
- Keep context and state visible: model, instructions, compaction, queued prompts, and session identity should be inspectable from the UI.
- Add workflow depth only when it fits the current agent-harness model.
Planned work lives in the open enhancement issues, and themes that span several issues are grouped under epics.
Out of scope for now:
- Editor-specific extensions and a GUI. ACP support for editors is tracked in #150.
- In-process plugin runtimes, such as WASM modules, dynamic libraries, or embedded scripting.
- Compatibility with Claude Code settings files, hook formats, or permission rule syntax. oxide-code reads
CLAUDE.mdinstructions and Claude Code OAuth credentials, and its own configuration may diverge where its design calls for it. - Feature parity with Claude Code. Focus on the core workflow first.
Releases follow the versioning policy, and stable releases keep the stability surface compatible within a minor version.
On Apple Silicon macOS and x86_64 Linux, install with Homebrew:
brew tap hakula139/oxide-code https://github.com/hakula139/oxide-code
brew install oxide-codeInstallation covers the prebuilt binary, Cargo, Nix, Windows, the Home Manager module, and updating and uninstalling.
export ANTHROPIC_API_KEY=sk-ant-...
oxThe user guide covers installation, a quickstart, authentication, the terminal UI, configuration, permissions, slash commands, instruction files, sessions, headless mode, and theming.
AGENTS.md is the contributor entry point for people and coding agents alike. It covers the verification checks and links the conventions for Rust, testing, writing, GitHub, and the development environment.
Copyright (c) 2026 Hakula. Licensed under the MIT License.