o4 update, or brew upgrade open4rena/tap/o4 if you installed with Homebrew. See Install o4.
o4 raises its version for every change but publishes only some versions, so a release can include several versions, for example “Includes 0.2.85 to 0.2.89.”
Includes 0.2.90 to 0.2.92.
Core
Changes
- Adding an MCP server now starts with one paste: a URL, a launch command, or a single-server JSON configuration. o4 shows the server for review, you fill in any missing fields, and it connects without stepping through the old setup wizard.
- A pasted MCP server URL automatically tries Streamable HTTP, with a single fallback to the older SSE protocol when the server clearly uses it. An authentication failure or a timeout doesn’t trigger another connection attempt.
- Adding an MCP server now connects in the background, so setup stays responsive: you can cancel the connection, edit the draft, or retry without re-entering the configuration. Saving finishes before setup closes, and keys stay hidden in the review.
Bugfixes
- A healthy SSE MCP connection no longer disconnects after 30 seconds; connection startup and individual requests still have their own time limits.
- Cancelling MCP server setup now cleans up its local server process and background readers. Tab changes and new agent turns wait until setup has finished or is cancelled.
- When Brave search fails, o4 retries with Tavily if a Tavily key is configured and its use is allowed. A successful Brave search doesn’t trigger a retry.
Includes 0.2.85 to 0.2.89.
Core
Bugfixes
- A plan is active only in the session that made it. Before, every new
o4session in a project with another session’s unfinished plan offered to continue that plan, showed it again after each turn, and told the model it was its own. Now a new session starts without a plan, and the input box shows theo4 resumecommand that continues the other session.
TUI
Bugfixes
- Switching to a model whose provider has no API key or sign-in now says so when you switch, and how to fix it: for Codex, sign in with
codex login, then run/auth import codex. Before, the switch looked successful and the first request failed. This covers/model, the model picker, and a saved default model.
Models and providers
Bugfixes
- A wide screenshot sent to Claude now reaches the model. Before, o4 left out any picture wider or taller than 2000 pixels, which on a high-resolution screen is almost any full-width screenshot. Claude accepts up to 8000 pixels, and 2000 only once a request carries more than 20 pictures.
- Pictures are checked against the limits of the provider they go to. DeepSeek takes up to 8192 pixels (4096 once a request carries 15 or more), Z.AI up to 6000, and Gemini and xAI resize large pictures themselves. Kimi, Ollama and custom providers keep the 2000-pixel limit, because they don’t publish one. A picture over its provider’s file-size limit is now left out with a note instead of failing every later message in the conversation.
- Signing in with a
CLAUDE_CODE_OAUTH_TOKENalone no longer opens the setup wizard on start.
TUI
Changes
- Every warning, error and status message now appears on one line in the top border of the input box, next to the model name, coloured by severity. Info, success and warning notices fade after three seconds; an error stays until you press Esc, and that Esc does nothing else. Before, warnings and errors appeared as cards in the top-right corner and slid away after a few seconds, so anyone who had looked away missed them.
- When a permission request closes quick chat, the notice says that quick chat was closed and why; before, two notices stacked.
TUI
Bugfixes
- The result of an automatic context compaction is shown in the chat, the way
/compactreports, instead of in a warning popup that disappeared before it could be read.
Models and providers
Bugfixes
- When a model’s provider has no API key or sign-in, o4 now says which one, for example
No API key found for openai-codex. Before, switching to such a model, for example GPT-6.1 Sol with no OpenAI key and no Codex sign-in, failed with an error that named neither the provider nor the cause.
Models and providers
Bugfixes
- Claude Sonnet 5.5, Opus 5.5 and Fable 5.1 no longer stop a session with
Invalid signature in thinking block. The block is bound to a different conversation.Those models reject a request if anything earlier in the conversation changed since they last reasoned about it, which Anthropic enforces on accounts created on or after 31 August 2026; o4 used to shorten older tool results and move the todo list on almost every request, so on those accounts the second request of a session failed this way, and every later message failed the same way. o4 now leaves earlier history as it was sent, so the model keeps its earlier reasoning on these accounts instead of losing it. - If Anthropic still rejects a request this way, for example right after switching plan mode on or off, o4 resends it once asking Anthropic to drop the stale reasoning instead of failing. That turn goes through without the model’s earlier reasoning; the next turn has it again.
Models and providers
Features
- GPT-6.1 Sol (
gpt-6.1-sol) is available with an OpenAI API key; pick it with/modelor start o4 with-m gpt-6.1-sol. It has a 1.05M-token context window, up to 128k output tokens and every effort level from low to max, and costs 10 per million input / output tokens plus $0.10 per million cached input tokens. Prompts over 272k input tokens cost more, and o4’s cost tracking doesn’t count the difference. - GPT-6.1 Sol is also available when you sign in with ChatGPT through Codex, with a 272k context window. It is first in the list of Codex models in
/model.
Includes 0.2.79 to 0.2.80.
Core
Changes
- The CodeMode
exectool description is clearer, and describes how programs run more accurately.
Bugfixes
- Checkpoints no longer fail with a false timeout in large repositories. Git’s output is now read while the command runs, so a command with a lot to print can’t stall until the deadline.
TUI
Changes
- The MCP, skills, agents, plugins, tools, LSP and hooks browsers now work the same way: the title shows where you are, Esc steps back one screen and closes only from the list, Backspace only edits the filter, rows show a status mark, and on terminals 100 columns or wider the selected row’s details appear beside the list. A browser opened from
/configreturns there when you press Esc on its list. - New tools and LSP browsers, and a new hooks browser that
/hooksopens instead of printing a list. The Tools tab of/configopens the tools and LSP browsers, and/toolsand/lspopen them directly.
Platforms and install
Bugfixes
- On an Intel Mac, the installer now just says o4 needs Apple Silicon.
TUI
Bugfixes
- A
^modelpanel now stays in the tab where it was started. Before, switching tabs hid the PANEL label, but plain messages in the new tab still went to the other tab’s panel, and/panel offthere ended it. New, reopened and forked tabs now start without a panel.
Models and providers
Features
- Claude Sonnet 5.5 (
claude-sonnet-5-5) is available with an Anthropic API key and with a Claude Code sign-in. Pick it with/modelor start o4 with-m claude-sonnet-5-5. It has a 1M-token context window, up to 128k output tokens and every effort level from low to max, and costs the same as Sonnet 5 (10 per million input / output tokens).
Changes
- With a Claude Code sign-in, o4 now identifies itself as Claude Code 2.1.284 instead of 2.1.280, the version needed to use Sonnet 5.5.
TUI
Bugfixes
- Typing a slash command that doesn’t exist, such as
/zzz, no longer spends a turn sending it to the model as a message with no sign that nothing ran. o4 now showsUnknown command '/zzz' — kept in the input. /help lists commands.and leaves what you typed in the input box so you can fix it and press Enter again. Text after a real command name, such as/exit now, still goes to the model as before.
TUI
Changes
- The working indicator is now a small Pac-Man chase: Pac-Man walks along the status row at a steady pace while o4 works, chomping one pellet at a time, with a ghost on its tail. Eating the power pellet turns the ghost blue, then the pellets come back. With Nerd Fonts on, the ghost is the pixel-art ghost with eyes. After 10 seconds with no activity Pac-Man stops and chomps in place, so a stuck turn is easy to spot; a running tool keeps it moving.
- The activity text next to it (“Responding”, “Running”, …) now pulses, with a brighter band sweeping across the words.
- The activity row sits directly on top of the prompt box instead of one row above it.
Includes 0.2.72 to 0.2.74.
Core
Changes
- Panel models now have the same tools as a normal turn, including shell, file edits and network, under your usual permission rules, instead of being limited to read-only tools. Each model is told the others share the workspace.
Bugfixes
- In a panel, the first model now knows which earlier replies were its own and which came from the other models, from round 2 on.
TUI
Features
^model ^modelpanels are now discussions: each model answers in turn, then they go around again for three rounds per message, and each reply sees everything said before it. A model that fails drops out of later rounds, and the discussion stops if only one is left; Esc stops the remaining rounds. Set"panel_rounds"in~/.o4/settings.jsonto change the number of rounds, or1for one answer per model.- After a panel of two or more models, your plain messages keep going to the same models, so you can steer the discussion without retyping the mentions. The status bar shows
PANELand the models./panelshows them, and/panel off(or/clear, or mentioning a different set of models) goes back to your usual model. A single^modelis still a one-off.
Bugfixes
- Enter runs the highlighted command, skill, file or model while a turn is running, as it does when idle, instead of sending the half-typed text.
CLI
Features
o4 updateinstalls the newest release in place.o4 update --checkonly reports whether one exists, ando4 update --version Xinstalls a named release. It never downgrades a local build, and a Homebrew install is left tobrew upgrade open4rena/tap/o4.
Includes 0.2.68 to 0.2.71.
TUI
Bugfixes
- Long descriptions in
/config,/agents,/skills, the command list, MCP, plugins and workflows wrap under their own first line instead of under the row’s name, where they used to read as a new row. A row can now take three lines, so most descriptions finish on an 80-column terminal instead of ending in ”…”. - A tall panel no longer pushes the input box off the screen; the panel scrolls instead. This also brings the input box back for Config, Sessions, Scout and plugin details on a 30-row terminal.
- Changing the Provider row in
/configno longer switches the current session back to the default model. The row now reads “API key’s provider; Model tab sets model”, and the default model is set on the Model tab instead. /modelfits every model name on one line at 80 columns.- Forks show the session id’s first 8 characters instead of the full id, which used to wrap under every title.
- Radar is laid out as a table, so each item’s source lines up.
Core
Bugfixes
/goal clearor/goal completeduring a turn now also drops the new goal’s queued first prompt, which used to run after the turn anyway.
TUI
Bugfixes
- The default model can now actually be changed: the Model row of
/configopens “Select Default Model” and saves your pick as the default, keeping every other setting, with the session switching to it once any running turn ends; a model that doesn’t resolve isn’t saved. Bare/modelandCtrl+Mstill switch only the current session, and their notice now says so and points at/config model. - A slash command typed while a turn is running no longer stays in the input box after it runs or is queued.
Includes 0.2.62 to 0.2.66.
TUI
Bugfixes
- In the todo list and the Task Board, every row’s status now lines up in the same column instead of landing wherever its text ends or getting cut off, even with long titles on an 80-column terminal; a long title wraps under itself instead. The Task Board is laid out as a table — name, kind, status and token count each in their own column, with token counts right-aligned — and a narrow pane drops whole trailing columns instead of cutting them in half.
- In the status row, “Running” and the activity text start in one column, with tokens, tool counts and elapsed time sitting flush right.
- Panel actions on MCP servers, plugins, marketplaces, skills, agents and sessions, and importing Codex or Claude Code auth from
/config, are refused while a turn is running, with a notice to wait, instead of taking effect immediately. Opening the browsers, registry search, plugin validation, revoking a plugin grant, enabling a skill, renaming or pinning a session, and answering permission prompts still work during a turn.
Includes 0.2.58 to 0.2.61.
TUI
Changes
- Most panels and side commands no longer wait for the running turn:
/config,/goal, the agent, skill, plugin and MCP browsers,/sessions,/rewind list,/memory,/todo,/loopand/renameopen at once, and so do/model,/reasoningand/loginwithout an argument. Commands that change the conversation, model or tools, such as/clear,/compact,/rewind,/model <id>,/reasoning <level>and/login <key>, still wait, and anything a panel would do to the running turn waits too: resuming, forking or rewinding is refused until the turn finishes, and model, reasoning and prompt changes saved in/configapply after it./goal <objective>records the goal at once and sends its first prompt after the current turn. - A newer o4 install is now shown as a quiet “new o4 installed · restart to update” note on the bottom row, instead of a warning card over the transcript in every open session.
Bugfixes
- Streamed text no longer runs into the “Responding” and “Thinking” row: there is a blank row above it as well as below, given up before the input box shrinks on a short terminal.
Models and providers
Changes
- Models that choose their own reasoning depth — Claude Fable 5, Opus 4.6 and later, Opus 5.x, Sonnet 4.6 and later, and Sonnet 5 — now show their no-effort setting as “adaptive” instead of “default”, which used to read as thinking being turned off. The saved setting is unchanged, and
/reasoning adaptiveworks.
Bugfixes
- Importing a Claude login now uses
claude setup-token, which issues a lasting token for the account currently signed in to the Claude CLI, instead of possibly importing a different, older saved account while reporting success. If the CLI gives no token, o4 now says so.
Includes 0.2.55 to 0.2.57.
TUI
Bugfixes
- Long text wraps instead of being cut off: a finished tool’s header wraps onto up to three rows, a multi-line command shows its lines joined by ”; ” instead of run together, and warning cards wrap onto up to four rows. Re-wrapping a long line no longer drops the space at the break.
- The “Thinking” row no longer sits directly on the composer border; there is a blank row between them, and the transcript keeps its height when a turn starts or ends.
- Warning cards stack from the top-right instead of covering the newest lines of the transcript, and a warning already on screen is no longer stacked a second time.
Includes 0.2.51 to 0.2.54.
TUI
Features
/feedbackand/bugopen a pre-filled issue on the public o4 issue tracker on GitHub, with your o4 version, OS and model already filled in. Without a browser, such as over SSH, they show the link and copy it to the clipboard./perf-issueis replaced by/feedback.
Sandbox and permissions
Changes
- One approval mode now decides when o4 asks:
ask(the default),accept-edits,plan,review,autoorbypass. Pick it with--permission-mode, or cycle it withAlt+A.reviewhas a reviewer model check each action first and falls back to asking you; a declined review can no longer override a “No” you gave, and the reviewer only approves commands when an enforcing sandbox is on. - Switching to
bypasswithAlt+Anow asks for confirmation, and starting a session in bypass mode shows a warning. --printmode still approves everything by default, now under the nameauto, and it now honors--permission-mode.- The old approval flags are removed:
-a/--ask-for-approval,--approve-for-me,--dangerously-bypass-permissions,--allow-dangerously-skip-permissionsand--dangerously-bypass-approvals-and-sandboxeach now exit with an error naming their--permission-modereplacement. - The
guardian_enabledsetting is removed; setpermission_default = "review"for the same behavior. A settings file that still has the old key loads normally with it ignored.
Bugfixes
- The Open sandbox tier is actually unsandboxed now. Before, any
[sandbox]config kept commands confined with network and writes restricted even in theopentier, and the confirmation shown when loosening the tier was blank; it now appears.
Models and providers
Features
- GPT-6 Luna and GPT-6 Sol (
gpt-6-luna,gpt-6-sol) for accounts signed in with ChatGPT through Codex: 272k context, reasoning, and image input.
Bugfixes
- Codex requests match the official client more closely: they carry the signed-in ChatGPT account, so an account with more than one login reaches the right one.
- Codex now retries a server error or dropped connection up to four times with increasing delay. It no longer retries a usage-limit error, since that would only burn the next window; it tells you to wait for the limit to reset instead.
Includes 0.2.47 to 0.2.49.
Models and providers
Features
- Claude Opus 5.5 (
claude-opus-5-5): 1M-token context, 128k max output, and the adaptive effort ladder. It’s available through both an Anthropic API key and a Claude Code login.
Bugfixes
- Claude Opus 5.5 is now accepted when signed in with Claude Code, which previously refused it as too new for the client version o4 declared.
Includes 0.2.35 to 0.2.46.
Core
Changes
- Oversized or unsupported images from
read, paste and CodeMode are now resized and converted to a supported format instead of being refused.
Bugfixes
- An image the provider refuses is now dropped from the outbound request instead of bricking the session, including one already stored in an existing conversation.
.svgfiles are read as text instead of being sent as an image block that no provider accepts.
TUI
Changes
- Forking opens a new tab instead of replacing the session, so branching a session no longer destroys the transcript, agent and pending work of the session it was branched from.
Bugfixes
- The newer-o4-installed notice also compares file size and modification time, so it still appears after an in-place rebuild that reuses the same inode.
Sandbox and permissions
Bugfixes
- The sandbox skips a bind whose source path doesn’t exist instead of failing to start.
Platforms and install
Bugfixes
brew install open4rena/tap/o4now works: the tap is published, after being advertised in the README before it existed.
Includes 0.2.24 to 0.2.34.
Core
Bugfixes
- Images with an unsupported media type, and
data:URL images a CodeMode script produces, are refused before they enter the conversation, so a rejected image no longer breaks every later request in the session.
TUI
Features
- A long-running session says when a newer o4 has been installed. The notice stays on screen until you dismiss it.
Bugfixes
- Pasting an image over 2000px on either edge is refused before it’s sent, with a toast explaining why, matching the guard already in the
readtool. /radaris readable again: rows no longer wrap without limit, a long label is capped at two lines with an ellipsis, and repeated failures of the same command collapse into one row instead of one per retry.
Includes 0.2.3 to 0.2.19.
Core
Features
- The
agenttool (sub-agents) now works in--printmode, not only the interactive TUI.
Bugfixes
- Running more than one o4 process at once no longer risks corrupting session data; the session, memory, eval and radar stores validate more safely.
resumerestores Time Machine history in a single pass instead of replaying the whole journal several times, so resuming a large session no longer sits on a blank screen for minutes.
TUI
Features
- Composer-first layout: the transcript and the input box are separate regions, with the model, context, cost, sandbox/approval and workspace rows moved out of the input border onto their own rows.
- The Agent command center (
/agents) lists your sessions, including ones open in other o4 windows, and keeps a row for a session even after its work ends. - Group sessions in the Agent command center by project, status or model with
g, with the footer naming the active mode. Project grouping keeps linked worktrees of one repository together. - Each row’s details name the
ProjectandBranchchecked out there, and aNeeds attentionblock names the action to take. nin the Agent command center starts a new session rooted at the selected row’s directory, refusing directories that are not trusted workspaces.- Screen readers now announce the selected row’s checkout, which was previously only readable from the group heading.
Bugfixes
- The interface no longer flickers the whole screen periodically; the theme hot-reload now only redraws when the resolved theme actually changes.
Models and providers
Bugfixes
- OpenAI-compatible providers: a malformed streamed tool call with no name, or a reply that stops with nothing at all, now ends with a clear error naming the model and provider instead of a silent empty reply.
Sandbox and permissions
Bugfixes
- The approval mode now survives
/exitandresume: cycling it withAlt+Ais saved on the session and read back at startup. An explicit--permission-modestill wins, and bypass mode is never stored. resumesettles the session’s directory before building policy, so a resumed session’s sandbox and trust checks apply to its own checkout.
Includes 0.1.94 to 0.2.2.
Core
Features
- Sessions record the directory they were created in.
/resumeando4 resumelist only the sessions belonging to the current directory, so resuming can no longer drop a transcript into an unrelated working directory.
Bugfixes
- Tool-result images reach the model on every provider instead of being silently dropped.
TUI
Features
- Terminal notifications for turn completion and approvals, covering foreground turn completion, tool and network approvals, and plugin capability requests. Configure them under
/configGeneral; by default they only fire while the terminal isn’t focused.
Bugfixes
- Cancellation no longer latches the pending queue shut. Pressing Esc once no longer leaves every later queued message undelivered.
- Turn-complete notification previews are stripped to plain prose and capped so one popup line reads cleanly, instead of showing raw reasoning tags and markdown.
Includes 0.1.81 to 0.1.93.
TUI
Changes
- The
/agentsdashboard was rebuilt: each row now leads with a clear status line instead of packing many fields together, and the details column drops redundant labels (entries like “Started 4m ago” and “12.4k tokens” already say what they are). - The message queue no longer takes up to eight rows out of the conversation; a compact “2 queued” count now rides the busy status row during a turn and moves to the composer’s border once the turn ends, so a held queue stays visible.
Bugfixes
- An idle agent no longer reads “Working” forever in the dashboard; a genuinely silent agent is now detected and shown as such.
Includes 0.1.57 to 0.1.80.
TUI
Features
/renamenow renames the current session; previously the command did nothing.
Changes
- The dedicated plan panel is gone; an active plan now shows as a one-line summary in the shared activity row alongside todos, background work, and agents, so it no longer carves rows out of the conversation.
- The pop-up message-queue manager is replaced by a passive strip above the composer that lists your steering messages, undelivered messages, and queued follow-ups; Alt+Q pulls the most recent editable message back into the composer and Alt+G releases a held queue.
- Pop-up dialogs across the TUI now share a consistent alignment and layout.
Bugfixes
- In the
/agentsview, an agent’s progress, output, and traces now stay with the tab that started the work instead of leaking into, or vanishing from, whichever tab is on screen after you switch tabs.
CLI
Features
- o4 can now run as a background daemon:
o4 daemon start,stop,restart, andstatusmanage a detached process, and multiple clients can attach to it over a local socket to share sessions, watch running work, and answer approval prompts. It stays off unless you start it.
Models and providers
Features
- Added support for the DeepSeek V4.1 Flash model, with its published capabilities, limits, and pricing; older model IDs still work.
Includes 0.1.27 to 0.1.56.
Core
Features
- New
task_waittool that blocks until a background task finishes (completes, fails, or is killed) and returns its final status and the tail of its output, waking the moment the task ends rather than after a fixed delay. It takes an optional timeout (default 300 seconds, up to 1800) and replaces the older “sleep and poll” pattern;task_outputremains for a quick non-blocking peek.
TUI
Features
- Process-wide
/agentsdashboard that lists all active and retained agent work, grouped by session tab or by background process, with needs-input counts and notifications, filtering, details, and actions to open, foreground, stop, message, or rename an agent. (Agent definitions now live under/sub-agents.) - Closing a busy tab now offers to stop the work, detach it to keep running in the background, or cancel; detached work keeps running and stays inspectable and stoppable.
- Pending-message queue: press Enter to line up follow-up messages that are sent only after the current request fully completes, Alt+E to inject a one-off steering message into the running task (letting in-progress tools finish), and Alt+Q to manage the queued messages — edit, remove, reorder, change their type, or resume a held queue. Drafts and attachments are preserved.
Changes
- New emphasis policy: bold is now reserved for headings and the focused or selected item, so ordinary metadata, status text, labels, and key hints render at normal weight; your Markdown, syntax highlighting, and themes are unaffected.
- The
autotheme now derives its neutral text shades from the measured contrast against your terminal background instead of fixed fractions, keeping a visible hierarchy on gray-text and light terminals; brand and semantic colors keep their hue. All built-in themes were recalibrated to meet the contrast targets. - User messages are now marked with a brand-colored bar down the left edge instead of a
›prefix, and are no longer shown in bold; monochrome themes use a plain❯marker.
Bugfixes
/agentsnow lists background shell commands under the session and agent that started them, including a sub-agent’s own background commands.- Agent and background-task rows show token counts compactly and no longer break words mid-token or leave empty filler.
- Moving the selection in a list no longer leaves stale bold text in the previously selected row.
Models and providers
Features
- Added the Muse Spark model lineup — muse-spark-1.3, 1.2, and 1.1, plus the discounted Contributor variants — with their published reasoning-effort levels and pricing.
- Signing in to a bundled assistant account can now open the browser sign-in directly from the auth panel instead of only printing instructions.
Core
Features
- Agent Plugins: a plugin can now bundle reusable skills and declare its own MCP servers (in an
mcp.jsonor inline in the manifest). - MCP servers can come from plugins as well as your own config, with a clear precedence (your config first, then project plugins, then global plugins) and each server isolated so one that fails to start no longer disrupts the others. Servers contributed by a plugin are never written into your
.mcp.json. - Added support for the Streamable HTTP MCP transport.
- Per-server MCP controls: set a per-call timeout, allow or deny individual tools (a deny always wins), and mark a server as required so a failed startup stops a non-interactive run.
- HTTP MCP servers can read their bearer token and extra headers from environment variables at connect time; those values are never saved or logged.
Changes
- Installing, updating, or removing a plugin now takes effect immediately without restarting your session, and a removed plugin’s MCP servers stop right away.
TUI
Features
/statusnow shows the current model and, for providers that report it, your account usage: 5-hour and weekly windows, remaining credits, monthly spend limit, and reset times.
Models and providers
Changes
- Refreshed every built-in provider catalog against current official sources, correcting pricing, context-window sizes, Bedrock model IDs, Gemini thinking levels, DeepSeek thinking defaults and peak/off-peak pricing, xAI cached-input rates, Z.AI pay-as-you-go prices and Coding Plan routing, and Kimi k3 context length. Providers and models now keep their catalog order in every selector.
Includes 0.1.7 to 0.1.14.
Core
Bugfixes
- Corrupt sessions are rebuilt from their journal, keeping any recoverable state, and unusually large recovery markers are no longer rejected.
- Multi-agent sessions no longer freeze after a responder compacts its context.
- Command hooks no longer race on stdin or deadlock on large payloads.
TUI
Features
- Session tabs: run several sessions side by side, each with its own agent, with a tab strip in the input border, next/previous-tab keys, per-tab approval prompts, and tabs that reopen when you resume a session.
Changes
- Sub-agent output now appears in the standard chat view.
Bugfixes
- Tab-switch key combinations now work when switching between tabs.
Platforms and install
Features
- Prebuilt binaries now cover four platforms: Linux (x86_64), Linux (ARM64), macOS (Apple Silicon), and macOS (Intel).
Includes 0.0.82 to 0.0.88.
Core
Features
- Context-usage diagnostics across providers: a report command plus a pane that shows how much of the context window is in use as proportional bars, with ambient context usage in the status line.
Bugfixes
- Sessions can now resume from their journal even when the on-disk session store is corrupt.
TUI
Changes
- Smoother chat rendering: frames are capped at 60 FPS and painted in one atomic update, and mouse-wheel scrolling of the chat view works again.
Bugfixes
- Terminal text selection and copy work again, and slash commands typed during an active task are queued instead of dropped.
Models and providers
Features
- Added the Fable 5.1 model, restored Opus 4.6 and 4.7 on the Anthropic API, and added glm-5.3-flash; on the Z.AI Coding Plan the glm-5.2 alias now routes to glm-5.3.
Bugfixes
- Fixed an OAuth problem so the signed-in account identity is applied to requests again.
Sandbox and permissions
Features
- New flags to choose the security sandbox and approval mode for non-interactive (scripted) runs.
Includes 0.0.40 to 0.0.82.
Core
Bugfixes
- Multi-model sessions no longer exit unexpectedly.
TUI
Features
- Redesigned session picker for
o4 resumeand the in-app session browser, using conversation cards that show the title, badges, a last-message preview, and metadata. - Manage sessions straight from the picker: resume, resume with a chosen model, fork, rename, pin or unpin, and delete with confirmation.
- Pinned sessions now sort to the top.
Changes
- The telemetry toggle was removed from
/config > General; telemetry stays on by default and is still controlled through settings and theO4_TELEMETRYenvironment variable.
Bugfixes
- Stray terminal color responses (common under tmux and on slow connections) no longer show up as typed text in pickers like
o4 resume.
Platforms and install
Features
- First public release of o4, an agentic coding assistant for your terminal.
- Install with
curl -fsSL https://open4rena.ai/install.sh | bash, or download a release artifact and put it on yourPATH; every download ships with a checksum you can verify. - Prebuilt binaries for macOS (Apple Silicon) and Linux (x86_64), with the Linux build statically linked so it runs on any distribution (verified on Debian 12, Ubuntu 22.04, and Alpine).
- Bring your own models: use a Claude Code, Codex, or Kimi Code subscription; API keys for Anthropic, OpenAI, DeepSeek, Google, xAI, Moonshot, and Bedrock, plus any OpenAI-compatible endpoint; or run fully locally through Ollama.
- No account and no sign-up: model traffic goes only to the providers you configure.
- Telemetry is one anonymous ping per day (a random install id, the version, your OS, and CPU architecture) and can be turned off in
/config > General, with{"telemetry_enabled": false}in~/.o4/settings.json, or by settingO4_TELEMETRY=0.