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-codeSee Installation for the prebuilt binary, Cargo, Nix, and other platforms.
The easiest way to authenticate is with an Anthropic API key:
export ANTHROPIC_API_KEY=sk-ant-...You can also sign in with a Claude account:
- Run
ox, then/loginto sign in through your browser. - If Claude Code is installed and signed in, oxide-code uses that login automatically.
Authentication lists all credential sources and the order in which they apply.
Run ox to start an interactive terminal session, then type a task and press Enter:
❯ Read main.rs and explain the agent loop.
In the chat:
- Scroll: Use the mouse wheel or PageUp / PageDown, and press Ctrl+End to follow new output again.
- Expand output: Press Ctrl+O to show long tool output and finished thinking in full, and again to collapse them.
- Switch modes: Press Tab or Shift+Tab to step through the permission modes.
- Select and copy: Drag over chat text to select it, and release to copy it to the clipboard.
- Interrupt and exit: Press Esc to stop a running turn, and Ctrl+C twice, or Ctrl+D twice with an empty input, to exit.
Terminal UI covers new lines and the other input keys, queued prompts, and copying over SSH.
In the default manual permission mode, tool calls fall into these groups:
- Runs without asking: reads, searches, read-only commands such as
ls,cat, andgrep, and edits within the working directory. - Asks unless a rule decides: other
bashcommands and edits outside the working directory. - Asks even when an allow pattern matches: edits to protected config such as
.git,.vscode, or.envrc, and forced recursive deletes such asrm -rf. - Denied: reads of SSH keys and credential files.
The approval prompt takes these keys:
| Key | Effect |
|---|---|
| Y | Approve the call |
| A | Approve, and allow matching calls for the rest of the session |
| N | Deny the call |
| F | Deny with a note the model reads |
| Esc | Deny and end the turn |
When the prompt offers A, pressing it opens the pattern it will allow, such as cargo test, which you can edit before pressing Enter, for example to widen it to cargo test *. Session rules last until you exit or start another session, and /status lists them.
See Permissions for the other modes, the rest of the prompt's behavior, and how to write patterns.
- Task list: For multi-step work, the assistant maintains a task list that the TUI displays above the input. The list clears when all tasks are done and stays with the session through
/compactand resume. - Background shells: For a dev server, watcher, or long build, the assistant can run a command in the background and read its output with
bash_outputwhile it continues working./statuslists open shells. They keep running if you interrupt a turn with Esc and end when you exit or start another session with/clear,/archive, or/resume. To stop one sooner, ask the assistant.
Add an AGENTS.md file to your project root with project-specific instructions, such as coding conventions and commands to run after a change. An existing CLAUDE.md works too. Run /init to have the assistant draft one based on the codebase.
See Instruction Files for where these files can live and how they combine.