Changelog
Changelog
Every Soreno release, with what’s new, what changed and what got fixed.
Changes
- Mobile access moves: the page now opens at
https://mobile.soreno.dev, and servers reach the relay by name,relay.soreno.dev. On each server already enabled, the Mobile dialog offers Update; phones then need to be paired once (Pair a phone). Traffic stays end-to-end encrypted. - During a framing (
/grill), Revisit a decision makes OMP ask the question again: the new answer replaces the old one in the Framing column, and Summarize is offered again after a decision made since the last summary. A skipped question is listed as Unanswered without counting as a decision. The summary shows in the conversation, with its Copy button. - During a framing, OMP settles obvious choices on its own and says so, instead of asking a question for each.
Fixes
- In conversations, numbered lists keep their starting number and indentation.
- A project group’s form no longer offers projects whose folder is missing, unless they already belong to the group.
- The selected Git tab keeps the theme colors.
What’s new
Frame a topic with /grill
In Chat (OMP), /grill <topic> starts a guided framing: OMP explores the code, then asks its questions one at a time, each with a recommended option and its rationale, without changing any file. The Framing column gathers the decisions as you answer; you can answer freely, revisit a decision or ask for the summary with Summarize.
HTML mockups in the chat
/mockup <topic>, or Mock up in the Framing column, asks OMP for an HTML mockup, shown in a preview at Mobile, Tablet or Desktop width. The arrows browse the conversation’s mockups, and Copy HTML copies one. Clicking an element of the mockup lets you comment on it to request a change. During a framing, Mock up this question illustrates each option of a question with a variant, so you can answer while looking at it.
Side questions
/btw <question> asks OMP a side question, even during a step, without redirecting it or waiting. The answer streams into a panel above the composer, never into the thread; the panel lets you ask a follow-up or stop the question.
Keyboard shortcuts
- Settings > Shortcuts lists Soreno’s shortcuts with your system’s keys; holding a combination highlights it in the list.
Ctrl+B(Cmd+Bon macOS) hides or shows the sidebar, without taking over bold in the editor or the terminal.Ctrl+Alt+B(Cmd+Option+Bon macOS) hides or shows the Git panel, including from the terminal.
Changes
- Diff options (Unified or Split, Wrap lines, file list visibility) are kept from one file to the next and after a restart. With the list hidden, the shown file’s actions (stage, discard, resolve) stay in the diff bar.
- After Update OMP, See what’s new shows what’s new in the new OMP version.
- Settings > Agents > OMP chat commands chooses the commands offered by the chat’s
/menu. - Code blocks in a known language are highlighted in conversations, the Kanban and release notes.
- Option descriptions in an OMP question render Markdown, without clickable links inside the buttons.
- A single-choice question is sent with Answer after picking the option, instead of going out on the first click.
- Generated commit messages use your Codex account’s default model when no model is chosen.
Fixes
- In Chat (OMP), a lost SSH connection is reported as such, instead of an unexpected OMP stop.
- A session’s goal (
/goal) shows correctly again after resuming a conversation. - Over SSH, the temporary folders created when a session starts are removed when it ends, even if it was running without Soreno.
What’s new
Commit message style
Settings > AI > Commit messages offers a Default style for messages generated by Codex: Imperative (one short line, verb in the imperative), Conventional Commits (type and optional scope prefix) or Subject + body (short subject, then a brief paragraph explaining why), with a preview. Commit conventions in the repository’s AGENTS.md take precedence.
Goals in Chat (OMP)
/goal <objective> sets a goal for the session: OMP keeps working turn after turn until it reaches it, as in its terminal. /goal alone shows it, and /goal pause, resume or drop pause, resume or drop it. Its state (active, paused, budget reached) shows below the composer.
Git identity for all repositories
The dialog asking for the author’s name and email before a commit offers Use for all repositories, to save that identity in the global Git configuration rather than in the repository only.
Changes
- In Chat (OMP),
/now only suggests the OMP commands that are useful in the chat; those that duplicate Soreno’s controls or need its terminal are hidden. - Skills used by an agent are highlighted in the conversation, under a simplified name.
- Hide tools and reasoning now sits next to the context indicator, below the composer.
- Visual touch-ups: the agent’s activity row no longer moves while tools run, segmented control corners, focus ring kept for keyboard navigation.
Fixes
- Chat (OMP) stays pinned to the bottom of the conversation when an image loads late.
- On an SSH server whose system commands come from uutils (Ubuntu 26.04 for example), concurrent reads no longer get mixed up and saving a file no longer risks clashing with another save.
What’s new
Chat (OMP) survives closing Soreno over SSH
On a Linux SSH server, a Chat (OMP) session keeps running when you close Soreno or lose the connection, like terminals: OMP carries on with its turn, and reopening the session finds it again, with OMP’s questions still waiting for your answer. Stop ends it on the server. On a macOS server, the Chat still stops with Soreno.
Auto commit
In the Git panel, Auto commit (the ✦ icon left of Commit) does it all in one click: it stages every change, untracked files included, generates the message with Codex and creates the commit, without review. If Codex isn’t installed, nothing is changed and the notification points to Settings > AI; if generation fails, files stay staged and no commit is created. The button is disabled during a merge, with conflicts or on a detached HEAD.
Chat (OMP)
- ↑ on the composer’s first line recalls the messages sent in the conversation, and ↓ moves back to the latest ones, then restores the current draft.
- Like terminal agents, Chat (OMP) can create a Kanban issue when you ask it to.
Changes
- In Chat (OMP), running subagents only show above the composer; once finished, they stay under the call that started them.
- Settings > Skills groups skills into Updatable and Not updatable.
- Settings > General gains icons and a Theme section.
- Chat (OMP) conversation text and icons are pixel-aligned.
Fixes
- In Chat (OMP), Stop no longer does nothing when only OMP background jobs are still running: the view says so and the button stops them.
- With the interface in English, a Git error about an unexpected response no longer shows details in French.
What’s new
A more complete Chat (OMP)
- Mentions and commands:
@suggests the project’s files, recent ones first;/suggests OMP commands and skills. Arrows, Enter or Tab insert the suggestion, Escape closes the list. - Attachments: paste, drop or pick with the paperclip any file. Images go with the message if the model reads them, text files are copied into the message, and any other file is transferred to the conversation’s private folder, as in a terminal.
- Queued messages: a message sent during a step waits its turn and can be canceled; stopping the step puts queued messages back in the composer.
- Hide tools and reasoning, in the … menu, keeps only the replies; the choice applies to every conversation and is remembered.
- Update OMP appears when a newer OMP version is available in the project’s environment.
- Running subagents show above the composer, with their type.
- A conversation gets a title as in OMP’s terminal, reused as the session name.
- In an OMP question, the suggested answer is marked Recommended, and the session shows as waiting for a reply while the question is open.
- Resolve with an agent, after a worktree merge conflict, opens a new Chat (OMP) conversation when that is the worktree’s agent.
Changes
- The chat stays in its starting state until OMP answers, instead of looking ready too early.
- Long OMP notices are collapsed in the conversation.
- A todo list with a single phase no longer shows the “Tasks” heading.
Fixes
- In conversations, the Kanban and release notes, Markdown list items separated by a blank line stay in the same list.
What’s new
OMP without a terminal
- New session > Chat (OMP) runs OMP in a conversation view, without a terminal, in local, WSL and SSH projects. Replies stream in as they are written; each tool takes one line that expands to its output or to the diff of an edit.
- OMP’s approvals and questions show above the message box and take one click, or Enter and Esc on the keyboard. The session is marked as waiting for a reply, like other agents.
- The message box offers the model, with a search by name or provider, the reasoning level, context usage, attachments (images and text files) and a way to stop the current step.
- The conversation resumes when the session restarts. Git panel remarks and Kanban comments sent to the agent reach it directly.
- Resume a conversation… in the … menu lists the project’s earlier OMP conversations, newest first, with a search, and opens the one you choose in place of the current one, like OMP’s
/resume. - Subagents started by OMP show under the call that started them, with what they are doing, their tokens, their duration and a button to stop one.
- OMP’s todo list shows above the message box, with its progress and the current task; it expands to each phase and the state of its tasks.
- OMP must be installed in the project environment; its models, accounts and approvals stay those of its own configuration.
Changes
- Bold or italic text keeps its code and links: a file name in code inside bold text shows as bold code, without its backticks, in conversations, the Kanban and release notes.
mermaidcode blocks show as diagrams, drawn by Mermaid in the light or dark theme’s colors, in conversations, the Kanban, Markdown file previews and release notes. A wide diagram scrolls horizontally; an invalid diagram or a Gantt chart keeps its code.- An agent can create an issue directly in Linear when you ask it to (“add an issue in Linear”), in the Linear project linked to the session’s project. Otherwise the issue stays local, unless the session is already working on a Linear issue. The Linear badge on issues is now colored.
- With colored file icons on, Git changes keep their usual status icons; colored icons now only apply to the explorer and search.
- Settings › Skills no longer lists projects whose folder is gone.
- Visual touch-ups: project cards without a selection background, issue creation dialog fields, split terminal icon distinct from the Git panel one, Git files view icon oriented to the layout.
Fixes
- On macOS, the space bar types a real space in terminals again, instead of a non-breaking space some agents didn’t recognize.
- In an SSH session on a server that isn’t set to UTF-8, which is common from the macOS app, Soreno switches the shell to UTF-8 when the server allows it: an accented prompt or a long line no longer gets garbled when erasing.
What’s new
Linear issues in the Kanban
- The Kanban can show the issues of a Linear team next to the local issues: Connect Linear in the board header, with a Linear API key. Both sources share the same columns; a Linear issue shows its identifier and a Linear badge, and an All / Local / Linear filter narrows the board. Without a connection, the Kanban stays purely local.
- Changes made in Soreno (state by drag and drop, title, priority, labels, description, comments, deletion) are made directly in Linear. Your teammates’ changes show up when you come back to the window, every 5 minutes while the Kanban is on screen, or right away with Refresh. If Linear can’t be reached or rejects the key, local issues stay on the board.
- A new issue goes by default to the filter’s source (with All, the last destination you chose); the destination can still be changed when creating, and a sub-issue stays in its parent’s source.
- An agent started on a Linear issue posts its summary as a Linear comment and moves the issue to review; an issue it creates goes to the same Linear team.
- A Soreno project can be linked to a Linear project: its Linear issues show up under that project in the filter, and an agent started from one of them starts in that project.
- Send to Linear, in a local issue’s details, moves it to the Linear team on screen, with its comments carried over at the end of the description; the linked agent session follows it.
Switch sessions from the keyboard
Ctrl+Tab shows the project’s next session tab and Ctrl+Shift+Tab the previous one, on macOS and Windows alike. A stopped session is only selected, not restarted.
Colored file icons
Settings › General › Colored file icons shows a colored icon per file type, from Material Icon Theme, in the explorer, Git changes, quick open and search. Git changes then show the status letter next to each file. Off by default.
Editing shortcuts in agent terminals
- On macOS, the Terminal, iTerm2 and VS Code shortcuts work in sessions: ⌘← / ⌘→ go to the start or end of the line, ⌘⌫ deletes to the start and ⌘⌦ to the end, ⌥← / ⌥→ move word by word, ⌥⌦ deletes the next word.
- On Windows, Ctrl+Delete deletes the next word.
- ⌘A (macOS) or Ctrl+Shift+A selects the whole terminal.
Changes
- Settings › Skills hides projects without skills by default, with the Hide projects without skills option.
- Visual touch-ups: accent colors on settings controls and skill icons, larger switches, animated segmented control selection, Git tree folders colored with file icons, project card background hidden while one of its sessions is active.
What’s new
- Customize icon and color is also offered in a project group’s menu: a catalog icon, a color or an imported image, kept when the group is renamed.
Changes
- On Windows, Ctrl+Backspace deletes the previous word in every session, local, WSL or SSH. On macOS, Option+Backspace does the same.
- On macOS, Soreno is signed and notarized by Apple.
- The Mobile button in the status bar is hidden for now.
- On the mobile page, the keyboard opens more smoothly on iOS and Android.
- In a project group’s view, each project’s change count shows below its branch.
- The send button of a line comment keeps its size when the window is narrow.
Changes
- Soreno no longer keeps forever the small folders it creates each time an agent starts, which hold among other things the agent’s last message, on your computer and on SSH servers: deleting a session also deletes its folders, and those no longer needed to resume disappear after 7 days without activity. The latest launch of each session and sessions still running on a server are always kept.
- Settings > AI > Git has a Fast mode switch: on by default as before, it can be turned off to generate commit messages without Codex fast mode, which uses more of your plan.
- In the Files tab,
Ctrl+V(Cmd+Von macOS) or Paste in the context menu copies into the project the files copied from File Explorer, Finder or your file manager: into the targeted folder, or next to the targeted file. A name already in use givesname copy.ext, thenname copy 2.ext… Folders are not pasted. This also works for WSL and SSH projects, with files up to 32 MiB over SSH. - A Kanban issue moves to the in-progress column as soon as its agent starts, and back to its original column if the start fails.
- The Favorites menu of the session tabs is wider.
Fixes
- When Git refuses to delete a branch whose commits aren’t merged, Soreno explains why and suggests merging or pushing it first, instead of a generic failure.
- The mobile access service installed on servers now includes the 0.6.1 fix that shows a conversation’s first messages as soon as it opens: the Mobile dialog offers Update on each enabled server.
What’s new
- When Merge into <main branch> and delete stops on a conflict, the notification offers Resolve with an agent. Soreno opens a “Conflicts · <agent>” session in the worktree, with the agent that was working there, to resolve the conflicts and commit the merge. Then just run the merge again.
Ctrl+F(Cmd+Fon macOS) searches inside the file open in Files, from the editor or the tree: matches are highlighted, a counter shows the current position,Enter/Shift+Entermove between matches, with the Match case, Match whole word and Use regular expression options.- Files in Changes and in a commit in History have a context menu (right-click, Menu key or
Shift+F10): Copy relative path, Copy absolute path, Insert path in active agent and Show history for that file. Paths are relative to the project; a repository file outside the project offers no action. - Moving a Kanban issue to the in-progress column (In Progress) offers to Start agent: it starts in a worktree of the issue’s project. Not now moves the issue without an agent. Nothing is offered when an agent is already running on the issue.
- A Kanban issue’s description is edited right in its details, with the note editor (live rendering,
/commands, pasted images); it saves itself after a typing pause or when leaving the field. - Delete comment removes a comment from a Kanban issue, after confirmation.
Changes
- The Files tree toolbar shows the project path instead of a search field;
Ctrl+P(Cmd+Pon macOS) remains the way to find a file. Refresh files and Collapse all are direct buttons; creating a file or folder goes through the tree’s right-click menu, and Reveal open file is gone. - Claude quotas are read by Claude Code itself (
claude auth statusand/usage) instead of its credentials: Soreno no longer accesses~/.claude/.credentials.jsonor the macOS Keychain, and a macOS server now shows its Claude account. Per-model caps use the name Claude Code displays; an expired Claude session is restored with/loginin Claude Code. - Insert path in active agent no longer shows a notification: the agent is already shown with the path typed in.
- In the project list, worktrees no longer show their path, and the worktree of the active session is marked.
- In History, a remote branch tracking a local branch is folded into that branch’s badge instead of a separate badge.
- A project’s name is labeled Display name in its form; left empty, it uses the folder name.
- Visual touch-ups: input field background, split pane borders, History title aligned with its path filter.
Fixes
- A Claude Code session stays working while agents it launched in the background (subagents, workflows) are still running, instead of switching to waiting as soon as its own turn ends.
- A table in a note preview can again gain a row or a column: + buttons appear below and to the right of the table on hover or keyboard focus, and put the cursor in the new cell.
- Merge into <main branch> and delete, from the project list, merges the worktree’s latest commit, including one made just before, such as the commit resolving a conflict.
Changes
Ctrl+P(Cmd+Pon macOS) now lists the files recently opened in Files first, marked Recently opened, including files ignored by Git such as.env.local. With an empty field, it shows these recent files. Soreno remembers the last 50 files opened in each project.- The summary an agent posts on a Kanban issue now sticks to what changes for the user, without lists of files, tests or commands. After a review or a comment, it only describes what changed since its previous summary.
- Favorite sessions now live behind the Favorites icon at the start of the session tabs instead of the New session menu. The list gathers the project’s favorites, open or closed: a click shows or reopens the session, and each row can rename it or remove it from favorites.
- While there is no project, Add project and Clone repository show in the middle of the projects area instead of the Git panel.
- Visual touch-ups: full-width Git history loading button, spacing between project groups and the following entries, mobile page header height.
Fixes
- When an agent is not installed, its session shows “<agent> is not installed”, with a link to the Installation guide and Retry, instead of a raw terminal error (such as PowerShell’s on Windows).
- On the mobile page, a conversation shows its first messages as soon as it opens.
What’s new
Agent notifications
When a Pi, OMP, Codex or Claude Code agent finishes its turn or waits for a reply, Soreno shows a system notification, unless its terminal is already shown in the focused window. SSH and WSL sessions are covered.
- The notification shows the session, the project and the start of the agent’s last reply, or Waiting for your reply. Several sessions reporting at the same time are grouped (3 sessions need you). Clicking it brings Soreno to the front on that session.
- An agent waiting for a permission or for the answer to a question is marked Agent waiting · reply needed, even while shown, until you reply.
- The Dock badge (macOS) or taskbar icon (Windows) counts unread and waiting sessions.
- Ctrl+Shift+U (Cmd+Shift+U on macOS) opens the next session waiting for you.
- Settings > General > Notifications > Agent notifications turns them off; Soreno then asks the system for no permission.
Favorite sessions
Right-click a session tab, then Add to favorites: closing the tab no longer deletes the session. It can be reopened from the Favorites section of its project’s New session menu, and resumes its conversation.
Project icon and color
Customize icon and color, in a project’s menu, picks an icon from a catalog of 154, shared with note types, and a color, or imports an image. Reset restores the folder icon.
Comment a diff line in one click
In Changes, a + appears in the gutter next to the hovered line: click to comment on that line, drag for a range, and Shift+click to extend the selection.
Changes
- Untracked files are shown with modified files in Changes, in the same folders, instead of a separate group.
- The project picker of a Kanban issue shows each project’s environment (local, WSL, SSH).
- Settings > Skills groups project skills by environment.
- The project list’s view options are now icon buttons in its toolbar.
- The Stage all and Unstage all buttons fill the available width.
- Alignment touch-ups in the project list and the issue sidebar.
Fixes
- Crashes and interface errors are recorded in a log, without the content of your notes. On an error, Soreno shows Reload instead of a blank window. Settings > General > Diagnostics > Logs opens the logs folder, to attach to a bug report.
- When the Claude session has expired, usage says so and suggests opening Claude Code to refresh it, instead of reporting usage as unavailable.
- Over SSH, a request left stuck by a dropped connection is released, and temporary files left on the server are cleaned up on the next connection.
Changes
- In a Git diff, an image preview shows its dimensions and file size, and the size difference between the two versions. Both versions are shown in a frame of the same size, so a resize stands out at a glance; an added or deleted image is marked Added or Deleted.
Fixes
- Phone pairing works in Safari (iPhone, iPad, Mac): Safari can’t store the phone’s key as is, so it is now kept encrypted there.
Fixes
- Mobile access can now be enabled on servers without systemd, such as Gitpod containers and devcontainers, where activation used to fail. The service runs in the background there, and each SSH session Soreno starts relaunches it if it stopped; the Mobile dialog shows Update required while it is stopped.
- On a server with systemd, activation no longer fails when keeping the service running after logout is already enabled. If it isn’t and the server refuses to enable it for your account, an administrator only needs to run
sudo loginctl enable-linger <account>once.
What’s new
Local Kanban
The Kanban now works entirely locally: issues, columns, comments, labels, images and links to agents are stored in Soreno, on your computer. The board keeps its look and features: tabs, drag and drop, issue details, agent launch, end-of-task summary and move to review.
- The board starts with the Soreno team and the Backlog, Todo, In Progress, In Review, Done and Canceled columns. Issues are numbered
SOR-1,SOR-2… - An issue’s project is directly a Soreno project, and an agent started from the issue runs in that project: the agent no longer has its own project choice.
- Create a label by typing its name in the label selector.
- In New issue, check Start an agent then Create and start agent to create the issue and start an agent on it right away.
- New sub-issue, in an issue’s details, creates a linked sub-issue.
- Linked pull requests are recognized from their links in the description and comments.
- When you ask an agent to add an issue, it is created in the Soreno Kanban, with no prior setup.
Mobile access without Tailscale
- Mobile access now goes through the Soreno relay: in the Mobile dialog, Enable, then scan the QR code with the phone’s camera. Sessions open from any network, cellular included, with nothing to install on the phone or on the server besides Soreno, no
sudoand no port to open. - Traffic between the phone and the server is end-to-end encrypted: the relay connects them without reading sessions, conversations or images.
- One phone can be paired with several servers: the page shows them all. The dialog lists paired phones, and Revoke cuts one off immediately, open conversations included.
- The mobile page can also scan a QR code with the camera, to pair the app added to an iPhone’s home screen.
Changes
- The Linear connection and its API key are gone, and its issues are not imported: the Kanban starts empty.
- Deleting an issue is permanent, after confirmation.
- Issues no longer have an assignee.
- Mobile access no longer uses Tailscale, and the principal and attached servers are gone. On a server already enabled, Update removes the old Tailscale publications and connects it to the relay; phones then need to be paired once.
- In Settings > Skills, each skill shows whether it can be updated and why not otherwise (local source, npm package, untracked source); the update button no longer appears when an update is impossible.
- On the mobile page, sessions are listed by launch time, newest first.
- In a worktree’s Git panel, the branch no longer appears twice in the header when the project name already contains it.
- On macOS, the window’s title bar follows the light or dark theme chosen in Soreno.
Changes
- Codex and Claude quotas no longer refresh while the Soreno window is hidden or minimized; coming back to the window catches up on the missed refresh.
- Codex launched by Soreno again follows the sandbox mode and approval policy of your
config.toml, including from a Linear issue or in a project group. The folders Soreno opens to it for writing only apply inworkspace-writemode; in read-only mode, Codex asks before writing. - On the mobile page, a Pi or OMP session whose history was deleted while the agent is still running shows Conversation deleted, without a message field.
Fixes
- On Windows, reading Codex quotas can no longer force the computer to restart: Soreno lets
codex app-serverexit on its own instead of killing it.
What’s new
What’s new, inside Soreno
The first time Soreno starts after an update, it shows what’s new in that version. Clicking the version number in the status bar opens it again at any time.
Mobile access: screenshots and agent questions
- The image button, left of the message field, sends a screenshot or photo from the phone to the agent; an image pasted into the field goes the same way (4 MB max).
- When the agent asks a question and waits for your answer, the session shows Reply expected, in the session list too, ahead of Working.
- A session’s … menu offers Hide tools to keep only the messages; the choice is remembered on the phone. Tapping a session’s header goes back to the list.
Markdown preview in the file explorer
In the Files tab, Show Markdown preview shows a Markdown file rendered, unsaved changes included.
Changes
- The Files tab shows symbolic links with their own icon. They are never followed: not opened or expanded, and can’t be renamed, duplicated or deleted from Soreno.
- Badges of untracked and conflicted files now have a color, like those of added and deleted files.
- On the mobile page, a running session shows Active, and an agent at work shows Working.
Fixes
- Codex starts again from a Linear issue or in a project group when it hasn’t approved the project yet.
- In Settings > Skills, a skill the tool can’t update in place is reinstalled from its source, and a removal that did remove the skill is no longer reported as failed.
What’s new
Mobile access to SSH sessions
Follow and steer the agents of your SSH servers (Pi, OMP, Claude Code, Codex) from your phone, even with this computer off. The Mobile dialog in the status bar, next to Ports, checks the requirements (compatible Linux server, Tailscale connected on the server, HTTPS publishing) and gives the command to run for each, then Enable mobile access installs the service on the server and shows the address to open on the phone, with a QR code. Several servers can be enabled: a main server gathers the sessions of all the others on the same page. On the phone, the page lists sessions, shows each conversation with its tools and lets you send the agent a message, without changing the terminal size on the computer.
In an SSH session tab, Copy attach command also gives the command that joins this session from another terminal or a mobile SSH client.
Manage skills
New Skills page in the settings: it lists the skills installed for your agents, globally and in each project, on this computer, on WSL and on your SSH servers. Filter the list, remove a skill, and update the ones installed from skills.sh when their repository changed (Update available, Update all). A disconnected project or server is flagged without opening an SSH connection.
Changes
- Insert path in active agent replaces picking an agent in the Files tab menu: the path goes to the agent of the active pane.
- The usage indicator in the status bar shows weekly usage instead of the busiest window.
- The Terminal log also records the detailed cause of failed Git reads.
Fixes
- After sleep or a network change, an SSH project’s Git panel no longer shows “repository folder can’t be reached”: the read is retried once on a fresh connection.
- When the file shown in Changes is no longer modified, the Git panel updates instead of showing an error.
- The terminal cursor stays solid while typing and only blinks when idle.
- Codex launched by Soreno no longer warns that its shared server is missing.
What’s new
File actions
In the Git panel’s Files tab, right-clicking a file or folder (or pressing the Menu key, or Shift+F10) opens its actions:
- Copy relative path or Copy absolute path, and Insert path in a running agent of the project, which is then shown with the path typed into its terminal.
- Show changes for a modified file, and Show history limited to that file or folder.
- New file…, New folder…, Rename or move… (missing folders are created), Duplicate and Delete…. Deletion is always confirmed and permanent, without going to the trash; a name already in use is refused.
The More file actions menu in the tree’s toolbar can also Reveal open file and Collapse all. Each modified file shows its Git status, and folders containing changes show a dot. These actions work locally and over SSH.
Changes
- Open in the notification for an issue created by an agent now shows the issue in Soreno’s Kanban instead of opening it in the browser.
- In a Linear issue’s detail, the form to start a new agent is separated from the last session by a line.
- A project group’s overview no longer shows the changes summary when there are none.
Fixes
- Quick file search no longer returns stale results after a folder stops being a Git repository.
What’s new
Search in project
Ctrl+Shift+F (Cmd+Shift+F on macOS) opens Search in project: it searches the content of the selected project’s files, with Match case, Match whole word and Use regular expression options (Alt+C, Alt+W, Alt+R from the field). Selected text on a single line pre-fills the search; otherwise the last search is reused. Results are grouped by file, exclude files ignored by Git and are limited to the first 1,000. Choosing a result opens the file in Files at the matching line, with the match selected. Search works locally, on WSL and over SSH.
Changes
- The built-in chat is removed, along with its sessions and conversations.
- The Git panel refreshes faster in large repositories and over SSH: between reads, Soreno only reads again the files that changed. The Terminal log also records how long these reads take.
- Settings > General now groups its options into two parts, Interface and Terminal.
- Summaries posted by an agent on a Linear issue are written in Markdown: one sentence, then a list of the changes and checks run.
Fixes
- In Linear issues, inline code is readable in both light and dark themes, and links written by Linear between angle brackets (
[text](<address>)) display correctly.
What’s new
Chat: add context with @
In the chat, type @ to mention a project file or folder: Soreno suggests matching paths, attaches their content to the message and lets you preview it before sending.
Sort changed files
In Changes, the Sort files menu orders each group By path (default), Most changed first or Least changed first, by the number of added and removed lines. Binary and untracked files stay at the end of the group, and the previous/next arrows follow this order. The choice is remembered and also applies to project group diffs.
Changes
- The chat is marked as experimental and is no longer offered by default: turn it on in Settings > Agents. If you have changed your settings since 0.4.0, your agent choice stays as it is.
- The default worker chat agent now uses the GPT-6.1 Sol model.
Fixes
- A disconnected SSH project, or one not connected when Soreno starts, keeps its worktree grouping in the project list.
- The chat no longer loses a message sent just as a step starts, no longer cuts off a reply in progress when an error is shown, and marks messages waiting on a restarted session as not sent.
- In an SSH project, chat commands run in the project folder even if the server’s login profile changes directory.
- Shift+Tab leaves the chat’s
/command suggestions.
What’s new
Chat: attachments, commands and editing a message
- Attachments: paste, drop or attach with the paperclip images and text files. Codex sees the images, and text files travel with the message, SSH and WSL projects included.
- Commands: type
/for/new,/resume,/compact,/model,/thinkingand/copy, with keyboard completion./resumereopens another conversation of the project, for example the one left with New conversation. - Context N% shows how full the model’s context is; the … menu offers Compact the conversation and New conversation.
- Hover a message for Copy, and on your own messages Edit from here or Send again, which resume the conversation right before that message.
- A file edit shows its diff, a write shows the written content, and each tool shows how long it ran.
- Chat replies and Linear issues now display Markdown tables.
- The model picked in a chat becomes the model of new chats.
Chat: specialized agents
The chat can hand part of the work to specialized agents running in the background, with the same tools and approvals as the chat. An Agents strip follows them live: View agent opens its conversation, where you can Redirect a running agent, ask it to Continue or Stop it. Approval requests name the agent that makes them.
Manage agents… in the … menu, or /agents, opens Chat agents, shared by every Soreno chat: enable, edit, create or delete an agent, choose its model, import .md files, and set the number of Concurrent background agents (1 to 16). Six default agents are offered on first use.
Changes
- In Chat agents, each agent shows the name of the model it actually runs with, and is no longer wrongly flagged as unavailable.
- In Settings > Agents, the chat row shows right away whether your ChatGPT account is Connected or Not connected.
- Terminal backgrounds now match the themes: white in light mode, charcoal grey in dark mode.
What’s new
Built-in chat with your ChatGPT account
New Chat session type in the new-session menu: a conversation with Codex in a chat window, with no terminal and nothing to install. It uses your ChatGPT subscription: sign in once with Sign in with ChatGPT, or from Settings > Agents. Codex works in the project folder; on WSL and SSH, its commands and changes run on the project’s machine.
- Approvals: by default, Codex asks before each command and each file change (Allow, Allow all in this chat, Deny). Allow everything removes these prompts in every chat until you switch back to Ask for approval.
- Choose the Model and the Reasoning level, Stop a running step, and add an instruction while it runs.
- A stopped conversation can be picked up again with Resume the conversation.
Start or stop all services
A project’s services all start at once with Start all, then stop with Stop all once they are all running.
Changes
- When Soreno starts, SSH projects stay Not connected until you use them: no automatic read (branch, Git, files, services, quotas) reaches the server, which avoids waking up a billed remote environment. The last known branch and Git state stay displayed. Starting a session, including from a Linear issue, or clicking Connect restores the connection for every project on that server.
- Later summaries from the same agent on a Linear issue (after a review or a commit requested in the session, for example) extend its first comment under a single signature instead of posting a new one. They no longer move the issue.
- The notes AI assistant and its chat are removed. The AI settings tab only keeps Codex and the commit message model.
- Settings now opens from the bottom of the activity bar instead of the status bar.
Fixes
- Scrolling a terminal full of colored diffs (OMP sessions in particular) no longer stutters: Soreno moves the existing rows instead of redrawing everything.
Changes
- AI commit review (Review commit in the Git history) is removed. The Git card in the AI settings now only sets the model for commit messages.
- In the activity bar, Projects now uses a house icon.
Fixes
- When a Linear issue’s description is too long for the agent’s launch message, the full issue is attached as a file with all its images: the agent no longer loses the end of the description or the images in it.
- A Codex session title no longer keeps the truncated project name (“...”) that Codex adds when the folder name is long.
What’s new
Activity bar
An icon bar on the left of the window replaces the Notes / Projects switcher: Projects, Kanban and Notes are one click away, with their name on hover. The Linear board opens straight from this bar.
Unread finished sessions
When an agent finishes its turn while its terminal isn’t shown, its tab and its row in the project list say so (Agent finished · unread) until you show its terminal. In a split tab, only the affected pane is marked.
Changes
- A split tab shows both of its panes: each half of the tab carries its session’s name and can be selected and closed on its own.
- The usage indicator in the status bar shows the used percentage next to its meter.
- In the Git panel, the branch name in the header is no longer a button: branches open from the Branches tab.
What’s new
Agent settings
New Agents page in the settings: uncheck an agent to remove it from the new-session menu and from the agent picker on a Linear issue. Terminal is always available. The page shows the command run for each agent; Soreno doesn’t install them, each one must already be present in the project’s environment (local, WSL or SSH server).
AI settings and Git model
The Assistant settings tab becomes AI and is split into three cards: Codex (installation and updates), Note assistant (model and effort of the assistant panel) and Git. The Git card chooses the model used to generate commit messages and to review a commit from the history; effort stays low for quick answers.
Linear: summaries signed by the agent
The summary an agent posts on an issue is signed with the agent’s name. In the issue detail, that comment shows the agent’s icon and name instead of yours, since Linear credits it to the owner of the API key.
Changes
- The Git panel’s Review tab is gone. Reviewing a commit is still available from the history.
- The Terminal log is off by default: turn it on in Settings > General when you need it, without restarting sessions. When off, nothing is recorded.
- The branch shown in the project list updates as soon as the Git panel reads the repository or an agent finishes its turn, without waiting for the next refresh.
- The button that shows or hides the note list now uses the same icon and selected state as the project panel button.
What’s new
Linear: the agent moves the issue to review with its summary
An agent started from a Linear issue ends its work with a summary. Soreno posts it as a comment on the issue and moves the issue to its team’s review state (the first started state whose name contains “review” or “revue”). An issue that is already done or canceled keeps its state.
Linear: ask an agent to create an issue
When a Linear API key is saved, you can ask any agent (Claude Code, Codex, Pi, OMP) to create a Linear issue. Soreno creates it with your key, in the team of the Linear project linked to the project or otherwise in the first team, then announces it with a notification offering Open. The agent only creates an issue when you ask it to.
Codex and Claude quotas: a panel per account
Quotas in the status bar are shown as meters. Clicking them opens the Usage panel: one card per account with its plan, masked email address and environments (Local, WSL, SSH), the Short window and Long window with their reset and elapsed time, and Claude’s per-model caps (Opus, Sonnet…). Show in the status bar chooses the account displayed. An unavailable quota is no longer shown as 0%.
Changes
- The agent section of a Linear issue’s detail is more compact: the agent and project choice is summarized on one line, editable with Change; the worktree option is now Work in a dedicated worktree. An agent that has finished its turn shows as Idle, and the end of a session is shown in a few words (Session deleted, Worktree removed, Merged into the branch, Project removed).
Fixes
- An agent started in the background, whose terminal isn’t shown yet, no longer gets stuck at startup waiting for a terminal reply.
Changes
- The Linear board remembers the project filter chosen for each team, even after restarting Soreno.
- The icon shown when you drop a file on the terminal now takes the text color.
Fixes
- The terminal no longer slows down Soreno or the rest of the computer when an agent shows an interface full of boxes and separators (Claude Code, OMP): the screen is much cheaper to draw.
What’s new
A smooth terminal, even during large redraws
The agent terminal has been rebuilt: the screen is now computed in the background, outside the interface. When Pi or OMP redraw a whole long conversation, Soreno no longer stutters or freezes, even after hours of use. Hidden tabs stay up to date and show up instantly when you come back to them.
Linear: send a comment to the agent
Each comment of an issue offers Send to the agent. The agent receives the issue identifier, title and link, the author and the comment at the end of its current turn. The session linked to the issue comes first, then the running agents of the Soreno project linked to the issue’s Linear project; when there are several, Choose the agent opens a menu. The comment then shows Sent, Delivered or Not delivered with the reason, even after the session stops.
Changes
- When the agent uses the mouse, right-click goes to the agent; Shift + right-click opens the terminal menu.
- New Terminal log setting (Settings → General): copies the path of a performance log to attach when reporting a display problem.
- Soreno checks for updates every hour, and when you come back to the window if the last check is more than an hour old: a new version shows up without relaunching the app, and an even newer one replaces the offered version until its download starts.
Fixes
- Claude Code reads the comments Soreno sends (diff, Linear) without asking for permission on every message, including over SSH.
- The Git panel no longer shows an error when an agent deletes or replaces a file while it is being read: Soreno reads the repository again automatically.
What’s new
Comment a diff for the agent
Select lines in the Changes diff or in a project group’s diff, then click Comment: write a remark, choose the project’s agent and click Send to agent (or Ctrl+Enter). The agent receives the remark with the file, the selected lines and their excerpt at the end of its current turn, without being interrupted. The comment box follows the delivery: Sent, then Delivered, or Not delivered with the reason. If the diff changes in the meantime, Soreno asks you to select the lines again and keeps your text. In a group, the comment goes to the group’s agent.
Changes
- When Soreno can’t stop the agents of an unreachable SSH server, closing a tab or deleting a project or group offers Disconnect and delete instead of failing. Every project using that SSH connection is then disconnected; agents still running on the server may keep running.
Fixes
- While a long history is written to the terminal (resuming a Pi session, for example), your reading position is kept: you can scroll up with the wheel, Shift+Page Up or the scrollbar without being pulled back to the bottom.
- The terminal looks as it did before 0.3.6 again: correct background, and no more shadow at the top when you scroll back through the history.
What’s new
Codex and Claude usage per account
Codex and Claude usage in the status bar is no longer limited to the local account: Soreno also reads the accounts signed in on your projects’ WSL distributions and SSH servers. An account found on several machines appears once, with the list of its sources. When several accounts are found, a counter shows it: click the usage to choose which account is displayed, with its email address and plan. Your choice is kept.
Linear: issue images passed to the agent
When you start an agent on a Linear issue whose description contains images, Soreno downloads them and makes them available to the agent, locally, on WSL and over SSH. The agent can open them even though Linear only serves them with your API key. Up to 6 images per issue; the copies are deleted when the session stops.
Changes
- The assistant now runs on Codex only: Cerebras is removed, along with the Provider selector in Settings > Assistant. If Cerebras was selected, Soreno switches back to Codex automatically, keeping your other settings.
Fixes
- On macOS, Soreno no longer asks for keychain access on every launch to read Claude usage, even after Always Allow, and reads the Linear API key only once per session.
What’s new
Terminal theme
In Settings > General, Terminal theme sets the appearance of agent and service terminals independently of the interface: Match interface, Light or Dark. The light theme has its own color palette, readable on a light background.
Rename a session
Right-click a session tab, then Rename session. The name you choose replaces the one the agent sets automatically, including on Linear cards. Leave it empty to use the automatic name again.
Changes
- In Settings > Assistant, the provider is chosen only with the Provider selector: the second panel offering to enable the other provider is gone.
- The project group dialog shows each project’s icon and environment (local, WSL, SSH) next to its path.
- Moving a project to a group on another machine now explains why it can’t be done, naming the project, the group and their machines.
- Form and confirmation dialogs are slightly wider.
Fixes
- An external worktree opened from the project list appears under its repository right away, instead of standing apart until the next refresh.
- The project picker for starting an agent on a Linear issue no longer offers worktrees whose folder was deleted outside Soreno.
What’s new
Linear: images in a new issue
In New issue, add images to the description with Add images, or by pasting or dropping them into the field. They are uploaded to Linear and inserted into the description at the cursor. Only images are accepted, up to 25 MB each.
Changes
- Merge into <main branch> and delete and removing a worktree stop that worktree’s sessions before any Git change. If a session can’t be stopped (lost SSH connection, for example), nothing is changed and the message says so.
- When a merge is still in progress in the source worktree, Merge into <main branch> and delete explains it and asks you to commit it in Changes, instead of failing with a generic error.
Fixes
- A project whose folder was deleted no longer keeps the project list from grouping worktrees up to date.
- In Linear descriptions and comments and in assistant replies, an image link no longer shows a
!before its text.
Changes
- Git operations no longer ask you to stop open agent sessions: unstaging, committing, restoring, switching branches, initializing a folder, fetch, pull, push and clone run without interrupting them. An agent writing during the operation may leave files modified right after; refresh the Git panel if needed.
- You no longer need to stop the agent before Mark resolved on a conflict.
- Merge into <main branch> and delete only stops the sessions of the deleted worktree, as before. Sessions in other worktrees, projects or machines no longer block the merge.
- The “Sessions are running in this repository” and “Soreno could not reliably identify the repository used by an active session” errors are gone, including across local and WSL environments.
What’s new
Pin session tabs
Right-click a session tab, then Pin tab: the tab moves to the front, becomes more compact and loses its close button. A pinned tab cannot be closed or deleted until you unpin it. Pinned tabs are kept on the next launch.
Image previews in Git diffs
When an image in the repository changes, the diff shows the image before and after the change, instead of the “Binary content cannot be displayed.” message.
Linear: more actions from Soreno
- Edit description of an issue right from its details.
- Delete issue from its details. It goes to Linear’s trash, where you can restore it for 30 days. The linked agent session is kept in Soreno.
- Disconnect Linear now asks for confirmation.
Linear: background agents
- Starting an agent on an issue no longer takes you away from the Kanban: the agent starts in the background. Check Open its terminal once started to go straight to it.
- The issue’s card and details show its agent’s activity: working, waiting for your reply, stopped.
- Closing an agent’s session no longer unlinks it from its issue: Reopen session relaunches it from the issue.
- When the session, its worktree or its project is gone, the issue shows how it ended (session deleted, worktree merged or deleted, project removed) and you can start a new agent.
- The Soreno project picker shows each project’s icon, environment (local, WSL, SSH) and path.
Changes
- In very large repositories (more than 10,000 changes), the Git panel pauses its automatic refresh and tells you. Click Refresh to reread the repository on demand.
- SSH projects are refreshed every ten seconds instead of three in the Git panel.
- When Merge into <main branch> and delete fails, the message now gives the exact reason instead of a generic error: a Git operation already in progress, an unreachable linked project, a missing main worktree, and so on.
- The visible terminal is drawn with the graphics card, so it stays smooth during heavy output.
Fixes
- If Claude Code or Codex cannot save its conversation tracking (full disk, remote server unavailable…), the agent keeps working; only that turn’s activity tracking is lost.
Changes
- The Kanban entry now sits above the project list header, instead of being the first row of the list.
- When the Git panel cannot read a repository, the message now gives the cause and what to do: another Git operation is already running, Git did not respond in time, the repository folder cannot be reached, or Git returned an unexpected or oversized response.
Fixes
- Moving the cursor in a long note is smoother in live preview: only the affected blocks are redrawn.
- The project list stays more responsive with many projects and sessions.
What’s new
Linear Kanban in Projects
A new Kanban entry, at the top of the project list, shows your Linear team’s issues in columns, one per status.
- To connect, click Connect Linear and paste a Linear personal API key (the Create an API key link takes you to the right page). The key is stored in the system keychain. To move cards or edit issues, the key needs the Write permission.
- Drag a card to another column to change its status.
- Filter issues with the Active, Backlog and All issues tabs, by team or by Linear project.
- Disconnect Linear removes the key.
Issue details and editing
Click a card to open the issue: description, sub-issues, linked pull requests and activity.
- Edit the title, status, priority, assignee, labels and project right in Soreno.
- Add a comment with Comment.
- Open in Linear opens the issue in your browser.
- Back to issues, or your mouse’s back button, returns to the Kanban.
Create issues
A column’s + button creates an issue directly in that status; the New issue button in the Kanban toolbar creates it in the first “to do” status. Fill in the title, description and properties, then click Create issue. Check Create more to add several issues in a row without closing the dialog.
Start an agent on an issue
In an issue’s details, the Soreno section lets you hand the issue to an agent:
- Choose the Soreno project and the agent, then click Start agent. The agent receives the issue’s title, link and description.
- With Worktree checked (the default), Soreno first creates a worktree on the branch Linear suggests for this issue.
- If the issue has not started yet, it automatically moves to the “in progress” status.
- An issue has only one agent session: afterwards, Open session takes you straight back to it.
Link a Soreno project to a Linear project
In a project’s form, the Linear project field links the Soreno project to a Linear project. Kanban cards of that Linear project then show a shortcut that opens the Soreno project.
Activity on collapsed projects
A collapsed project in the list now shows the number of active agents next to its name, with an animated indicator when one of them is working.
Fixes
- A terminal opened late or lagging behind gets a complete screen back, even after hours of use, instead of a partial display.
- Switching branches is no longer wrongly blocked by a session on another SSH repository when Soreno cannot identify that session’s server.
- In a group’s Overview, the repository status is aligned with the title.
What’s new
Add several SSH projects at once
When adding an SSH project, check Select multiple projects in the server’s folder list, then check the folders you want: each one becomes a project.
- Check Create a group with the selected projects to put them in a new group right away. The group name is suggested from the parent folder, and you can change it.
- The confirm button shows how many projects are selected.
Diff minimap
Diffs in the Changes and History views now have a minimap on the side. It shows where additions and deletions are in the file, and which part is currently displayed. Click or drag in the minimap to move around.
Show only projects with agents
The new View options menu in the project list brings together:
- Only projects with agents, which hides projects without an agent session. A banner at the bottom of the list shows how many projects are hidden, with a Show all button. This choice is kept on the next launch.
- Collapse all projects / Expand all projects, which used to be a separate button.
Changes
- Browsing an SSH server’s folders is clearer: Select this folder confirms the folder shown, and Back closes the list without changing anything. The SSH form also shows less help text.
- Switching branches is no longer blocked by a running service or by an agent in another worktree. Only an agent working in the same worktree blocks the switch, and the message tells you which one to stop.
- A disconnected SSH project or a session on another server no longer blocks Git operations in other projects.
- The worktree deletion confirmation now states that unmerged local commits on its branch will be deleted.
- Git warnings now show Git’s exact message instead of generic text.
- A group’s Overview lists its projects in the same order as the project list.
- In a group form, a project that cannot join the group now says so clearly.
- The add project icon is larger.
Fixes
- If a worktree’s branch gets a new commit while the worktree is being deleted, the branch is kept instead of being deleted.
- Worktrees of a bare repository can be deleted; merging them is still refused.
- The worktree dialog locks after a Git error with an uncertain result, to avoid a second operation on an unknown state.
- The background of the selected Overview now displays correctly.
What’s new
Git changes for a whole group
Opening a group’s Overview now shows, on the right, the Git state of all its repositories: branch, how far ahead or behind the remote, number of staged, modified and untracked files, and active agents.
- Only repositories with changes are listed, along with the group total. Expand a repository to see its files and their diff.
- Stage, unstage or discard changes file by file, or stage the whole group at once with Stage all. Discarding a file or resolving a conflict asks for confirmation.
- Commit commits the staged changes of each repository with the same message.
- Fetch fetches updates for every repository in the group.
- The panel updates when an agent finishes its turn, when you come back to Soreno, or with Refresh repositories. A repository’s icon opens its usual Git panel.
Fetch always within reach
In a project’s Git panel, Fetch is now a separate button next to the sync menu, instead of an entry in that menu. You can use it right away, without waiting for the remotes to be read.
Changes
- Codex agents in a group can now modify the group’s repositories, asking for your approval as in a regular project. Before, they could only read them.
- The project list shows up as soon as it is loaded, without waiting for every worktree to be read.
- In the Git history, the current branch is shown as
✓ HEAD -> branch, tags are prefixed withtag:, and all rows have the same height. - The Merge into <main branch> and delete confirmation now talks about a source branch and a target branch. If there is a conflict, it tells you to resolve it in Changes for the source worktree.
Fixes
- Merge into <main branch> and delete is safer:
- merging a conflict resolution keeps the correct history;
- it works even when commit signature display is enabled in your Git configuration;
- if the repository changed in the meantime, Soreno asks you to refresh and confirm again;
- a worktree used by a session of the main project is no longer deleted;
- an ambiguous
mergeOptionsGit configuration is refused before anything is changed, with a message explaining what to remove.
- The Branches view updates after a change made by an agent.
- Deleting a worktree completes even if reloading the project list fails.
- Terminals stay responsive when an SSH session is slow to start or stop.
- Pasting very long text into a terminal is more reliable: it is sent in chunks, without breaking accented or special characters.
- In the status bar of an SSH project, the Disconnect/Connect and Ports buttons are better aligned.
What’s new
Group agents
Each project group now has an Overview row. Its + button launches an agent that works across all the projects in the group, instead of a single repository.
- The overview’s working folder is created on first click, in
~/.soreno/groupson the projects’ machine. For an SSH group, reconnect the server first. - Claude Code and OMP receive the list of repositories and access to their folders. Pi receives only the list, and Codex only folder access.
- On Windows, a group that is too large (about 12 to 18 repositories, depending on path length) cannot launch a group agent: Soreno tells you.
- Deleting a group deletes its overview sessions and their conversations. The group’s projects are kept.
Image previews
The Files tab now displays project images (PNG, JPEG, GIF, WebP, AVIF, BMP) up to 1 MB, instead of opening them as text.
Changes
- Projects in a group must now be on the same machine: local, the same WSL distribution, or the same SSH server. In the group form, projects on another machine cannot be selected. To change the machine of a grouped project, remove it from its group first.
- Your existing groups are carried over automatically. If a group mixed several machines, projects that are not on the same machine as most of the group leave it, and a notification lists them.
- The Git identity dialog is now titled Set commit author identity. It explains that this name and email are written to commits and are separate from your GitHub account, and how to keep your email private with GitHub’s noreply address.
- The project list shows up faster at launch, with a more visible loading indicator.
Fixes
- The project list no longer stays stuck on the loading indicator when a project’s worktrees cannot be read: it shows up and retries right away.
- A terminal receiving a lot of continuous output is no longer redrawn over and over.
What’s new
Pull with rebase
The sync menu in the Git panel now offers Pull with rebase, next to Fetch, Pull and Push. Your local commits are replayed on top of the remote branch, without a merge commit.
- Commit or stash your changes before running it: Soreno refuses to rebase a repository with uncommitted changes.
- If an untracked file would be overwritten, Soreno stops before touching the repository.
- If there is a conflict, the rebase is cancelled automatically: your branch goes back to where it was.
Changes
- When a Push is rejected because the remote branch has moved on, Soreno explains why and suggests fetching and integrating those changes before pushing again.
- At launch, the project list shows a single loading indicator until projects and their worktrees are ready, instead of rearranging itself while loading.
- Each project’s branch shows up right at launch, taken from your previous session, then updates.
- Projects in different environments (local, WSL, SSH) now load in parallel: a slow SSH server no longer delays your other projects.
Fixes
- A terminal opened late or lagging behind now displays completely: Soreno asks the agent to redraw its screen instead of leaving a partial display.
- Long terminal output is displayed faster.
- A slightly shaky click on a session tab no longer moves or splits the tab.
- In the project list, the lines linking a project to its worktrees are better aligned and no longer appear when there is nothing to link.
What’s new
One place for errors
Errors, validation messages and warnings now all appear in the same place: a notification in the bottom-right corner of the window, instead of messages scattered across each panel.
- Errors are red and warnings amber; a repeated problem is shown only once, with a counter.
- Notifications close on their own after a few seconds; hovering over a notification pauses it. Notifications offering an action, such as Retry, stay visible until you close them.
- Messages are always written in the interface language: raw technical output (Git, SSH, Codex…) is no longer displayed. This also applies to file explorer errors.
Guided SSH connection
Adding an SSH project is easier:
- Enter the server and the account, then click Choose a folder…. For a server you already trust, its folders show up directly.
- For a new server, Soreno shows its fingerprint. Compare it with the one given by the administrator or the server console, then confirm: the folders open right away. If you cancel, nothing is remembered.
- If the server key has changed, Soreno blocks the connection and does not offer to replace it automatically.
- If you pick the
.pubfile instead of the private key by mistake, Soreno explains why. - When the connection fails, the message tells you what to check: account, private key, network or firewall. If your key is protected by a passphrase and not loaded in the SSH agent, Soreno asks you to load it with
ssh-add. - The same steps apply when you open or clone a repository on an SSH server.
SSH session history is kept
Reattaching an SSH session, after closing Soreno or losing the connection, now restores the whole terminal history, including what the agent printed in the meantime: you can scroll back through a Claude Code, OMP, Pi, Codex or shell session again. Multi-line pastes and the mouse keep working after reattaching. Sessions started with an earlier version get this behaviour after their next restart.
Faster commit messages
Commit message generation now uses Codex fast mode and answers sooner.
Other changes
- The Explorer tab in the side panel is now called Files. The current branch and how far ahead or behind the remote it is stay visible while this tab is open.
- During a Git operation (staging, restoring…), the list of changed files and the diff stay on screen instead of disappearing.
- Adding a project that is already in the list no longer creates a duplicate: Soreno selects the existing project.
Fixes
- The agent activity indicator now stops when the CLI stops working, even if the CLI did not report it: a Claude Code turn interrupted with Esc or a pending permission request no longer leaves it spinning forever.
- The status bar only shows the vault and the note save status in the Notes workspace. The local vault name is also translated when the interface is in English.
- Reading Git changes in WSL projects is more reliable, including for large files.
What’s new
Drag and drop files into a terminal
Drop files onto the terminal of a running session to hand them to the agent: their paths are inserted into the input, ready to send.
- Up to 16 files at a time, 32 MiB maximum per file.
- The files are not added to your project: Soreno copies them to a private temporary folder, deleted when the session stops.
- It also works for WSL and SSH projects: on an SSH server, the files are uploaded automatically.
Changes
- The Agents workspace is now called Projects.
- In the Git panel, the Open repository button is now Add project.
- On SSH servers, Soreno now keeps its files in
~/.cache/sorenoinstead of~/.cache/telaoi. SSH sessions still open from a previous version are not picked up after the update: stop them before updating. You can then delete the old~/.cache/telaoifolder on the server.
What’s new
SSH port forwarding
The new Ports button in the status bar of an SSH project lets you open a service running on the remote server (development server, web app…) in your browser.
- Enter one or more ports, or a range such as
8088:8095. - If a port is already in use on your computer, Soreno picks another one and tells you which.
- Open launches the service in your browser; Stop all stops every forwarded port.
- Forwarded ports stop when you disconnect the project or quit Soreno.
SSH sessions survive closing Soreno
Quitting Soreno no longer stops your sessions on an SSH server: reopen them and you are back in the terminal where you left off, agent included. To really end a session, use Stop.
To make this possible, Soreno automatically installs a small utility (dtach) in ~/.cache/telaoi on the server. It does not need administrator rights and works on Linux and macOS, on both Intel/AMD and ARM processors.
Quick file open
Ctrl+P (or Cmd+P on macOS) opens a file search for the project. Type a few letters of the name to find a file. Files ignored by Git are left out. It also works for WSL and SSH projects.
Merge a worktree and delete it
A new action, Merge into <main branch> and delete, wraps up the work done in a worktree in one step. It is available in the Branches view, or by right-clicking the worktree in the project list.
- The worktree’s changes are brought into the main branch, then the worktree and its branch are deleted.
- If there is a conflict, the main branch is left untouched: resolve the conflict in the worktree, commit, then run the action again.
- If the worktree or the main repository has uncommitted changes, Soreno tells you which one to fix.
- If sessions are running in the worktree, the confirmation lists them and Soreno stops them before merging.
Quick worktree creation
The + button on a project in the sidebar creates a worktree from the current branch. The new worktree shows up in the list right away.
Edit more files
The project explorer now lets you edit any text file, whatever its extension.
Fixes
- After switching branches, the branch shown in the project list updates right away.
- A session open in another environment (for example on an SSH server) no longer prevents switching branches in a local project.
- If deleting a branch fails, you can now try again.
- The SSH terminal displays correctly when you reopen a session.
- Worktrees no longer appear briefly and then vanish from the project list.
Interface
- The project list shows more clearly which branches and worktrees belong to which project.
- The selected session stands out more in the sidebar.
- Confirmation dialogs have the same style everywhere.
- Changed-file markers and error messages in the Git panel are easier to read.
- The add project button is always visible.
Translations
- Error messages are now shown in your chosen language (French or English) throughout the app: assistant, vaults, note types, agents, Git panel, services and SSH projects.
Open your first project in Soreno
Soreno runs the CLIs already installed on your machine, in WSL or on your servers. Your notes, settings and local issues stay in your profile.
The macOS app is signed and notarized by Apple. The Windows installer isn’t signed yet: Windows may report an unknown publisher.