Repository navigation
Highlights
- Desktop tool panel: Files, Source Control, Terminal, Walkthrough, Preview, MCP, Skills, Actions and Schedules dock in a right-side panel on desktop. Mobile keeps its drawers.
- Change walkthroughs: an agent explains a session's changes stop by stop. You can walk through the session, uncommitted, staged, unstaged, branch or pull request changes, and an agent can open the walkthrough itself.
- Multi-run fusion: combine two to five completed multi-run results into one fused session, from a new runs sheet.
- App-wide keyboard shortcuts, with import of your OpenCode TUI keybinds.
- Model selection that matches the TUI: chat, schedules, agents, the goal auditor and the walkthrough all share the TUI's model preferences, favorites and recents.
/ocm-moveinto worktrees: moving a local session no longer fails when the Manager checkout is dirty, behind or on another branch. The session moves into an OpenCode worktree instead.
What's Changed
Features
- feat(ui): dock repo and session tools in a desktop side panel (#400): the open tool lives in the URL (
?panel=), so it survives reloads and can be linked. - feat(walkthrough): session change walkthroughs (#386, #402, #407, #412): a walkthrough opens on an overview page, then pages through stops. Large diffs are planned once and explained in parallel, four stops at a time, with stops appearing as they finish. Explanations are reused when the code they cover hasn't changed. Choose the source (session, uncommitted, staged, unstaged, branch or pull request), and set a walkthrough model in Settings. The
ocmtool'sopen_walkthroughaction lets an agent open it. - feat(multi-run): fusion and a runs sheet (#386, #391): fuse two to five completed runs with a chosen model and optional instructions, optionally in an isolated workspace. One right-side runs sheet replaces the multi-run and fusion dialogs. A fusion no longer asks permission once for each source workspace.
- feat(schedules): workspace modes and worktree management (#385): each schedule runs in a fresh worktree per run, kept worktrees, one shared worktree, or the repository checkout itself. Its leftover worktrees can be inspected and cleaned up.
- feat(ui): app-wide keyboard shortcuts with TUI keybind import (#401): new actions include clear prompt, toggle terminal, toggle source control and cycle favorite models (Ctrl+R). Focus returns to where it was when an overlay closes.
- feat(sessions): TUI-style session picker (#403): Pinned, Today and Older sections, type-to-filter search, a This project / All scope, and inline pin and delete. Sessions from the project's worktrees and schedule runs are included (#409, #410).
- feat(composer): unified prompt suggestions (#394): one fuzzy-ranked list for commands, agents, skills and files, with
@skillmentions and a mobile insert keybar. - feat(chat): group exploration tool calls (#392): consecutive reads, searches and fetches collapse into one summary line, as in the TUI. Toggle it in Settings.
- feat(ocm): move sessions into OpenCode worktrees (#408):
/ocm-movereplaces the Manager checkout only when it is on the branch, clean and not ahead. Otherwise it reuses a clean worktree on that branch or creates one. A server branch with commits the local branch lacks is never rewound. - feat(tui): session goals, multi-runs and server switching in the ocm TUI (#395, #396):
/ocm-goal,/ocm-multirunand switching servers from inside the TUI. - feat(sidebar): match repo names and debounce session search
Fixes
- fix(models): model pickers no longer stay empty (#413): the model list reloads when the event stream reconnects. Model and provider changes now reach every open tab, including the model pickers in Settings.
- fix(commands): the slash menu no longer gets stuck on built-in commands (#406): command, agent and skill lists reload on reconnect. Changes to them reach every open tab.
- fix(pwa): persistent update banner instead of a toast (#405): a new build shows a status bar with a Reload button that stays until used.
- fix(proxy): remote terminals over the OpenCode proxy (#397): a remote TUI can now open terminals through Manager.
- fix(ocm): scope the repo proxy to the requested worktree (#389): after
/worktreeor/projects,ocmloads sessions, agents, models and config for the selected directory. - fix(permissions): clear expired permission requests (#390): requests the server no longer knows about are dismissed with a notice instead of getting stuck.
- fix(walkthrough): name the selected source in the no-changes message (#411)
- fix(navigation): scope the mobile Files tab to the assistant workspace (#393)
- fix(mobile): tighter repo header actions, and the reports inbox hides when empty (#399)
- fix(composer): keep the mobile caret aligned when command mode toggles
- fix(sidebar): give sessions the spare height and cap the menu section
Refactors
- refactor: unify model selection with the TUI (#387): one provider catalog, one model-preference store in the TUI's
model.jsonformat, and a sharedModelComboboxacross chat, schedules, agents, the goal auditor and the walkthrough.
Docs
- docs(ocm): refresh env and CLI guides (#398):
.env.exampledocumentsOPENCODE_HEALTH_*,OPENCODE_BIN,REPO_BROWSE_ROOTandPREVIEW_PORT. The internal settings API no longer returns stored credentials. - docs: refreshed README (#414)
Upgrade Notes
- Version jump. The planned 0.22.0 was never released, so this release goes straight from v0.21.0 to 1.0.0 and includes all of those changes.
- Database migrations (schedule workspace modes, multi-run fusions, change walkthroughs and walkthrough sources) run on first start. Migrations only go forward, so back up the data volume first if you might need to roll back to v0.21.0.
- ocm-cli 0.4.0 is published with this release and pairs with Manager 1.0.0 for
ocm push,ocm pulland/ocm-move. On those commands Manager 1.0.0 tells ocm-cli 0.3.0 to upgrade, and ocm-cli 0.4.0 reports when a Manager is too old. Update withnpm i -g @opencode-manager/ocm-cli@latest. - Installer users: re-run
curl -fsSL https://opencodemanager.app/install | shto update. Source checkouts update as before withgit pulland./scripts/docker-upgrade.sh.
Full Changelog: v0.21.0...v1.0.0