Skip to content

About

[WIP] A terminal-based AI coding assistant written in Rust, inspired by Claude Code.

Topics

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

312 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

oxide-code

CI Coverage License: MIT WakaTime coding time for oxide-code

A terminal-based AI coding assistant written in Rust, inspired by Claude Code.

Overview

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.

Features

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 -p runs 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, and bash, which can also keep dev servers, watchers, and long builds running in the background
  • Task list: the model tracks multi-step work in a list shown live and carried through resume and compaction
  • Tool permissions: manual (default), read-only plan, and yolo modes you can switch mid-session, deny / ask / allow patterns for each tool class and each command in a bash command line, built-in rules that guard protected config paths, SSH keys, and credentials, and an approval prompt that names the rule holding the call and can allow matching calls for the session
  • Turn control: interrupt with Esc or Ctrl+C, queue follow-up prompts that join the running turn between tool calls, and confirm exit with a second Ctrl+C
  • 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 /compact and default-on auto-compaction
  • Instruction files: CLAUDE.md / AGENTS.md discovery
  • Sessions: JSONL logs with AI-generated titles, listing, archiving, and resume
  • 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

Scope

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. Editors will be able to connect as ACP clients once #150 ships.
  • 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.md instructions 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.

Installation

Installation covers every platform and method, plus updating and uninstalling. The most common commands:

# macOS aarch64 (Apple Silicon). Set VERSION to the newest tag on the Releases page.
VERSION=v0.1.0-alpha.4
curl -fsSL "https://github.com/hakula139/oxide-code/releases/download/$VERSION/oxide-code-aarch64-apple-darwin.tar.gz" | tar -xz
sudo mv ox /usr/local/bin/

# Homebrew (Apple Silicon macOS, x86_64 Linux)
brew tap hakula139/oxide-code https://github.com/hakula139/oxide-code
brew install oxide-code

# From source (any Rust-supported platform)
cargo install --git https://github.com/hakula139/oxide-code --locked

# Nix
nix profile install github:hakula139/oxide-code

Usage

export ANTHROPIC_API_KEY=sk-ant-...
ox

Documentation

The user guide covers installation, a quickstart, configuration, slash commands, instruction files, sessions, headless mode, and theming.

Development

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.

License

Copyright (c) 2026 Hakula. Licensed under the MIT License.

About

[WIP] A terminal-based AI coding assistant written in Rust, inspired by Claude Code.

Topics

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages