octet CLI
A Rust coding agent in the terminal: extensions in any language over JSON-RPC, cloud and local models, audio, computer control
- 223 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The agent edits files and runs commands and in the same conversation can drive the computer and listen to audio
- The `curl | sh` install script runs code from the network
- Subprocess extensions get the permissions you grant them
Install
- Works in
Manual install
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/skaft-software/octet/releases/download/v0.10.3/install-octet.sh | shThe release v0.10.3 script for macOS and Linux; `install-octet.ps1` for Windows (preview).
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent edits files and runs commands and in the same conversation can drive the computer and listen to audio
- The `curl | sh` install script runs code from the network
- Subprocess extensions get the permissions you grant them
This is third-party code. Review the repository files before installing.
What it does
octet reads code, edits files, runs tests and manages sessions from the terminal. One native Rust process owns the agent loop, sessions, permissions, persistence, the terminal UI and resource limits, and the core needs no Node, Python or Bun. Models can be cloud or local, and sessions resume. Tools connect as subprocess extensions in any language that speaks JSON-RPC, each in its own process with OS-level permissions. Separately the agent can listen to audio and drive your computer in the same conversation, which is why the project exists. Pi extensions run through an optional experimental adapter: some work, some do not. The README gives speed and memory measurements on one task.
Who it is for. Developers who want a fast agent without a Node and Python environment, extensible in any language, able to work with audio and drive the desktop.
Good fit when
- An agent must start fast and use little memory, and the core must not drag in Node or Python
- A tool in Go or Rust is needed that the agent calls as a subprocess over JSON-RPC
- Audio and on-screen computer actions are needed in the same conversation
- The model must switch between cloud and local without changing the agent
Not a fit when
- A fully stable Windows is needed: its build is marked preview
- Pi extensions are needed without caveats: the adapter is experimental and not everything works
- Computer control is unacceptable on a work machine: the capability is built into the project
Example request
Run the tests in this project, find the failing ones and fix the cause, then show the final diff.Limitations
macOS (Apple silicon and Intel) and GNU/Linux x86-64 are supported, with Windows in preview. The `install-octet.sh` and `install-octet.ps1` install scripts are tied to release v0.10.3 and are worth reading before running. The package does not install through npm in this release, while `cargo install` and a source build are available. Extensions run as separate processes, but you grant them permissions. Computer control and audio are enabled deliberately and need OS permissions. The latest commit in the repository is from November 2026.
How to disable. Remove the `octet` binary the way it was installed (`cargo uninstall octet-coding-agent` for a cargo build) and drop model keys from the environment. Saved sessions and extensions sit in the octet data directory and are deleted by hand.
FAQ
How do I install octet?
On macOS and Linux with the `install-octet.sh` command from release v0.10.3, on Windows (preview) with `install-octet.ps1`. There is also `cargo install --locked --git https://github.com/skaft-software/octet --tag v0.10.3 --bins octet-coding-agent`.
Are Node and Python needed?
Not for the core. One Rust process runs the agent loop, sessions, permissions and the UI. Extensions can be written in any language.
How are tools connected?
As subprocess extensions over JSON-RPC, each in its own process with OS-level permissions. The extension language does not matter.
Can it work with audio and the screen?
Yes, it is a built-in capability and the main reason the project exists. Turn it on deliberately: it needs OS permissions.
Do Pi extensions work?
Through an optional experimental adapter to Pi's public extension API: some work, some do not.
Discussion
No questions or reviews yet.
Related
CLI toolsA Rust coding agent with a native GUI, a terminal mode, an ACP mode for Zed and an MCP server
A small terminal coding agent in Rust: bring your own API key or local model, per-turn cost, real undo and session branches
A Rust SDK for coding agents and the ready-made abstract CLI: REPL, 34 tools, MCP, graph memory, Anthropic and OpenAI, JSON output for CI
A Rust coding agent for the terminal with parallel agents, goals, Claude Code-format plugins and your own model endpoint.
Terminal coding agent in Rust: four permission modes, checkpoints, subagents, skills, hooks, MCP and local models
A plugin runtime in Rust for software that changes itself: agents write and hot-reload plugins in TypeScript, Python, Go and Swift
README in short
The README states the project goal, shows installation for macOS, Linux and Windows and gives cargo and source options. Information on extensions, Pi compatibility and speed and memory measurements follows.