Releases

Install or update with curl -fsSL https://rexa.sh/install.sh | sh. The app updates itself from the stable channel.

v0.4.0

0.4.0 — 2026-09-15

GitHub and GitLab

Sign in with gh or glab and your pull requests, issues and CI runs show up in Rexa.

  • Browse issues, pull requests and runs from the new Forge sidebar.
  • Read, comment on and merge pull requests without leaving the app.
  • Follow CI runs job by job, with searchable step logs.
  • Drag a comment, failing check or log step into a terminal to hand it to an agent.
  • Search issues and pull requests from the command palette.
  • Forge pages open instantly on relaunch and load faster overall.

Git sync

  • Sync, pull, push and publish a branch from the sidebar, the Changes panel or the palette.
  • HTTPS remotes use your gh / glab login; no more failed pushes on a password prompt.
  • Optional background fetch and rebase-on-sync in Settings → Git.
  • A History tab in the Changes sidebar.

Worktrees

  • Each worktree shows commits ahead/behind and its pull request status.
  • Once a pull request merges, Reset Remote Status returns the worktree to its base branch.

Browser

  • A built-in browser in the right dock, with tabs and Web Inspector.
  • Leave notes on page elements and send them to an agent.
  • Agents drive the page with rexa web: click, type, read the console and network, take screenshots. Claude Code gets a browser skill for it.

More

  • ctrl-` / ctrl-~ cycle agent cards.
  • Hover a past session to copy its ID or resume it.
  • Pin and reorder the modes in the right dock's nav strip.
  • Release notes appear after an update.

Fixes

  • Sending comments with no agent running opens the agent picker.
  • Dragging in the sidebar no longer grabs the wrong row when a card changes.
  • Pushing from a linked worktree updates the Changes panel.

v0.3.0

0.3.0 — 2026-09-11

Saved sidebar state resets once on first launch (no migration).

Projects and worktrees

  • A subdirectory of a checkout imports as its own project, scoped to that directory with git attached.
  • Rename projects; hide worktrees from a Hidden Worktrees… popup.
  • The new-worktree form remembers its location per project.
  • cmd-shift-w opens the worktree palette; cmd-` / cmd-~ cycle worktrees instead of projects.

Keyboard and focus

  • Focus chords (cmd-shift-e/f/g/a/b/r) toggle back to the center.
  • Sidebar rows move with alt-up / alt-down; cmd-backspace removes a card.
  • Typing in a rename no longer triggers j/k navigation.
  • App chords no longer go dead after a worktree switch or a closed panel.
  • Closing a tab returns to the last tab used.

Git

  • Big repositories load off the main thread, with progress in the Changes panel.
  • Gutter diffs read through gitoxide: 0.7 ms a file instead of 47 ms.
  • Git errors show as a short strip; full output lives in a git log tab.

Editor and views

  • Tab characters align to tab stops; editor.tab_size is a setting (rexa-releases#15).
  • Project-wide Replace runs in the background with progress.
  • Tab menu on right-click; pinned tabs show a pin. Destructive menu rows are red.

Fixes

  • Opening Settings from the launch picker's gear no longer crashes.
  • Agents started by hand keep a title after a relaunch.
  • The update check runs every 4 h by wall clock; stalled fetches time out.

v0.2.0

0.2.0 — 2026-09-08

Keybindings

  • One keymap for every chord, overridable in ~/.config/rexa-<namespace>/keybindings.json (add, override, unbind), hot-reloaded.
  • Keybindings screen: a row per binding with its context and source, searchable, Compact view of the everyday chords. Record a key to rebind; conflicts are named and the old key is unbound.
  • Chords show in hover tooltips, the command palette and context menus. Modifiers draw as keycaps.
  • Rebinds off alt, which the terminal needs for its own input: pane focus cmd-shift-<direction>, dock focus cmd-shift-b / cmd-shift-r, Run cmd-k cmd-r, Import project cmd-o.
  • A user binding survives a keymap reload.

Navigation

  • The sidebar takes the keyboard: j/k move a cursor, Enter opens, and rename, copy path, reveal, collapse and hide are bound on the row under it.
  • ~ in the command palette lists every worktree, grouped by project.
  • cmd-` and cmd-~ cycle imported projects.
  • Zen mode, focus-dock actions, run bar toggle.
  • Focus no longer goes dead after an overlay closes over an empty window, a pane's last tab closes, a pane refills, or a worktree switch opens no tab — every app chord did nothing until the next click.

Agents

  • Cursor Agent behind a session card: launch and resume, live turn state, past chats, transcript, rules/skills/MCP. No blocked state and no tool results in the transcript yet.
  • A card takes its name from the terminal title when the agent puts the session's name there, so it lands as soon as the CLI knows it. Spinner frames cleaned out first.
  • Claude: a prompt names an unnamed card once, instead of renaming it to the last thing typed every turn.
  • Claude: a running teammate no longer holds a card at working while the chat is idle. A subagent still does.
  • Codex: a live card carries the thread's name.
  • A null in a card patch clears the field — an idle card kept showing the activity line of a tool that had long finished.
  • A card that finished keeps its title.
  • The transcript strips a provider's own scaffolding from a prompt.
  • Hooks own a live card and the store is read only for a relaunch. A restored card shows what its last run persisted, rather than a title, model and token count re-derived from the transcript.

Terminal

  • One sysctl replaces a ps fork per process inventory: 52–59 ms to 0.3–0.8 ms over ~995 processes.
  • A selection dragged to the edge scrolls the grid.
  • A pane closes when its terminal exits.
  • The pane context menu is app-drawn and shows each item's chord.

Editor and views

  • Mermaid diagrams render in markdown, through Rexa's own engine.
  • An empty pane names its worktree and path, and offers New console, Launch agent, Open file and the palette.
  • Agent cards indent under their worktree.
  • Inline-code chips and overlay quads stay inside their scroll container.
  • Panes split the center into even columns, the divider runs through the tab bar, neighbours share one grab band, and a drag ends on button up.
  • Imported projects take their text rung by contrast.

Extensions

Breaking, for anyone shipping an adapter of their own:

  • The transcript line bus is gone. Adapters lose the lineInterests, storePath and readLines handlers and the LineInterest, InterestKind, StorePathRequest, LineBatch and LineReading types. Report turn state through hooks; the store is read for a relaunch. An adapter that declared any of them keeps working — the handlers are simply never called — but the types no longer resolve, so a typecheck fails until they come out.
  • New: terminal_title = { names_session, unnamed } on an agent, for a CLI that puts the session's own name in its terminal title; strip_pattern on a transcript mapping, to remove a provider's scaffolding from a block before the record is judged.
  • trimOneLine is exported from packages/extension, replacing the private "one line, ellipsized" copy most adapters carried.

Install

  • The .dmg carries the Applications link to drag onto.

v0.1.6

0.1.6 — 2026-09-07

  • rexa lands on PATH from every install shape: the ~/.local/bin/rexa link is remade on each launch, so a .dmg drag no longer leaves the CLI missing.
  • rexa uninstall removes the app, every namespace's state, the CLI link and its PATH line. It lists what it will take and asks first.
  • The app icon carries the macOS squircle instead of sitting square in the Dock.
  • The editor glyph in a diff's header strip opens the file; it passed a worktree-relative path and opened nothing.

v0.1.5

0.1.5 — 2026-09-07

  • A file that was empty when it opened highlights as you type, instead of staying plain until it was closed and opened again.

v0.1.4

0.1.4 — 2026-09-07

  • A file needing a WASM tree-sitter grammar no longer kills the app: the build is signed with the JIT entitlements wasmtime needs.
  • JetBrains Mono ships with the app, instead of falling back to the system UI font on a machine without it.
  • Comments hand over through the same picker cmd-l opens, which writes the prompt and goes to that pane, leaving Enter to the reader.
  • cmd-shift-[ and cmd-shift-] switch tabs.

v0.1.3

0.1.3 — 2026-09-06

  • Closing the window no longer kills the terminals behind it: the quit flush now runs before the window releases the app, so a relaunch reattaches to the running shells and agents instead of spawning fresh ones. The state save, extension host shutdown and language server kill were skipped on that path too, and now run.

v0.1.2

Rexa v0.1.2

v0.1.1

0.1.1 — 2026-09-05

  • Every build now ships THIRD-PARTY-LICENSES.md inside the app and as a release artifact.
  • Update badge: version tooltip, download progress in percent, restart prompt when the new build is ready.
  • Release manifest names the app zip the updater extracts, not the dmg.

v0.1.0

0.1.0 — 2026-09-04

First public build. macOS only (Apple silicon and Intel), signed and notarized. Installs with curl -fsSL https://rexa.sh/install.sh | sh.

Agents

  • Run coding agents (Claude Code, Codex, and others via adapters) in native terminals, one card per session, with fact-derived status: running, waiting for input, done, exited.
  • Agents sidebar with per-provider usage, session history, resume and relaunch.
  • Launch picker (cmd-n) from manifest-declared commands.
  • Transcript reader for past and live sessions: cross-block selection, copy path, live row opens the reader.

Review

  • Comments: annotate anywhere in an editor, markdown preview or diff, then send the batch to an agent's terminal; review tray in the status bar.
  • Git: status, per-file diff (split or inline), stage by block, selection or file, line counts per section, worktree add/remove/prune tracked from outside the app.
  • Agent graph canvas.

Workspace

  • Editor: tree-sitter highlighting, per-language settings, injection layers, soft wrap with separate code and prose settings, find and replace, vim bindings, LSP with opt-in server suggestions and install progress.
  • Terminal: PTY-backed, daemon-owned so sessions survive a relaunch, IME input, hyperlinks.
  • Files: tree with git status colors, gitignore toggle, image and svg tabs, image diffs.
  • Search: project-wide content search and replace.
  • Run: project actions with task-owned PTYs, group kill, status popover.
  • Splits, tabs and docks; command palette with files, commands, extensions and themes; settings with text-size chords.
  • Resource governance: per-kind budgets, status bar meters, perf HUD.

Extensions

  • Deno-hosted extension system: manifests, capabilities, storage, endpoints, status bar items and popups, ui:confirm native dialogs, dynamic UI rendered as native gpui.
  • Zed compatibility: themes, language grammars (wasm) and language servers from the Zed registry.
  • Bundled Tasks board extension for dogfooding.

Updates

  • Self-update from the stable channel: background check, sidebar badge with download progress, restart prompt. rexa CLI installs alone or bundled.