Features
Chat
- Added mid-turn steering for running Claude turns through a detached host (#806).
- Added automatic continuation after usage limits reset (#788).
- Added rendering of diagrams in chat messages (#789).
- Made Plan mode opt-in and first-class: new sessions start in an implement permission, and you enter Plan only when you choose it (#853).
- Kept chat history visible and pinned the current prompt while a turn runs.
- Added clickable option buttons for inline numbered questions and recap questions.
- Added possible regressions to turn recaps for functional changes, and kept links in recaps.
- Rendered screenshot blocks as an image gallery.
- Showed the local receive time and cancellation status next to message timing (#829).
- Showed full file paths in mention badges and added a spellcheck toggle (#827).
- Added a modifier key to skip the close confirmation (#791).
- Added a
chat:backend_retryevent so rate-limit backoff is visible (#882). - Kept uploaded files and read remote file mentions.
- Kept queued prompt panels after a restart, and made queued prompts editable.
Backends and models
- Added the Devin chat backend and CLI settings (#583).
- Added the Meta Muse Code backend.
- Added the GPT 6.1 Terra model and fast mode for Codex.
- Added transparent, resumable PI web sessions (#663).
Agents
- Added per-agent backend, model, and skills (#805), and per-agent MCP connectors and Jean tool allowlists (#808).
- Added cron and event routines (#807), and runs scheduled at an exact date and time.
- Added searchable memory, user facts, and journal recall (#810).
- Added agent self-management through MCP (#809) and named subagent types (#811).
- Added predefined agent templates that install as custom agents (#872).
- Added interactive questions in agent chat, shown with the project question card (#885).
- Added
@mentions for agents, remote Jeans, and projects in agent chats (#887). - Made every agent's color and role prompt editable in settings (#884).
- Added a pill composer, chat bubbles, a separate updates panel, and links from agent messages to conversation context.
- Added cleaner agent tabs, an add-agent control, and a shared backend/model picker (#812).
Git and integrations
- Added GitLab as a git provider with a Jean-managed
glabCLI, and made the GitHub CLI optional (#825). - Added quota-aware GitHub polling.
- Listed branches, issues, and PRs from every git remote (#854).
- Added GitHub Discussions browsing and discussion context for chats.
- Assigned more than one Sentry project to one Jean project (#834).
- Added on-demand import of existing git worktrees (#830).
- Added a tree view to the git diff file sidebar (#826).
- Opened issues and PRs from anywhere on their worktree row.
Remote, browser, and terminal
- Added a persistent SSH tunnel transport for remote Jean servers (#844).
- Isolated UI navigation state per client, so phone, browser, and desktop keep their own place in the app (#845).
- Added remote localhost preview through SSH forwards in the embedded browser (#865).
- Added a port picker for every
jean.jsonport (#863), and a server default preview hostname (#869). - Opened
window.openandtarget=_blanklinks as Jean tabs (#864). - Showed an active terminal badge (#533), reported Claude Code status in the terminal (#690), and copied OSC 52 clipboard writes to the clipboard (#782).
Projects, sessions, and UI
- Added a collapsible Working sessions shelf.
- Added shared sidebar search.
- Added background session alerts (#449).
- Added an opt-in edge hover preview for the collapsed sidebar (#824).
- Added a new worktree button to the project header.
- Added burn pace and reset projections to usage.
- Applied a minimal design pass across all views, with one Backends settings pane.
- Opened Preferences as a near-fullscreen modal (#873).
- Sorted installed plugins first and grouped recommended plugins (#879).
- Labeled update notifications with their target.
Magic and MCP
- Pasted current-session prompts into a native CLI PTY (#828).
- Let the review comments dialog pick a backend and model (#798).
- Added the
set_connector(#886) andremove_project(#838) MCP tools, each behind user approval. - Added tstack as an installable skill pack (#874).
- Installed CLIProxyAPI as a localhost sidecar, with account login from Preferences (#876, [#877]).
Fixes
- Fixed Codex and OpenCode idle shutdown that killed running tool processes and ignored later activity (#813).
- Fixed stuck Codex sessions (#690).
- Fixed Codex
last_refreshto use RFC 3339 instead of epoch seconds (#883, closes [#880]). - Kept the live OpenCode session id after a failed run (#881).
- Kept rejected first turns and provider-rejected requests when you switch backends (#840, [#841], closes [#836]).
- Restored attachments when the backend rejects a send (#815).
- Named subagents and stopped their loading state after cancel (#851, closes [#763]).
- Made the sub-agent prompting toggle control fan-out (#823).
- Rechecked backend auth before blocking message sends.
- Fixed Claude token refresh throttling and rotated credentials, and served cached usage after fetch failures.
- Loaded the login-shell PATH in the Linux desktop app (#820, closes [#707]).
- Honored Windows and Linux external terminal choices (#842).
- Opened GitLab remotes on GitLab web URLs (#848, closes [#150]).
- Hardened the managed GitLab CLI install and auth check (#832).
- Reported a disabled Sentry membership instead of a missing scope (#833).
- Disambiguated shared repository paths by owner (#843).
- Moved the Full access approve shortcut off Ctrl+Y and let text fields own undo/redo shortcuts (#819, [#822], closes [#777]).
- Left Clear Context unbound by default (#818, closes [#693]).
- Showed the Claude thinking override and effort options for custom models (#816, [#821], closes [#676]).
- Added a session context menu to sidebar session rows (#817) and aligned right-click menus with each row (#849).
- Replaced leftover native tooltips with Jean tooltips (#850, closes [#768]).
- Opened the bottom panel from the browser shortcut (#862).
- Showed the selected agent name in the title bar (#868).
- Fixed stripping of scoped resource ids in remote server calls (#801, closes [#800]).
- Detected and replaced stale WebSocket connections, and recovered dropped connections after page wake.
- Generated URL-safe server tokens.
- Kept background investigations parallel and in the background.
- Removed co-author trailers from generated commits.
- Showed all installed skills in the slash picker.
- Kept table row selections in pending text drafts.
- Removed bot markup from review comment previews.
- Fixed the installer background on Retina displays.
- Fixed many small chat, mobile, toolbar, and worktree row layout issues.
Improvements
- Replaced Mermaid.js with the Pele diagram renderer.
- Showed PR status and checks inline on worktree rows.
- Used a bottom sheet for mobile toolbar actions.
- Hid tool activity in quiet chat mode.
- Simplified chat, project, and session lifecycle internals.
Breaking Changes
- A saved default permission of Plan now changes to Build when preferences load. Plan is never the default for new sessions (#853).
- Removed the "investigate issue in current worktree" action.
What's Changed
- fix(transport): strip scoped resource ids in invokeForServer by @jcalixte in https://github.com/coollabsio/jean/pull/801
- feat(chat): auto-continue after usage limits reset by @Selnapenek in https://github.com/coollabsio/jean/pull/788
- feat(chat): add modifier key to skip the close confirmation by @naxa1ka in https://github.com/coollabsio/jean/pull/791
- feat(magic): let review comments dialog pick backend and model by @Selnapenek in https://github.com/coollabsio/jean/pull/798
- feat(terminal): copy OSC 52 clipboard writes to the clipboard by @juleslagarde in https://github.com/coollabsio/jean/pull/782
- feat(terminal): report Claude Code status; fix stuck Codex sessions by @noih in https://github.com/coollabsio/jean/pull/690
- feat(chat): render Mermaid diagrams in messages by @fsioni in https://github.com/coollabsio/jean/pull/789
- feat(chat): steer running Claude turns via detached host by @andrasbacsai in https://github.com/coollabsio/jean/pull/806
- feat(agents): per-agent backend, model, and skills by @andrasbacsai in https://github.com/coollabsio/jean/pull/805
- feat(agents): cron and event routines by @andrasbacsai in https://github.com/coollabsio/jean/pull/807
- feat(agents): searchable memory, user facts, and journal recall by @andrasbacsai in https://github.com/coollabsio/jean/pull/810
- feat(agents): self-management through MCP by @andrasbacsai in https://github.com/coollabsio/jean/pull/809
- feat(agents): add named subagent types by @andrasbacsai in https://github.com/coollabsio/jean/pull/811
- Agents: cleaner tabs, add-agent control, shared backend/model picker, ignore Cmd+W by @andrasbacsai in https://github.com/coollabsio/jean/pull/812
- fix(codex,opencode): idle shutdown kills running tool processes and ignores later activity by @andrasbacsai in https://github.com/coollabsio/jean/pull/813
- docs(keybindings): fix close session shortcut description by @andrasbacsai in https://github.com/coollabsio/jean/pull/814
- fix(chat): restore attachments when the backend rejects a send by @andrasbacsai in https://github.com/coollabsio/jean/pull/815
- fix(settings): show thinking override for custom Claude models by @andrasbacsai in https://github.com/coollabsio/jean/pull/816
- fix(sidebar): add session context menu to sidebar session rows by @andrasbacsai in https://github.com/coollabsio/jean/pull/817
- fix(keybindings): leave Clear Context unbound by default by @andrasbacsai in https://github.com/coollabsio/jean/pull/818
- fix(keybindings): let text fields own undo/redo chords by @andrasbacsai in https://github.com/coollabsio/jean/pull/819
- fix(magic-prompts): offer Claude effort for models missing from the catalog by @andrasbacsai in https://github.com/coollabsio/jean/pull/821
- fix(keybindings): move Full access approve off Ctrl+Y by @andrasbacsai in https://github.com/coollabsio/jean/pull/822
- fix(linux): load the login-shell PATH in the desktop app by @andrasbacsai in https://github.com/coollabsio/jean/pull/820
- feat(chat): show local receive time on hover next to message duration by @andrasbacsai in https://github.com/coollabsio/jean/pull/829
- feat(worktrees): import existing git worktrees on demand by @andrasbacsai in https://github.com/coollabsio/jean/pull/830
- fix(worktrees): tighten import of existing worktrees by @andrasbacsai in https://github.com/coollabsio/jean/pull/831
- feat(magic): paste current-session prompts into a native CLI PTY by @andrasbacsai in https://github.com/coollabsio/jean/pull/828
- feat(chat): full file paths in mention badges and spellcheck toggle by @andrasbacsai in https://github.com/coollabsio/jean/pull/827
- feat(git): add tree view to git diff modal file sidebar by @andrasbacsai in https://github.com/coollabsio/jean/pull/826
- feat(sidebar): add edge hover preview for collapsed sidebar (opt-in) by @andrasbacsai in https://github.com/coollabsio/jean/pull/824
- fix(chat): make sub-agent prompting toggle actually control fan-out by @andrasbacsai in https://github.com/coollabsio/jean/pull/823
- feat: Show active terminal badge by @alepouna in https://github.com/coollabsio/jean/pull/533
- feat(notifications): add background session alerts by @andrasbacsai in https://github.com/coollabsio/jean/pull/449
- feat(pi): add transparent resumable web sessions by @Dredok in https://github.com/coollabsio/jean/pull/663
- feat: add GitLab as a git provider and make GitHub CLI optional by @andrasbacsai in https://github.com/coollabsio/jean/pull/825
- feat(devin): add Devin chat backend and CLI settings by @horacioh in https://github.com/coollabsio/jean/pull/583
- fix(glab): harden managed GitLab CLI install and auth check by @andrasbacsai in https://github.com/coollabsio/jean/pull/832
- feat(mcp): add remove_project tool behind user approval by @andrasbacsai in https://github.com/coollabsio/jean/pull/838
- fix(chat): keep rejected first turns when switching backends by @andrasbacsai in https://github.com/coollabsio/jean/pull/841
- fix(routing): disambiguate shared repository paths by owner by @andrasbacsai in https://github.com/coollabsio/jean/pull/843
- feat(remote): persistent SSH tunnel transport (#591) by @andrasbacsai in https://github.com/coollabsio/jean/pull/844
- fix: honor Windows and Linux external terminal choices by @andrasbacsai in https://github.com/coollabsio/jean/pull/842
- Isolate UI navigation state per client by @andrasbacsai in https://github.com/coollabsio/jean/pull/845
- Start a worktree or session on a chosen Jean host by @andrasbacsai in https://github.com/coollabsio/jean/pull/860
- fix(agents): show the selected agent name in the title bar by @andrasbacsai in https://github.com/coollabsio/jean/pull/868
- Add a server default hostname for browser tabs and port buttons by @andrasbacsai in https://github.com/coollabsio/jean/pull/869
- docs: align embedded browser grab event and bounds units by @andrasbacsai in https://github.com/coollabsio/jean/pull/861
- fix(browser): open the bottom panel from the browser shortcut by @andrasbacsai in https://github.com/coollabsio/jean/pull/862
- feat(browser): open window.open and target=_blank as Jean tabs by @andrasbacsai in https://github.com/coollabsio/jean/pull/864
- Preview remote localhost in the embedded browser by @andrasbacsai in https://github.com/coollabsio/jean/pull/865
- feat(browser): pick any jean.json port in the embedded browser by @andrasbacsai in https://github.com/coollabsio/jean/pull/863
- Add predefined agent templates that install as custom agents by @andrasbacsai in https://github.com/coollabsio/jean/pull/872
- Open Preferences as a near-fullscreen modal (#871) by @andrasbacsai in https://github.com/coollabsio/jean/pull/873
- feat(sessions): browse sessions from the focused worktree by @andrasbacsai in https://github.com/coollabsio/jean/pull/847
- fix(sidebar): align right-click menus with each row by @andrasbacsai in https://github.com/coollabsio/jean/pull/849
- fix(chat): name subagents and stop the stuck loading state by @andrasbacsai in https://github.com/coollabsio/jean/pull/851
- Add named Claude and Codex accounts by @andrasbacsai in https://github.com/coollabsio/jean/pull/852
- Replace leftover native tooltips with Jean tooltips by @andrasbacsai in https://github.com/coollabsio/jean/pull/850
- fix(gitlab): open GitLab remotes on GitLab web URLs by @andrasbacsai in https://github.com/coollabsio/jean/pull/848
- List branches, issues, and PRs from every git remote by @andrasbacsai in https://github.com/coollabsio/jean/pull/854
- feat(chat): opt-in first-class Plan mode by @andrasbacsai in https://github.com/coollabsio/jean/pull/853
- fix(chat): keep provider-rejected requests for backend handoff by @andrasbacsai in https://github.com/coollabsio/jean/pull/840
- fix(sentry): report a disabled membership instead of a missing scope by @danielgtmn in https://github.com/coollabsio/jean/pull/833
- feat(sentry): assign multiple Sentry projects to one Jean project by @danielgtmn in https://github.com/coollabsio/jean/pull/834
- feat(opinionated): add tstack as an installable skill pack by @andrasbacsai in https://github.com/coollabsio/jean/pull/874
- Remove Jean-managed Claude and Codex subscription accounts by @andrasbacsai in https://github.com/coollabsio/jean/pull/875
- feat(opinionated): add CLIProxyAPI as a localhost sidecar by @andrasbacsai in https://github.com/coollabsio/jean/pull/876
- Add Claude and Codex account login to CLIProxyAPI Opinionated by @andrasbacsai in https://github.com/coollabsio/jean/pull/877
- Revert [#860] and [#847]: restore separate project rows and direct session open by @andrasbacsai in https://github.com/coollabsio/jean/pull/878
- fix(preferences): section recommended plugins and collapse Devin MCP by @andrasbacsai in https://github.com/coollabsio/jean/pull/879
- feat(agents): make every agent's color editable in settings by @andrasbacsai in https://github.com/coollabsio/jean/pull/884
- feat(agents): show ask_user questions with the project question card by @andrasbacsai in https://github.com/coollabsio/jean/pull/885
- feat(mcp): add set_connector tool behind user approval by @andrasbacsai in https://github.com/coollabsio/jean/pull/886
- feat(agents): add @ mentions for agents, remote Jeans, and projects by @andrasbacsai in https://github.com/coollabsio/jean/pull/887
- fix(codex): write last_refresh as RFC 3339, not epoch seconds by @robaganrab in https://github.com/coollabsio/jean/pull/883
- fix(opencode): persist live session id after a failed run by @robaganrab in https://github.com/coollabsio/jean/pull/881
- feat(chat): add chat:backend_retry event for rate-limit backoff visibility by @robaganrab in https://github.com/coollabsio/jean/pull/882
New Contributors
- @jcalixte made their first contribution in https://github.com/coollabsio/jean/pull/801
- @naxa1ka made their first contribution in https://github.com/coollabsio/jean/pull/791
- @juleslagarde made their first contribution in https://github.com/coollabsio/jean/pull/782
- @danielgtmn made their first contribution in https://github.com/coollabsio/jean/pull/833
Full Changelog: https://github.com/coollabsio/jean/compare/v1.0.12...v1.0.13