Latest release
Changes, verification and known limitations in the latest stable release.
Manual for v0.9.5. Stable release: v0.9.5.
octet 0.9.5 brings native Google audio input, Windows octet update, native
Tern touchpad scrolling and a set of terminal and safety fixes. The
version-pinned release page
records the immutable source, CI runs, artifact checksums and actual channel
availability. Source-build evidence is not public-artifact qualification.
What changed in 0.9.5#
- Audio input on Gemini, Vertex AI and Google-compatible OpenCode models.
Audio-capable models keep audio in discovery, attachments and
readresults and receive inline WAV, MP3, AAC, FLAC and Ogg Opus bytes through nativegenerateContent. Oversized audio reads name the 20 MiB raw-audio cap and suggest compressing or splitting the file. Audio output, raw PCM16 and provider file references remain unsupported. - Parallel Gemini tool calls remain distinct across stream chunks. Gemini 4 Argon on OpenCode Zen and Argon Contributor on Go retain every call's arguments, thought signature and paired result instead of merging calls at the same chunk-local position. The fix applies to the shared Google codec.
octet updateworks for Windows PowerShell installs. Aninstall-octet.ps1installation is recognized and updated by re-running the version-pinned PowerShell installer, even while an older session still runs fromoctet.exe.old.- Native Tern touchpad scrolling. octet no longer captures the mouse on the native Tern surface, so touchpad scrolling and selection behave natively. ANSI fallback keeps the requested capture policy.
- Native Tern reconnect recovery. A detached UI no longer permanently forces ANSI fallback on frame-credit timeout. octet waits for a fresh hello, replays the transcript and draft, and restores the native input owner. Real last-window close/reopen remains an attended RC check.
- Plain-click web links with mouse capture. Fullscreen and explicit
--mouse appopen HTTP(S) transcript links on an ordinary left-click release, without Shift or Ctrl. Dragging still selects/copies; stale clicks cannot open a different link. Native Tern link gestures remain terminal-owned. - Thinking changes are quieter and keep your prompt. Same-mode idle thinking changes keep the session and extensions instead of rebuilding them, and Enter pressed while a thinking change is pending submits that prompt exactly once.
- Terminal presentation. Tool inputs and Bash/PowerShell commands wrap to
six visible rows rather than clipping after part of one line; Ctrl+O and copy
preserve the full sanitized input. Mid-run
/contextshows the full usage grid, and provider errors after a mid-stream failure no longer show internal stream counters. - Prompt caching holds across large tool batches. Anthropic keeps its
previous conversation cache breakpoint reachable after large parallel tool
batches, supported Claude Bedrock routes add native cache points, and Kimi's
cached_tokensusage is counted. Opt-in provider request traces now report salted prefix diagnostics without prompt, tool or credential contents. These are local checks, not measured provider cache hits. - Safety hardening. Controlled shell policies require an exact one-shot
approval for every shell command;
editandwritepreserve newline conventions and hash raw bytes; Windows bulk locks use a stable private lock file.
0.9.4 matched Gemini thinking levels to each model; see the
0.9.4 notes. 0.9.3 sent OpenCode Go Gemini requests to the endpoint
that serves them; see the 0.9.3 notes. 0.9.2 added
/extensions install and octet extension install --all; see the
0.9.2 notes. Everything below from 0.9.1 still applies.
Status at a glance#
- Pi compatibility is experimental and unstable. Full Pi backwards
compatibility is not yet qualified. The
octet-pi-compatadapter does not ship in this release; it remains source-only experimental work, and loading real Pi setups can be slow or fail for individual extensions. - Many extensions work today. Five first-party bundles ship (codemode, computer use, MCP, subagents and web search), any-language subprocess extensions are supported, and in the source preview unchanged Pi extensions such as Doom, drawing, the powerline footer and the rainbow editor run through the adapter. These Pi receipts are development evidence, not release qualification.
- Windows is in preview. The native Windows x86-64 (MSVC) archive and
install-octet.ps1are published and pass release-workflow runtime, terminal and ConPTY checks, but attended desktop use is unqualified and known issues remain open.
What's better since v0.8.1#
v0.8.2 was a source candidate and never published, so upgrading from v0.8.1 brings the 0.8.2, 0.9.0, 0.9.1, 0.9.2, 0.9.3, 0.9.4 and 0.9.5 entries in the changelog.
- Up to 8× more parallel reads. Read-only tool calls run in waves of one per CPU, from 4 up to 32 (v0.8.1: always 4), and the runtime's worker pool is sized to the machine instead of 2 threads.
- Edits stop filling the model's context.
editandwritereturn one short line (ok, path, verb, content hash); the unified diff moves to result metadata the model never sees. Tool cards still show the diff. - Windows went from unbuildable to native (preview). The interactive crate
did not compile for Windows in v0.8.1. v0.9.5 publishes a signed MSVC
octet.exewithinstall-octet.ps1that runs in Windows Terminal and conhost, with no WSL. - Sign in instead of pasting keys. Browser sign-in for ChatGPT/Codex joins
device-code sign-in, plus new Grok, Kimi, Meta and OpenRouter account sign-in.
/setupcan remove any saved sign-in, key or custom provider. - Extensions are set up inside the app.
/extensionsinstalls, configures and manages the five signed first-party bundles (MCP, web search, subagents, codemode, computer use) with live progress, cancellation and confirmations. - Changes land when you make them. Every
/settingschoice applies immediately, even mid-run; model and reasoning changes made during a run are queued for the next safe boundary instead of being refused.
Faster and leaner#
- A launch that names its model no longer waits for a cold provider inventory.
- Resume hydrates only a viewport-sized tail; startup reuses tool definitions, extension host state and resumed configuration, and defers terminal background detection until after the first frame.
- The models.dev refresh builds only the providers octet reads instead of the whole ~5 MiB catalog, whose value tree peaked near 60 MiB.
- Only the newest four tool-result images (typically screenshots) are sent to the model on each request.
- The core toolset is
read,edit,writeandbash; the native Search tool is removed in favor ofrgthrough the shell. The default prompt makes the change, runs one relevant check and stops.
These are specific, recorded changes; no whole-release speed or memory benchmark is published.
Smoother terminal#
- Fullscreen by default with wheel and trackpad scrolling; selection and copy follow the painted transcript across scroll and wrapping.
- Quieter startup and reloads: background work no longer prints warnings, a reload ends in one note, and repeated extension notices show once per 30 s.
- Paste and attachment chips edit like ordinary text with undo; resize replays
history correctly and the
Workingclock keeps ticking. - Fixed stale or duplicated inline images when scrolling (Kitty-protocol terminals), a scrollbar hover crash, and the resume picker quitting octet on Ctrl+D (deleting is now Ctrl+X with a confirmation and recoverable trash).
- Themes can show the thinking trace expanded; quiet
Exploredgrouping now covers web search, MCP and computer use.
Providers and models#
- New models: GPT-6.1 Sol (API and Codex) and Mistral Large 4; OpenCode and OpenCode Go show their live catalogs.
- Model names, prices and capabilities refresh in the background at most every six hours, guarded against zeroed or tenfold price drops.
- Custom first-party endpoints such as Cerebras keep their real context window; discovery errors name the provider's status and message.
- Throughput is labelled honestly as end-to-end; one ambiguous provider failure no longer disables hard cost ceilings for the session.
- Prompt-cache warming (
/cache-warming), server-reported inference timing in/status, and an opt-in redacted provider request trace.
Extensions and platforms#
- Five signed first-party bundles install, update and remove with one command; installing never enables an extension or grants trust.
- In safe mode, an extension starts only with an explicit host-authority grant,
which
/extensionscan grant and revoke. - Computer use and clipboard copy work on Linux desktops: Wayland (Hyprland, Sway, GNOME, KDE) and X11.
- On Windows: Python extensions start through
py -3,!commands run through Git Bash, file edits and atomic replacement work, elevated sessions work, and computer use no longer hangs.
Reliability and trust#
- Every native and extension asset is checksummed and Sigstore-signed by the tracked release workflow; the version-pinned installer verifies it.
- Concurrent conditional writes to one file are serialized on Linux and macOS; removing the last custom provider no longer discards a concurrent writer's registry.
- Extension crash and startup-handshake fixes found by a real-package matrix, and a new end-to-end suite that drives the real binary through PTY sessions.
- Removed: the packaged Serve app, its web client, the macOS/iOS companions and the old browser extension. Computer use drives your own browser.
Highlights#
- Native coding surface:
read,edit,writeandbash(PowerShell on Windows). Independent reads and shell calls can overlap under full access; mutations and approval-bearing calls remain ordered. Native Search is removed; content search usesrgorgrepthrough the shell. - Interactive correctness: model and reasoning changes wait for a safe request boundary; settings apply visibly; paste and attachment chips remain editable text with undo. Fullscreen scrolling retires stale Kitty images.
- Provider setup and discovery: review-first API-key, subscription and local endpoint setup; explicit removal of saved providers/sign-ins; live OpenCode inventories; bounded background discovery when the model is already known.
- Sessions and presentation: resumable histories, busy steering/follow-up, selectable built-in themes, transcript selection/copy and Tern native surfaces.
- Optional integrations: five separately installed bundles: codemode, computer use, MCP, subagents and web search. Installation never enables an extension, grants trust or provisions its optional dependencies.
Changed#
- Product, SDK source and the five shipped extension manifests use 0.9.5.
Extension API versions remain independent; bundled extensions require the
exact host version
=0.9.5. - Removed the packaged Serve application, its web/Apple companions, the native Search tool and the obsolete browser extension.
- The interactive terminal defaults to fullscreen with app-owned mouse input.
--mouse autoretains inline terminal scrollback. - Provider-request tracing is opt-in and redacts prompt, credential and output contents. Only the newest four tool-result images are sent to the model.
Qualification#
| Surface | Qualification boundary |
|---|---|
| Rust workspace, SDKs and shipped integrations | Exact-source automated CI; final run and result recorded on the release page |
| Linux/macOS native archives | Clean release builds, version/host smoke, repeatable packaging, checksums and Sigstore verification; public-install receipts belong to the published artifacts |
| Windows MSVC archive (preview) | Release-workflow native runtime, terminal and extracted-executable ConPTY checks; GNU CI alone does not qualify MSVC |
| Terminal/model behavior | Loopback-provider and PTY evidence, not paid-provider or physical-display acceptance |
| Pi compatibility | Not yet qualified; the adapter is not offered in the release catalog. Source-preview receipts for individual Pi extensions are development evidence |
Prior candidate runs and local development tests are not evidence for a different release SHA. The release page distinguishes completed gates from pending or unrun acceptance; a successful build alone is not a passing coding-task smoke.
Known limitations#
- Full Pi backwards compatibility is not yet qualified, and the adapter does
not ship.
octet-pi-compatremains source-only experimental work; several unchanged Pi extensions run in the source preview, but Pi 1.0.2 API parity is not established. Installed-Pi lifecycle/command parity, dependency-bearing workflows and cold mirror startup are not release qualifications. Previously installed experimental adapters are not automatically removed or enabled; disable them explicitly if present. Built-in Pi-themed palettes, migration utilities and codemode are separate from this adapter. - Live provider, subscription and audio acceptance is not run for this release. Mock-provider tests do not establish account/model availability, billing accuracy or real audio behavior. The reported Windows Codex HTTP 400 issue (#572) remains unresolved pending a redacted request trace.
- Windows is a preview platform. The MSVC archive passes automated release checks only; attended Windows desktop use, physical-console presentation and provider behavior on Windows are unqualified, and the Codex HTTP 400 report above is Windows-specific.
- Attended UI/driver journeys remain unqualified. Automated terminal-buffer and ConPTY checks do not establish physical presentation, trackpad behavior in every terminal, or granted desktop-driver behavior.
- No performance comparison is published. Historical benchmark records are not measurements of this release's final artifacts.
- Publication channels are independent. npm, Homebrew, crates.io, SDK registries and container registries are not made available by the native release workflow. Only channels with explicit receipts on the release page should be treated as published.