Release notes and version history for the Solo desktop app.
v0.10.1
Released on September 3, 2026
Fixed
UI & Platform
- Closing Solo's last workspace window on macOS no longer leaves the app running without a way to reopen it. Activating Solo again from the Dock, Spotlight, Command-Tab, or another launcher restores the most recently active workspace window.
v0.10.0
Released on August 27, 2026
TL;DR
- Workspaces are the headline: organize projects into named spaces, open them in separate windows, move projects between them, restore each window’s layout, and manage them through Solo or integrations.
- The command palette is now the fastest way around Solo, with scoped search for destinations, actions, agents, terminals, and prompt templates.
- Agents got first-class Antigravity support, safer Antigravity and OpenCode setup, context pins, timer actions, and much more reliable resume and session handling.
- Scratchpads and Todos now support images, better links and headings, faster search, safer Markdown round-tripping, and autosave that will not drop checkbox changes.
- Terminals feel faster and hold up better under real work: lower input latency, more efficient rendering, reliable selection inside mouse-aware TUIs, automatic reconnects, better scrollback, and clickable file paths.
- Solo starts faster, uses much less CPU while idle or hidden, and is far harder to wedge during process cleanup, shutdown, multi-window routing, or resource exhaustion.
Added
Agents
- Antigravity is now a first-party agent provider, with installation and MCP health checks, activity detection, saved-session capture, and exact conversation resume support.
- Antigravity and OpenCode can now be connected to Solo directly from Settings. Solo safely updates their JSON or JSONC configuration while preserving comments and formatting, and refuses ambiguous, malformed, or concurrently changed files instead of risking data loss.
- Agent terminals now show configurable context pins for Todo locks, saved-session details and resume actions, and Solo MCP setup health. Each pin opens its relevant details or action, and individual pin families can be hidden from Settings → Terminal.
- A selected running agent can now be given a delayed prompt with the command palette's "Set timer" action. The nearest active timer can also be fired immediately or paused from the same process actions.
Workspaces
- Projects can now be organized into named workspaces, each with a color and an icon (initials or a custom image). Existing projects move into a Default Workspace automatically on upgrade. A vertical workspace rail next to the sidebar switches between them, and the sidebar, command palette results, and project-add actions scope to the current workspace. In the command palette, a scope pill next to the search input shows whether results cover the current workspace or all workspaces — Tab or clicking the pill toggles it. Quick jump matches project paths and routes project selections to the window that owns their workspace.
- Workspace rail icons show unread process-notification badges (capped at 99+), including for workspaces open in other windows.
- Workspaces can be opened in separate windows: drag a workspace off the rail or use "Move to new window". Each workspace view is owned by exactly one window, and a window that loses its last workspace closes itself.
- Workspace windows remember their position, size, maximized state, and display. Reopening a workspace restores that layout when the display is still available and safely falls back to visible OS placement when it is not.
- Settings → Workspaces manages creating, renaming, reordering, and deleting workspaces plus their icons and colors; deleting a workspace asks where to move its projects.
- Projects move between workspaces from the sidebar context menu's native "Move to workspace" submenu. "New workspace…" asks only for a name before completing the move, and unusually large destination lists fall back to a searchable picker. Copy-on-write linked checkouts always move together as a group and are never split across workspaces.
- "Switch to workspace 1–9" hotkey commands are available to bind (no default bindings).
- A new "Hide inactive workspaces" option in Settings → Workspaces collapses every workspace except the current one, including notification badges, into a +N stack that can be revealed temporarily.
- Ctrl+Tab and Ctrl+Shift+Tab now cycle forward and backward through workspaces open in the current window, following workspace order and wrapping at the ends; both shortcuts are customizable in Settings → Hotkeys.
- Each workspace remembers its last selected project or process and restores it when you return without overwriting a newer selection made while data is loading.
- Workspace management is available to integrations through Solo MCP and the local HTTP API: list, create, update, delete, and reorder workspaces; filter or import projects by workspace; and move projects, including linked checkout groups, between workspaces.
Processes
- "Rename process" is now a customizable command in Settings → Hotkeys. It opens the rename dialog for the selected process and has no default binding.
Command Palette
- The command palette now brings destinations, global and contextual actions, unread or favorite process focus, new agent and terminal creation, and prompt templates into one searchable interface. Its toolbar exposes All, Go to, Focus, Actions, Context, New, and Templates scopes; each scope can be opened directly with a customizable shortcut, and Actions defaults to Cmd/Ctrl+Shift+K.
- In the Templates scope, Cmd/Ctrl+N now opens the prompt template management page for the active project, or the global template page when no project is active.
- A new "Refresh frontend" command reloads Solo's interface without stopping running processes, providing a quick recovery path for a stale or broken webview.
Scratchpads & Todos
- Markdown images now render in scratchpads, todo notes, and todo comments. Remote images are fetched by the app itself rather than the webview, must actually be image content, are capped at 10 MB, and fall back to an alt-text chip while loading or when they cannot be fetched;
data: URIs render directly. Local image files can also be inserted from the editor toolbar or dropped into scratchpads and todo notes, with each image placed at the chosen position.
- Links in documents now work end to end: clicking a link in a todo comment or other read-only view opens it in the configured default browser instead of navigating the app window,
mailto: and tel: links open the system handler, and inside the editor Cmd/Ctrl+click follows a link while a plain click keeps positioning the cursor.
- The Link toolbar button now opens an in-app dialog with URL validation instead of relying on the browser prompt, which could silently do nothing. Selecting text that already looks like a URL still links it immediately without a prompt.
- H4–H6 markdown headings now render as headings in both the editor and read-only views instead of as plain paragraphs.
- Todo actions now include "Copy as Markdown", exporting the current title and note as a complete Markdown document.
- Scratchpads now remember each document's scroll position while switching between scratchpads.
UI & Platform
- The Help menu now links directly to Solo's documentation.
Changed
Project Detection
- Laravel project onboarding now suggests
php artisan queue:listen instead of php artisan queue:work for queue workers so local code changes are picked up without manually restarting the queue.
Scratchpads & Todos
- Scratchpad search in the command palette now queries a bounded, ranked result set from the backend instead of loading every scratchpad, keeping the palette responsive for large libraries while preserving exact ID lookup and recent-first empty searches.
Command Palette
- Agent-tool searches now prefer exact words and the order of typed terms, producing more relevant results for short queries.
- Rename now appears ahead of process lifecycle and timer actions for running processes.
Terminal
- Interactive terminal output — keystroke echo, prompts, spinners, agent status lines — now renders as soon as it arrives instead of waiting out the output batching window, removing up to ~20ms of latency per update. Heavy output floods batch exactly as before.
- Typing and high-volume output now do less renderer work: cursor-blink resets coalesce to one render per frame, erase-line-heavy repaints avoid duplicate metadata work, and contiguous patch bursts plus verified scroll-window shifts use direct render paths.
- Terminal find now keeps a bounded set of the 100 most recent matches, marks capped totals with a
+, and shows an indexing state instead of allowing navigation through stale results while the query or terminal history changes.
- Stopped command and agent panes now use clearer names, actions, and keyboard hints. Commands show their exact configured command, including long and multiline commands, while resumable agents make Resume the primary action and keep starting fresh explicit.
UI & Platform
- Solo starts faster and switches into Scratchpads, Todos, and chats more smoothly by preloading the main app while the backend initializes and warming heavier pane modules before the window appears.
- Sidebar port detection now pauses for collapsed or hidden rows, batches visible processes into one bounded OS scan, and refreshes correctly when visible scope changes, reducing background work without stale or misassigned ports.
- Native and project context-menu labels now consistently use sentence case.
Fixed
Agents
- Claude recap summaries in notifications are emitted again. They had been silently broken since 0.6.5, when the visible-text tracking they read from stopped being populated in production; tracking now enables itself for Claude agents without reintroducing the terminal overhead that the original change removed.
- Amp agents no longer stay marked as working from terminal repaint noise before their first title heartbeat, and prompt submission is fenced against that heartbeat so it marks them working immediately and later settles back to idle reliably.
- Working-agent spinners now share a common animation phase, so multiple active agents stay visually synchronized.
- Agent closes are now all-or-nothing when a descendant fails to stop, keeping the complete tree visible for a safe retry.
- The Resume action now appears as soon as an agent exits and also captures session IDs printed during Solo-initiated stops or shutdown, instead of arriving seconds later or being missed.
- Agent session identity updates are now serialized across launch, discovery, stop, and shutdown, so a late update from an older run cannot replace the newer conversation that Resume should open.
- Starting a stopped agent that has a resumable session now asks whether to resume it, start a fresh session, or cancel.
Scratchpads & Todos
- Editing a document no longer silently deletes reference-style links (
[text][ref] and their [ref]: url definitions) and no longer rewrites raw HTML blocks into backslash-escaped text; both round-trip verbatim now. Images also no longer gain a spurious title copied from their alt text on save.
- Todo notes now autosave shortly after any change and flush when navigating away. Previously they only saved when the editor lost focus, so ticking a task-list checkbox — which never focuses the editor — could be silently lost.
- The in-document find bar stays pinned while jumping to matches deep in a long scratchpad, and the selected match remains visible after editor layout settles.
- Scratchpad changes received during an in-progress save are replayed after the write settles, keeping document, list, tag, and linked-checkout views in sync.
- Todo updates now refresh every affected dependent Todo consistently across UI, CLI/HTTP API, and MCP, preventing stale blocker/completion state.
- Read-only Markdown views no longer expose private-use fidelity markers around raw HTML, including raw HTML inside GFM tables; the editor still preserves those constructs verbatim when saving.
Prompt Templates
- Prompt template lists now refresh after changes from other Solo windows or integrations.
- Command-palette search now ranks exact, prefix, and substring title matches ahead of templates that match only in their description, body, or scope.
- Prompt-template placeholder filling now uses one scrolling preview instead of competing nested scroll containers.
Process Lifecycle
- Closing terminals, deleting commands, and removing projects now use restart-safe cleanup, preventing interrupted deletions from relaunching removed processes or leaving child processes, timers, Todo locks, and MCP session state behind.
- Multiple Solo instances can no longer adopt the same surviving process during startup reconciliation.
- Process deletions from another window or an integration now remove every affected pane immediately and move selection to a valid neighbor without overwriting a newer choice made while the deletion was settling.
- Stop, restart, kill, delete, project close, and app quit now use bounded cleanup tied to the exact process run. A stalled PTY, slow subscriber, reused PID, or unowned adopted process can no longer freeze unrelated processes, hang shutdown, or be targeted as though it were the original run.
- If the operating system cannot start a terminal output worker during resource exhaustion, the launch now fails cleanly and remains retryable instead of poisoning the shared process lock and preventing other sessions from starting or resuming.
Workspaces
- Workspace project counts now refresh immediately after projects are added, moved, or deleted.
- Project-list failures now show a readable fallback message instead of rendering raw error-object text.
- The workspace rail now groups workspaces by live app-wide ownership — open in this window, open in another window, then inactive — while preserving configured order within each group.
- Unread notification attention now stays synchronized across windows, including windows opened after a notification arrives; acknowledging it from any clear path updates workspace badges, menus, dock attention, and other windows consistently. Late cleanup from an older notification can no longer dismiss its replacement or rewind the current workspace state.
- Clicking a notification for a project or process now activates the window that owns its workspace and selects the target, rather than changing another Solo window.
- Project and process opens, deep links, routine output, Activity Monitor actions, and cross-project moves now route through the window that owns the destination workspace. The source overlay closes after a successful handoff, and starting a background process no longer steals the current selection.
- Switching to a workspace in another window now preserves the destination process's terminal, agent, or command auto-focus behavior. Native sidebar context menus also restore real terminal keyboard focus after closing, rather than leaving only the focus styling and blinking cursor visible.
Terminal
- Terminal selection and copy now remain available in mouse-aware TUIs such as Claude Code: holding Shift keeps pointer gestures and right-click menus local, Cmd+A remains a local Select all shortcut under Kitty keyboard reporting, and exited processes clear stale mouse and keyboard modes so stopped panes remain selectable.
- A terminal already at the bottom no longer stays spuriously paused after an upward trackpad gesture is clamped there; follow-output resumes once the gesture settles, so "Jump to bottom" does not remain visible at the bottom.
- On macOS, Cmd+backtick and Cmd+Shift+backtick now cycle Solo windows while a terminal is focused instead of being sent to the terminal.
- The cursor is now drawn from the latest rendered frame; a stabilization heuristic could previously hold it at a stale position briefly after large jumps.
- Terminal output processing while the window is hidden now coalesces to about once per second instead of ticking ~60 times per second per streaming terminal, and catches up instantly when the window becomes visible again. Hidden-window renderer CPU under heavy output drops roughly 4x.
- Running terminals now recover automatically from stale attach or scrollback generations after switching away, resizing, or detached synchronized output. Solo shows a reconnecting state and offers Retry if recovery cannot complete instead of leaving a blank or frozen pane.
- Terminals now keep their latest size while reconnecting or moving between views, preventing timing issues that could leave a newly displayed pane stale or mis-sized.
- Terminal input failures now identify when part of an operation was already delivered and retrying is unsafe, so integrations do not duplicate text or Enter presses that already reached the process.
- Terminal input and protocol replies are now fenced to the exact process run and use bounded delivery on macOS, Linux, and Windows. A stalled or exiting PTY can no longer freeze input, leak queued keystrokes into a restarted process, block terminal query replies, or hang process cleanup.
- Terminal autowrap remains correct when OSC title sequences and multibyte UTF-8 text arrive across output-chunk boundaries.
- File and directory paths printed in terminal output now underline reliably when modifier-hovered, including bare names and
path:line:column references. Files open in the configured editor, directories open in the system file browser, and Cmd+Shift-click reveals either in Finder; when no editor is configured, the toast points to both Settings and the Finder shortcut.
- Text under a block cursor now stays aligned with neighboring terminal text instead of shifting out of place.
- Scrolling up during repaint-heavy TUI output now keeps the entire visible viewport stable until a deliberate return to the bottom; repaint-only updates no longer tear the lower half of the screen, and trackpad rebound no longer resumes follow-output accidentally.
- Loading older scrollback across a history gap now preserves the history that is already present and keeps a paused viewport anchored instead of discarding rows or jumping while the gap is hydrated.
- Clearing scrollback after wrapped output now preserves the live cursor-row metadata correctly, preventing stale hidden cells from making the remaining blank or prompt row render incorrectly.
MCP
- The "Solo MCP is disabled" error returned to agents now points at the correct place to re-enable it (Settings → MCP).
- MCP now restarts cleanly during rapid stop/start or app shutdown: Solo waits for the old listener or socket generation to retire before starting its replacement, so stale cleanup cannot remove the new connection.
- MCP clients that require the legacy capability handshake no longer hang while connecting to Solo.
- Idle-any timers now return
already_satisfied without creating a pending timer when any watched process is already idle. Idle-any and idle-all responses both tell agents to inspect current state and output, then reschedule if more waiting is needed.
UI & Platform
- Clicking a mouse side button (back/forward) no longer raises an internal error when no element is under the pointer.
- Feedback can now be submitted with Ctrl+Enter on Windows and Linux, and the dialog shows the correct platform-specific shortcut.
- Keyboard navigation into a project's command-palette actions now drills in synchronously, and routed palette or agent-launch actions close their source overlays once the destination window accepts them.
- A malformed Sentry DSN no longer crashes Solo during startup; monitoring is disabled for the invalid configuration and startup continues.
- Terminal-pane focus bars now remeasure after the sidebar is resized, keeping them aligned in workspace windows that have been moved or resized.
- Copying a project path, revealing a project icon, opening notification settings, and previewing the bell sound now report OS or clipboard failures instead of claiming success or failing silently.
- Working-agent spinners no longer animate on WebKit's main thread; sustained renderer CPU with five working agents drops from ~12–16% to under 1%, which noticeably helps energy use. The spinner now uses a geometry-stable opacity chase, fixing a subtle wobble where the arc appeared to orbit the ring at certain sidebar positions and font scales. With reduced motion enabled, it stays static while retaining a visible gap so working and idle remain distinguishable.
- The sidebar no longer re-renders every second while idle agents are connected over MCP: process stats now propagate only when CPU or memory moves meaningfully (≥0.5% / ≥2MB), cutting quiet renderer CPU with several idle agents attached from ~7% to ~2%.
- Live CPU and memory updates are isolated to fixed-width stat slots instead of re-rendering the project tree, and MCP/Raycast status polling slows to five seconds and pauses while the window is hidden.
- Hovering a sidebar row no longer shifts its contents: the quick actions (start/stop/restart, open port) now overlay the port/CPU/memory text instead of reflowing the row, and the favorite star joins the hover action group instead of sitting where the overlay could cover it.
- Sidebar status dots and agent indicators are sized to whole device pixels and scale with the interface font size, fixing soft, blurry, or slightly misaligned rendering at common sizes.
- Cmd/Ctrl+W now closes Settings from any section, and reopening Settings preserves the section you last used instead of resetting to Appearance.
v0.9.3
Released on June 21, 2026
Added
Agents
- Agent rows now offer one-click Connect Solo for supported agent CLIs, including Claude Code, Codex, Gemini, Amp, Copilot, and Kimi.
- Connect Solo now works per runtime environment, including Windows hosts and WSL distros, and automatically repairs stale
solo MCP server entries by removing and re-adding them.
- Agent tools settings now show a Runtime Doctor summary for launchable agent runtime targets, plus a prompt to connect Solo for launchable agents that are not connected yet.
- The MCP server setup row now shows how many installed agent CLIs are actually connected to Solo, making it clearer that enabling the server alone does not connect agents.
- Agent rows now show "Checking Solo connection..." while the first connection check is running, so an empty Solo column is not mistaken for an unsupported agent.
Windows and WSL
- Projects can now store per-environment root mappings for WSL execution profiles. When a Windows project path cannot be used directly inside WSL, Solo prompts for the matching WSL path, saves it per project and distro, and uses it for agent and process launches.
- MCP setup snippets are generated per environment, including the Windows host and each WSL distro, with quoting that pastes correctly into PowerShell and cmd.exe.
- Full-path MCP setup commands on Windows now use PowerShell's
& call operator so paths with spaces launch correctly.
- Bundled terminal compatibility profiles now resolve correctly from WSL ncurses terminfo lookups and explicitly advertise OSC 52 clipboard support.
Processes
Changed
Agents
- Solo connection badges now report uncertainty more accurately. If a check fails, the row shows "Solo check failed" with the reason in a tooltip instead of claiming the agent is disconnected.
- Connect Solo buttons now wait for connection health to load before appearing.
- Agent installation probes and MCP connection checks now run in parallel with bounded timeouts, so one slow shell, CLI, or WSL distro no longer stalls the whole health refresh.
- MCP status polling is passive: connection checks no longer boot stopped WSL distros, and Docker Desktop, Rancher, and Podman service distros are excluded from agent detection.
- The Add/Edit agent tool dialog is wider, giving command and argument fields more room.
- Unchecked agents now remain visible in launch palettes and the Runtime Doctor until a probe has actually found their CLI missing or broken. Newly added tools and WSL environments no longer look empty before the first health refresh.
Terminal
- Terminal frame reuse across resizes is more conservative, with stale dirty-row patches validated before backend fast paths are used.
- Hidden Solo windows no longer repaint unchanged zero-op terminal frame updates after stale patch misses, reducing WebKit CPU use while preserving the latest frame for presentation when the window becomes visible again.
Fixed
Agents and MCP
- Agent commands with arguments, such as
npx codex, now work consistently across health checks, Connect Solo, and setup snippets.
- Missing agent CLIs are detected more reliably on non-English Windows systems by using PowerShell marker scripts and cmd.exe exit codes instead of localized error text.
- Transient probe timeouts no longer mark an agent installation as Broken or hide it from launch menus. Health is left unverified until the next refresh.
- Refresh Health now also updates the Runtime Doctor summary.
- Adding, editing, or removing agent tools now refreshes Solo connection status instead of leaving it stale.
- Connecting Solo to one agent no longer clears the in-progress state of another agent's connection.
- A just-connected agent row keeps its "Solo connected" badge if the confirming health check transiently fails.
- Headless agent summary generation no longer adds empty Claude Code sessions to history on each summary refresh.
- Agents connected to Solo's MCP server no longer permanently lose their connection when Solo restarts, updates, crashes, or the local connection drops. The MCP helper now reconnects automatically and resumes its session.
- Requests sent while Solo is unreachable are queued and delivered after reconnect. Only a call in flight at the exact moment of the drop may still time out and need a retry.
- A malformed or unparseable MCP message no longer tears down an agent's entire connection; the server now returns a parse error and keeps the session alive.
- Expired MCP identity aliases are cleaned up so old aliases do not linger.
Windows and WSL
- Execution profiles using cmd.exe no longer corrupt arguments containing spaces or quotes when running agent probes, summarizer commands, or MCP setup.
- Agent and MCP commands in WSL now execute through
wsl.exe --exec sh -lc, so the distro's default shell cannot expand or mangle arguments, and bash-less distros like Alpine work.
- PowerShell profile detection now checks OneDrive-redirected Documents folders, including OneDrive for Business, so profile
PATH edits are honored when probing agent CLIs. See shell environment loading for more on how Solo finds tools.
- Setup and health-check commands that produce a lot of output no longer hang and get misreported as timeouts.
- Commands and agents launch in their configured
working_dir again instead of the project root, fixing the execution-profile launch regression introduced in 0.8.2.
- WSL project working directories now resolve inside the distro without host-side canonicalization, so
working_dir works for projects on WSL paths.
- WSL project roots are no longer canonicalized on the host before launch.
Terminal
- Terminal history no longer drops output committed during synchronized-output bursts.
- Refetchable omitted scrollback ranges are preserved, and attach replay no longer renders overlapping scrollback rows twice.
- Clearing the terminal after scrollback has already been trimmed now preserves the visible viewport correctly.
- Returning from a full-screen TUI view, such as Claude Code's subagent picker, no longer leaves the pane mostly blank with the prompt stuck at the top.
- Terminal viewport recovery now releases once the screen stabilizes or goes quiet, instead of latching until you switch processes.
- The terminal pane can no longer be displaced or blanked by macOS IME caret-reveal scrolling an outer layout wrapper.
- Terminal layout wrappers can no longer become scroll containers, and a guard resets and reports ancestor scroll if one slips through.
- The hidden IME input is clamped inside the terminal surface.
- Terminal sizes no longer get stuck after a failed or skipped resize, which could leave TUIs laying out for a taller screen than the visible pane.
- Same-size terminal re-measurements now retry until the size is confirmed applied.
- Terminal cursor presentation is more stable.
- Prompt template insertion now handles multiline paste correctly.
- Terminal scrollback parity regressions were fixed.
- Terminal review regressions from the rendering fixes were corrected.
Process Lifecycle
- Stopping or killing a process can no longer signal an unrelated process that recycled a PID or process group from the stopped process's tree.
- Tree kills now verify every target's identity against fresh process-table snapshots before sending any signal.
Processes and Sidebar
- Favorite toggles now stay in sync for running processes during live status refreshes.
- Favorite navigation shortcuts no longer fall through to the active terminal when there is no favorite process to jump to.
- Ctrl-clicking a sidebar command on macOS now opens the context menu without also starting a drag reorder.
- Sidebar execution profile badges show friendly profile names and an Unavailable warning again instead of raw profile IDs.
- Inherited default profiles no longer add badge noise to every project.
- The noisy project header shell badge has been removed.
v0.8.2
Released on June 5, 2026
Solo v0.8.2 User Changelog
Released on June 5, 2026
TL;DR
- Agent workflows are more capable and more predictable: stopped agents are easier to resume, and agent selection now follows each project's execution environment.
- Prompt templates are now a full feature, with creation, editing, search, duplication, project/global organization, command palette reuse, placeholder fill-in, and optional MCP access.
- Windows and WSL support took a major step forward with project-level execution profiles, environment-specific agent installs, better shortcuts, cleaner paths, and fewer helper-window interruptions.
- Scratchpads and Todos are easier to search, edit, copy, widen, complete, archive, and manage through the UI, command palette, CLI, HTTP API, and MCP.
- Terminal sessions are more reliable across shell profiles, keyboard input, paste and clipboard behavior, link handling, live following, renames, process switches, scrollback, hidden-window updates, and Windows cursor rendering.
- Solo's local automation surfaces are broader and more consistent: the HTTP API,
solo CLI, and MCP tools now cover more process, project, Todo, Scratchpad, agent, and prompt-template workflows.
Agents
- Agent settings now include an execution shell picker so agents can use a different shell profile than terminals.
- Projects can now use project-level execution profiles, including Windows and WSL environments, so agents launch in the right environment for the project.
- Agent tools now track separate installations per environment, so Windows and WSL installs of the same agent appear as distinct runnable options.
- Agent launches now use the current project's agent installation instead of a single global agent shell setting.
- Agent Tools settings now use a more compact list with clearer agent type labels, installation status, and an inline Add agent row.
- Supported agent tools now show whether Solo's MCP setup is installed, and Refresh health checks both CLI and MCP setup on demand.
- Agent settings now show clearer health and repair guidance when an agent is missing, disabled, broken, or only installed in another environment.
- Local agent health checks now honor the user's login shell, so aliases and functions, including fish aliases, are detected correctly.
- Stopped agents with a saved session now show Resume last session directly under Start in the empty terminal view.
- Agent creation and sidebar refreshes now keep working while the machine is offline, so local Solo actions no longer wait for Wi-Fi to reconnect.
- Agent status indicators now update more smoothly when an agent sends several state changes at once.
Prompt Templates
- Prompt templates can now be created, edited, searched, filtered, sorted, duplicated, moved between global and project scopes, deleted, and reused from a dedicated prompt template view.
- Prompt templates can now be inserted, sent, or copied from the command palette.
- Prompt templates with placeholders now let you fill values before the final prompt is applied.
- Prompt templates now appear as jump destinations for global and project scopes.
- Copying prompt templates from the command palette now uses Solo's native clipboard path, fixing macOS cases where
Cmd+C showed "Failed to copy prompt."
- Optional prompt template MCP tools can now be enabled from Settings to list, read, create, update, delete, and export saved prompt templates.
Windows, WSL, And Linked Checkouts
- Projects can now use execution profiles for Windows shell and WSL environments, so terminals, commands, and agents start in the environment selected for that project.
- Windows and WSL agent installs are now tracked separately, making it clearer which agents are runnable in each environment.
- Windows project paths are now stored and launched in a cleaner form, preventing
cmd.exe and WSL-backed agents from starting in the wrong folder.
- Windows global shortcuts for Add project and Check for updates now work when the sidebar is focused.
- Windows no longer flashes helper console windows when Solo checks for tools, starts background commands, runs summarizers, or cleans up processes.
- Windows update checks can now validate Windows builds correctly.
- Terminal cursor rendering on Windows now stays in the correct row during rapid output.
- Linked checkouts now share project-scoped Todos, Scratchpads, and prompt templates with their primary checkout while keeping navigation anchored to the checkout you selected.
- MCP, CLI, local HTTP API, and routine integrations now see one consistent project data set when working with linked checkouts.
Scratchpads And Todos
- Scratchpad and Todo markdown editors now include a toolbar control for expanding the document area to the full detail width.
Cmd+Shift+W now completes the selected Todo or archives the selected Scratchpad, then navigates back.
- Scratchpad and Todo index pages now use
Cmd+F or Ctrl+F to focus the filter for the page you are viewing.
- Scratchpad and Todo index filters now split whitespace-separated search terms and require every term to match, so searches like
turn agent find entries such as Turn long agent plans into todos.
- Todo search in the command palette is faster on large Todo lists.
- Todo and Scratchpad search in the command palette now treats numeric-only searches as exact ID lookups.
- Scratchpad destinations in jump search now sort by most recently updated instead of alphabetically.
- Markdown ordered-list markers now reserve enough space for wider numbers, preventing list numbers from being clipped in Scratchpads, Todos, and markdown previews.
- Scratchpad markdown tables now keep their natural width and scroll horizontally instead of being squeezed or clipped.
- Scratchpad progressive rendering now cancels stale append work when an agent-updated scratchpad changes underneath the reader, preventing older chunks from being appended into the newer document.
- Saving an unchanged Scratchpad no longer changes its updated time.
- Todo titles created or updated through MCP, CLI, HTTP API, or the UI now store common HTML entities such as
<select> as readable text.
- Todo filter controls now remain clickable after opening the filter row.
Terminal
- Commands now inherit Solo's configured default terminal shell, giving command processes the same shell startup behavior as terminal sessions.
- Terminal settings now use a default execution profile control instead of a plain default shell control.
- Explicit shell launch actions remain available for one-off launches.
- Execution profile settings now explain how the selected shell and environment apply to new projects and projects that inherit the default.
- Local terminals launched through execution profiles now start zsh, bash, and fish as interactive login shells, preserving expected shell startup behavior.
- Shell profile launches now preserve the selected profile command instead of being replaced by the default terminal shell.
- The default shell picker now shows the resolved system shell.
- Auto-summarization and Test summarizer now launch through the configured default terminal shell, so shell aliases and functions can resolve the selected summarizer command.
- Solo-launched child processes now receive a session-type environment value so shell startup files can distinguish command, terminal, and agent sessions.
- Pressing Enter on a stopped process in the sidebar now starts it for commands, terminals, agents, and universal agents.
- Terminal link context menus now include Copy link alongside Open link.
- Terminal links can now be opened with Cmd-click or Option-click even when TUI apps have terminal mouse reporting enabled.
- Terminal font size can now be reset through the customizable
terminal.resetFontSize hotkey command, which is unbound by default.
- macOS Option-as-Meta shortcuts now send the intended physical key across both modern and legacy terminal input paths, including dead keys and Ctrl+Option combinations.
- macOS dead-key accent input now commits composed characters once, preventing accented characters from appearing duplicated or partially duplicated.
- Rename submits no longer leak Enter key-release input into the active terminal pane.
- Rename modal close controls now wait for pending Enter key release before closing, even if focus moves away from the input while saving.
- Agent status and title-only updates no longer cause unnecessary visible terminal repainting.
- Terminal key-release tracking now resets when switching processes, preventing a release from being delivered to the newly selected process.
- Terminal panes now paint immediately when switching across cached terminal sessions instead of briefly appearing blank.
- Terminal panes now keep their live scroll position synchronized when renaming a process, preventing blank or upward-jumping output after a rename.
- Terminal panes now keep visible scrollback stable across same-process rename and reconnect activity, while marking any recovered history gaps clearly.
- Terminal panes following live output now keep following correctly after reconnecting to expanded history.
- Terminal apps that use OSC 52 clipboard copy now copy text to the native clipboard in Solo's terminal renderer.
- Terminal output now recovers from missed visual updates instead of leaving stale content on screen.
- Terminal updates while Solo is hidden no longer crash when live output arrives.
- Pasting text, files, and images on macOS is more reliable and avoids clipboard-related crashes.
Command Palette And Navigation
Cmd+E jump results now let you copy links for highlighted projects, processes, Todos, and Scratchpads with Cmd+C.
- The command palette footer now hints when the selected row can be copied.
- Todo and Scratchpad command palette search now supports exact numeric ID lookup.
- Prompt templates now appear as command palette jump destinations.
- Process selection now keeps the right project context when returning from Settings, closing Activity Monitor, using navigation history, or opening a process before project data has finished loading.
- Closing or deleting a process now moves focus to the next sensible sidebar item consistently across hotkeys, native menus, and context menus.
HTTP API, CLI, And MCP
- Solo's local HTTP API now lists the endpoints integrations can call, including supported routes, request fields, query options, examples, and error details.
- The local HTTP API and
solo CLI can now read recent process output, filter process lists by status, delete processes, list configured agent tools, and restore archived scratchpads.
- The
solo CLI now supports richer Todo and Scratchpad workflows, including Todo list filters, Todo delete confirmation, Scratchpad tags, Scratchpad restore, and reading Todo or Scratchpad bodies from files or stdin.
- Local HTTP API and
solo list commands now return the same pagination fields.
- Project Start all and Restart all actions now separate skipped commands from real failures.
- API discovery now makes it clear how integrations can spawn agents with the selected project-specific agent installation.
- Local HTTP API discovery now documents the default prompt-template behavior when deleting a project.
- MCP tools now have clearer descriptions, cleaner visibility in clients, and more consistent metadata.
- MCP responses now repeat less follow-up guidance in long-running agent conversations while still keeping durable guidance available to clients.
- MCP scratchpad tools now guide clients toward direct edits and appends instead of replacing whole documents when a smaller update is enough.
- Solo MCP now requires explicit confirmation before an MCP session can close its own Solo agent process, preventing accidental self-close behavior.
- Solo MCP scratchpad listing now exposes the existing keyword search filter to connected clients.
- Optional prompt template MCP tools can now expose saved prompt templates to connected clients.
Settings And Integrations
- Agent Tools settings now make installation state and setup health easier to scan.
- Execution profile settings now clarify which shell and environment will be used for new projects and inherited project defaults.
- Solo process links now open even when the link uses a longer descriptive label than Solo normally generates.
- Auto-summarization and the summarizer test flow now run through the configured shell, so aliases and shell functions work as expected..
UI And Platform
- Sidebar process rows no longer jitter or re-truncate when hover actions, ports, stats, or timer indicators appear.
- Sidebar focus after closing or deleting a process is now more consistent across hotkeys, menus, and context menus.
- Windows shortcuts, paths, updater validation, and helper-window behavior are more reliable.
- macOS clipboard, paste, hidden-window terminal updates, and terminal keyboard input are more reliable.
v0.7.1
Released on May 14, 2026
TL;DR
- More first-class agent support: Copilot CLI and Kimi CLI were added as built-in agent tools, with setup, resume, summarization, and MCP shortcuts.
- Major local API/CLI expansion: Solo’s local HTTP API and solo CLI now cover app status, processes, projects, todos, and scratchpads.
- MCP got much more capable: New project tools, scratchpad edit/search/tail tools, spawn_agent, better pagination, better timer delivery, and richer guidance in responses.
- Project UX improved: Editable project directories, drag folders into the sidebar, favicon-based project icons, better duplicate detection, and immediate sidebar updates from external changes.
- Scratchpads and Todos got workflow upgrades: Title sorting, creation from context menus, terminal selection to scratchpad, scratchpad search, delete/restore improvements, better focus behavior, and clickable task lists.
- Terminal reliability and performance improved: Lower CPU/memory churn for busy output, better macOS keyboard behavior, better kitty protocol handling, faster output batching, pane isolation for runaway output, and fixes for blank/stuck panes.
- Settings and platform polish: Scroll speed controls, Option-as-Meta settings, default browser picker, remembered feedback email, larger UI font scale, better macOS app behavior, and many crash hardening fixes.
Added
Agents
- Copilot CLI and Kimi CLI are now first-class agent tools with default tool setup, resume actions, native summarization support, and MCP setup shortcuts.
HTTP API & CLI
- Solo's local HTTP control API now exposes authenticated JSON endpoints for app version/status, process list/get/start/stop/restart/rename/spawn, project list/get/create/rename/delete, project-wide command lifecycle actions, and Todo/Scratchpad read and mutation workflows.
- The
solo CLI now talks to Solo's local HTTP API for app status/version, process commands, project commands, Todo commands, and Scratchpad commands, with human-readable and JSON output modes.
- Local integrations can now discover Solo's HTTP API capabilities through an authenticated metadata endpoint.
MCP
- Solo MCP now includes project tools for reading project metadata, importing existing directories, renaming projects, deleting projects with explicit confirmation, and explaining project scope through
help topics.
- Solo MCP
spawn_process can now pass per-launch agent arguments without changing the saved agent tool defaults.
- Solo MCP now exposes a
spawn_agent alias for creating agents without passing kind="agent", with catalog, help, and command-surface metadata wired to the existing process spawn behavior.
- Solo MCP Scratchpad tooling now includes
scratchpad_edit, scratchpad_append_section, scratchpad_tail, and scratchpad_find for targeted edits, heading appends, recent-line reads, and search without fetching a full scratchpad.
- Solo MCP responses now include structured guidance in JSON/text responses and legacy metadata hints for common follow-up workflows such as timers, spawned agents, scratchpad reads,
send_input, and session identification.
Projects
- Project directories can now be edited after project creation from the project overview.
- Folders can now be dragged from Finder or Explorer onto the sidebar to add them as projects, with an "Add project" drop overlay matching the terminal drop affordance.
- Project swatch initials can now be saved in
solo.yml as icon_initials and sync back into Solo when the config is reloaded.
- Projects now automatically display common favicon files from the project folder when no explicit
solo.yml icon is configured.
Scratchpads & Todos
- Todo lists can now be sorted by title from A to Z or Z to A, with numeric-aware ordering for plan prefixes such as
P1.2 and P1.10.
- Project and process row Add context menus now include Scratchpad and Todo creation actions.
- Scratchpad actions now include a native-confirmed delete option that permanently removes the current scratchpad after saving the latest draft.
- Scratchpad detail views now support
Cmd+F/Ctrl+F search with reusable find chrome, Plate-powered highlights, active-match indication, and next/previous navigation that scrolls large scratchpads to the current match.
- Terminal selections can now be turned into Scratchpads from the terminal context menu, preserving the exact selected text and using the first selected line as the Scratchpad title.
Terminal
- Hotkey command
terminal.clear clears the active terminal pane and scrollback buffer when bound (unbound by default).
Settings & Integrations
- Terminal settings now include a scroll wheel speed control for TUI apps such as Vim, less, and htop when they capture terminal scroll input.
- Terminal settings now let macOS users choose whether the left Option key, right Option key, both, or neither act as the terminal Meta key.
- Tool settings now include a default browser picker used when opening detected local service URLs from the process sidebar.
- Feedback can now remember an optional email address for future submissions when the user opts in.
Misc
- Demo projects now include a Workflow orchestration scratchpad that shows MCP, todos, scratchpads, timers, and worker-agent coordination patterns.
Changed
Agents
Cmd+T now boosts the currently focused agent runtime in the new-agent picker while keeping the other enabled agents available.
- Agent session resume actions now distinguish direct last-session resumes from opening the session picker.
HTTP API & CLI
- HTTP and CLI project create/delete flows now share Solo's canonical import and deletion behavior, returning existing projects for duplicate paths and requiring explicit confirmation before stopping running processes during project deletion.
MCP
- MCP scratchpad and todo listings now paginate large inventories, improving responsiveness and memory use.
- Solo MCP
send_input responses now include idle wake-up timer guidance for bound agent callers that can receive timer-delivered follow-up turns.
- Solo MCP timer delivery is now more reliable for agents with multiple sessions and across app restarts.
- Solo MCP now exposes
identify_session as the canonical session identity tool, with backwards-compatible aliases for prior tool names.
Projects
- Newly added projects now append after existing root projects instead of jumping to the top of the sidebar.
Terminal
- Terminal output processing now handles styled, SGR-heavy, and CRLF-heavy output with less CPU, history-memory, and live-delta churn during busy terminal sessions.
- Terminal TUI scroll wheel speed now defaults to 3x and offers 5x and 6x options for users who want faster captured scrolling.
Todos
- Completing a todo now releases the completing actor's edit lock by default, with an option to preserve the lock when needed.
- Canonical todo listing now supports explicit sort orders, wired through MCP
todo_list and the local HTTP todo list API.
UI & Platform
- Interface font scale now includes two additional high-end stops, extending the largest application UI size to 154%.
- macOS now labels Solo's WebKit helper processes in Activity Monitor, including showing the main web renderer as
Solo (Renderer) instead of the internal app URL.
Fixed
Agents
- Copying visually soft-wrapped agent output now preserves soft wraps in the clipboard without applying the heuristic to normal command and terminal output.
- Terminal and agent input now disables browser autofill on the hidden IME textarea to avoid macOS SMS code suggestions appearing over focused panes.
HTTP API & CLI
- Processes spawned through the local HTTP API with a custom name now keep that name as the visible process label.
- HTTP API discovery now lists all available endpoints (including Todo create and complete), and Settings shows the same endpoint list.
- Raycast process lifecycle endpoints now return more accurate errors and stay in sync with Solo process start notifications.
MCP
- Timer stopwatch indicators now stay attached to timers owned by or routed to a process, including cross-project idle waits, without moving controls onto the watched target.
- Idle-triggered MCP timers now fire when a watched process exits or fails instead of waiting for the max wait deadline.
- MCP timer wake delivery is now more reliable across app restarts and during active typing, ensuring agents are prompted when their timer fires.
- Solo MCP process start, restart, and status now keep agent command metadata and live tool-type reporting in sync with the running process.
- Solo MCP
todo_update now accepts status changes so agents can move todos between open, in-progress, backlog, and completed states.
- Solo MCP
send_input now caps wait_ms so long waits do not exceed MCP client request timeouts.
- Solo MCP read-only and export calls no longer register the caller as a bound agent.
- Solo MCP
todo_update now rejects empty update requests instead of accepting no-op mutations.
- Solo MCP
scratchpad_edit now accepts object targets for section and line-range edits.
- Solo MCP help no longer surfaces KV tool guidance when KV tools are disabled.
- Solo MCP agent bootstrap guidance no longer recommends KV coordination tools when KV tools are disabled.
Process Lifecycle
- Stopping, restarting, or deleting processes (including via
solo.yml or project removal) now reliably releases todo locks, clears pending summaries, and cleans up stale process state.
- Batch process lifecycle actions now report partial failures instead of hiding skipped or failed commands, and bulk command start/restart paths use the same lifecycle handling as individual process actions.
- Failed command starts now surface backend diagnostics in lifecycle toasts while preserving the failed process pane and terminal failure banner.
- Pressing
R or choosing Restart on a stopped command now starts it, matching the visible command actions.
- Process lifecycle APIs now return consistent not-found, permission, validation, and internal error responses, and stopping an already-stopped process through HTTP or CLI succeeds as an idempotent no-op.
Projects
- Adding a project now correctly recognizes duplicates when the same folder is added under different path forms such as symlinks or relative paths.
- Project-type detection now skips oversized and symlinked marker files so adding a project does not block on unexpectedly large or redirected config files.
- Sidebar project drop targets now only appear for dragged folders, so dragging files over process rows can activate the terminal without advertising "Add project."
- External project create, rename, and delete flows through MCP, HTTP, and the CLI now emit canonical project-list change events so the sidebar updates immediately.
Scratchpads & Todos
- Creating a Todo or Scratchpad from sidebar/UI buttons now focuses the new item's title just like command palette creation.
- Creating a Todo or Scratchpad from the command palette now focuses the new item's title, and pressing
Tab from the title moves into the Markdown editor.
- Todo title sorting now uses the canonical global title order instead of separately sorting within sidebar/status groupings.
- Markdown serialization now avoids WebKit-incompatible GFM autolink regexes while preserving GFM footnotes, tables, strikethrough, and task lists.
- Scratchpad and Todo markdown task lists now render as clickable checkboxes while numbered lists stay numbered.
- Archived scratchpads can now be restored from the scratchpad status control and archived scratchpad context menus.
- Todo detail query failures now show the backend error with a retry action instead of being reported as "Todo not found."
Settings & Integrations
- Summarizer test results now render in an inline panel below the Test button, surfacing the full tool output for debugging instead of a truncated toast.
- Check for updates now shows clear feedback from the app menu and Account settings when Solo is already up to date or the update check fails.
- Saved MCP, Raycast API, and terminal compatibility settings are now honored consistently during startup and transport restarts.
Terminal
- Triple-click terminal selection now selects only the clicked visual row instead of including wrapped continuation rows.
- Neovim Shift+printable keys (and similar modified printables) now produce the shifted character when the kitty keyboard protocol is active, instead of inserting the bare keycode.
- OpenCode now receives numpad digits and Enter as normal text in kitty keyboard mode, matching Ghostty's behavior.
- Terminal focus borders now remeasure after native window resize tools such as Moom settle the app layout, avoiding stale lines across panes.
- Terminal follow mode now clears stale
Jump to bottom indicators when an optimistic pause settles back at the live bottom.
- Detected local service URLs now preserve HTTPS and custom local hostnames from process output when they match a bound port.
- Stopped terminal and agent panes without cached output now show a clear in-pane Start prompt instead of looking like a blank terminal.
- macOS blank terminals now handle Option+Backspace, Command+Backspace, Option+Left/Right, and Command+Left/Right like standard shell word and line editing shortcuts.
- macOS kitty-enabled agent terminals now treat Command+Backspace and Command+Delete as shell line-kill shortcuts instead of passing Super-modified delete keys through to the agent.
- macOS international keyboard layouts now type Option-generated characters such as
@ and | in kitty-enabled agent terminals when "Use Option as Meta key" is off, without leaking unmatched kitty key-release events.
- Chinese IME composition commits now type correctly in terminal and agent panes, including WebKit event orderings where the committed text arrives before
compositionend.
- Terminal panes now recover automatically from internal errors instead of becoming stuck.
- Terminal image drops now copy supported image files into Solo's durable temp image directory before sending their paths to agents, and terminal
file:// links now open only for local paths.
- Terminal output batching now uses the lower-latency 16ms flush window again, reducing visible typing delay in interactive terminal apps.
- A pane producing runaway output is now isolated so it no longer blanks or destabilizes other terminal panes.
- Solo's
sudo and ssh compatibility wrappers no longer recursively invoke themselves when Solo's wrapper directory is first in PATH.
UI & Platform
- Sidebar selection and focus indicators now remeasure after sidebar width, font scale, DOM, and viewport changes so focus borders stay aligned after resizing.
- Sidebar process rows now start drag-reordering on the first click-and-hold when the terminal is focused, without stealing terminal focus during the drag.
- macOS native file and folder pickers now treat rare nil
NSOpenPanel creation as dialog cancellation instead of crashing Solo.
- macOS file and folder drag/drop now keeps native path delivery enabled while tolerating malformed pasteboard payloads that previously crashed the WebKit drag/drop bridge.
- The license title bar now handles malformed or partially missing license status payloads without crashing.
- Closing Solo's main window with the macOS red close button now hides the app instead of quitting, while explicit Quit still exits through the running-process confirmation flow.
- Pressing
Cmd+H on macOS now hides Solo like a standard Mac app; on Windows and Linux, Ctrl+H minimizes the window.
- Pressing
Cmd+W in Settings now goes back through navigation history instead of falling through to the native window close action.
- Fixed a render loop that could occur during hidden-window terminal updates.
- Hardened a number of edge cases reported through crash diagnostics, including window lifecycle, PTY cleanup, WebGL initialization, terminal input after process switches, and Markdown rendering.
Misc
- Timer pause, resume, cancel, and fire-now failures now surface the backend error message in the toast body instead of a generic "Failed to update timer."
- Quick jump now matches nested recent targets, so searches like
paper can surface Scratchpads such as 0.7.0 Papercuts.
v0.6.5
Released on May 1, 2026
Added
- Dev settings now include a React error trigger for validating the global error recovery screen
- Finder's folder Services menu now includes "Open in Solo" on macOS, opening the selected folder as a Solo project.
- Added a terminal history-delta transport benchmark for comparing current JSON-shaped live history deltas against MessagePack before broader conversion work
- Linked checkout schema foundation for sharing project-scoped data from worktrees, copy-on-write checkouts, and full-clone checkouts
- Solo MCP
scratchpad_list now supports offset and limit with pagination metadata for large scratchpad inventories
- Solo MCP
todo_list and todo_comment_list now support offset and limit with pagination metadata for large todo and comment inventories
- Todos now support selecting multiple rows from the list and applying batch status or tag changes through one backend update
Changed
- Claude auto-summarization now defaults to Sonnet with
--effort low instead of Haiku, producing higher-quality summaries while keeping reasoning cost and latency in check
- Terminal attach, snapshot, history fetch, live frame patches, and PTY input writes now use binary MessagePack transport paths to avoid JSON-heavy terminal payload materialization
- Terminal history streaming now packs plain ASCII rows, shares larger append payloads, and avoids redundant viewport layout reads to reduce CPU churn under heavy agent output
- Locked todos in terminal panes now appear as compact lock-pill shortcuts that open the todo detail view when clicked
- Timer indicators now use a lightweight list query that avoids parsing timer metadata JSON and returns compact due-time data
- Solo MCP scratchpad reads without an explicit mode now return a heading outline for very large scratchpads, with hints for requesting full content, sections, or line slices
- Solo MCP help now includes a docs/how-to topic that routes product questions to Solo docs, hosted Markdown docs APIs, public API surfaces, and local MCP tools
Fixed
- Frontend render errors now show a recovery screen, report through Sentry when configured, and offer a frontend refresh instead of leaving the app blank
- Pressing
Cmd+W on project, Todo, and Scratchpad views now goes back through navigation history instead of falling through to the native window close action
- Scratchpad and Todo title rails now use the project's display name instead of the underlying folder name
- Codex permission prompt title animations no longer keep OSC title stability-based idle detection stuck in the working state
- Codex and Amp agents now use OSC title activity signals, including repeated spinner-only title updates that sanitize to the same display title, so active runs do not get marked idle while stable terminal noise does not keep them working
- Amp automatic titles now hide the CLI's
amp - prefix before showing agent names and summaries
- Claude Code MCP setup now passes
--transport stdio explicitly when adding Solo's local MCP server.
- Closing an agent with MCP-spawned subagents now asks whether to close those subagents too, rechecks for newly spawned subagents after the first confirmation, and avoids resurrecting successfully deleted agents when a subagent close fails
- Dragging multiple image files into a terminal now keeps those paths on Solo's bracketed-paste path and suppresses the browser fallback that could insert raw paths
- MCP-spawned subagents no longer run hidden backend auto-summarization jobs
- Renaming a running process now keeps the selected terminal process cached by id while project data refreshes, avoiding transient blank terminal panes
- Solo MCP now treats the configured agent tool type as authoritative for start, restart, and spawn, including keeping Generic tools generic even when their command name matches a first-party CLI
solo.yml commands now allow absolute working_dir values that resolve inside the project root while still rejecting parent traversal and symlink escapes
- Timers with malformed optional metadata no longer disappear from timer lists or block manual fire, due fire, near-due scans, or idle-trigger scans
- Terminal symbol glyphs such as arrows, bullets, black circles, and checkmarks now use the bundled fallback font and crisp fallback rendering path instead of fuzzy atlas or system fallback rendering
- Terminal mouse wheel input in TUIs now coalesces high-resolution wheel deltas before emitting terminal wheel or alternate-scroll events, making scroll speed less aggressive
v0.6.4
Released on April 27, 2026
Added
- Agents settings now include an app-level Automatic renaming toggle that overrides per-agent automatic renaming when disabled
- Agents spawned from another agent now appear nested under their parent in the sidebar instead of flattening into the main agent list
- Command and jump palettes now recognize
solo:// deep links and offer a Go destination row
- Process rows can now be double-clicked to start stopped commands, terminals, and agents
- Project header context menus now include
Go to Todos and Go to Scratchpads shortcuts
- Stopped agents with a stored CLI session now show a
Resume prior session shortcut in the terminal pane
- Scratchpad actions now include
Copy as Markdown and Save as... for exporting the current draft as a complete Markdown document
- Terminal settings now include a Copy on select option that copies selected terminal text automatically, shows a brief confirmation toast, and trims trailing terminal padding from copied lines
- Todos now support an In progress status across the detail pane, list filters, grouping, context menus, sidebar previews, and MCP status filters
- Solo MCP resources now expose scratchpad and todo deep links through
resources/read, resources/list, and resource templates so clients can read solo://proj/... links directly
Changed
- Solo MCP
scratchpad_append can now omit expected_revision, while callers that pass one still get revision-guarded appends.
- Scratchpad and Todo index pages now include bottom overscroll padding so the final rows can scroll higher into view.
- Todo index status filtering now supports selecting multiple statuses and defaults to in-progress, open, and backlog todos, hiding completed todos until selected.
Fixed
- Agent rename actions now treat submitting the underlying process name while an automatic title is visible as a request to restore that name and disable future automatic renames, avoiding duplicate-name conflicts for agents like
Codex
- Explicit command palette scopes now keep tokens after
> inside the matched project instead of matching the project scope again
- Jump palette search ties now prefer shorter visible target labels, so direct destinations rank ahead of longer search actions when scores are equal
- Blank or comment-only
solo.yml files created outside Solo can now sync successfully instead of failing as invalid config
- Long installed font names are now shortened in the Appearance and Terminal font pickers so native dropdowns no longer stretch across the settings pane
- Opening Appearance settings on macOS no longer crashes when CoreText returns an installed font descriptor without a family name
- Scratchpad markdown paste now preserves Markdown syntax even when the clipboard also includes HTML, and GFM tables now render as tables in the editor and viewer
- Scratchpads with very large Markdown documents now render progressively instead of blocking the app while the full editor tree is built
- Sidebar keyboard navigation now follows the rendered order for nested agents, including child agents grouped under their parent
- Sidebar nested agent rows now sit closer to their parent row so child status indicators align with the parent title
- Sidebar project and process unread dots now stay attached to center-truncated titles without forcing short labels to collapse early
- Sidebar project and process names now reclaim available width after fullscreen or sidebar resize changes instead of staying over-truncated
- Terminal font measurement now falls back safely when browser font readiness is degraded and remeasures when the font set later settles
- Terminal font rendering now preserves italic, bold, and tight-spacing overhangs in the GPU atlas while keeping CJK and halfwidth/fullwidth East Asian glyphs on the fallback text path for crisper rendering
- Terminal panes no longer go blank after process rename or layout changes trigger a resize-reflow history rebuild
- Terminal selection now keeps fallback-rendered glyphs readable on light selection backgrounds, including CJK, emoji, symbols, and Powerline characters
- Terminal copy on select now ignores whitespace-only selections so accidental tiny drags do not replace the clipboard
- Terminal scroll position now stays stable when you scroll upward while new output is appended, avoiding jumpy viewport corrections
- Terminal
Cmd+V now recovers after right-click interactions that leave some terminal-hosted CLIs without a native paste event, so paste keeps working even when the DOM paste never arrives
v0.6.3
Released on April 23, 2026
Added
- New Scratchpads and Todos cards in MCP settings make it easier to see which tools are available, turn them on or off, and understand when the MCP server is required
- Account settings now include a link to the Solo Discord community
Changed
- macOS window controls now use the native title-bar placement, which reduces visual glitches and resize churn on Tahoe
Fixed
- Terminal focus is more stable during layout changes, reducing cases where the terminal appeared focused but would not accept typing
- Scrolling busy terminals is more reliable and should no longer trigger blank or white terminal panes
- Restarted or reconnected terminals no longer restore stale scroll positions from a previous run
- MCP feature toggles now behave consistently: Scratchpads, Timers, and Todos follow the main MCP server toggle until changed individually, while KV tools remain opt-in
- Solo now recovers its local MCP transport more reliably when the app-side listener becomes stale or refuses connections
- Pressing
Cmd+F while terminal search is already open now returns focus to the search field, and clicking back into the terminal lets typing go to the terminal as expected
v0.6.2
Released on April 22, 2026
Fixed
- macOS window traffic lights now reapply their custom position after app-driven title changes, reducing misplaced title-bar controls on Tahoe when switching views like Settings
- Terminal launch size sync now retries a registered measurement provider for a short window when the renderer is not ready yet, reducing stale fallback terminal sizes during startup races
v0.6.1
Released on April 22, 2026
Added
- An Activity monitor view for running commands, terminals, agents, and tracked subprocesses, with project/type/status/ports filters, flat or tree layouts, sortable resource columns, and quick subprocess actions
- Scratchpads can now be imported from Markdown files from the scratchpad pane and command palette
- Bundled terminal font options: Geist Mono, JetBrains Mono, MonoLisa, and Input Mono
- MCP settings now include copyable and runnable setup snippets for Claude Code, Gemini CLI, Amp, OpenCode, Codex CLI, and popular IDE/app configs
- Account settings now expose bundled font licenses and third-party software notices
Changed
- The
Automation settings tab is now named MCP
- Geist Mono is now Solo's default terminal font
- Terminal font diagnostics now warn when a selected font has limited terminal glyph coverage or when the renderer appears to fall back unexpectedly
- Activity monitor filters, sort order, and layout now persist between launches, and the monitor now shows descendant ports with CPU readings aligned to the sidebar's raw process stats
- Quick jump in the command palette now reaches settings, activity monitor, section headers, todos, and scratchpads, with drilled search views for todo and scratchpad titles
- MCP help now includes
solo.yml guidance, and Solo's MCP responses return more consistent metadata hints for client integrations
- Direct command restarts now show a restart toast
Fixed
- Terminal scrolling, selection, follow mode, copy behavior, cleared-viewport history sync, and keyboard input handling are more reliable in the custom renderer, especially during paused output or after viewport clears
- Backend-owned terminal scrollback now respects the configured scrollback limit instead of retaining unbounded grid history
- Terminal autolinks now survive Solo-styled links correctly
- OpenCode now answers system theme queries correctly and uses better cursor contrast
- Timer deliveries now soft-snooze while you are actively typing so reminders do not interrupt in-progress input
- Native app menu accelerator labels stay in sync with current keyboard shortcut remaps
v0.6.0
Released on April 20, 2026
What's new
Faster, smoother terminals
- A new GPU-powered terminal renderer delivers dramatically smoother scrolling and redraws, with full 120fps support on ProMotion and
high-refresh Macs.
- Process switching is snappier and more reliable — no more brief flashes of stale content, double-renders, or stuck cursors when bouncing
between tabs.
- Codex block cursors stay visible and steady while you type.
Stay on top of what needs you
- A new attention bell in the title bar lights up when any process needs you, paired with a quick-jump palette that takes you straight to
the terminals and agents asking for attention.
- Unread state is now unified across the sidebar, title bar, and dock badge — dismissing a toast no longer pretends a process has been
handled.
- Bell alerts now show as quick toasts, while real "needs attention" state stays put until you actually look at it.
- Click a terminal notification toast and it now opens the process it's about.
Settings that make sense
- Font sizes are now real pixel values (10–18px) instead of abstract percentages.
- Font weight options now reflect what your fonts actually support — unavailable weights are dimmed instead of silently doing nothing.
- Line height steps now produce visibly different row heights at every setting, no more dead zones.
- A new macOS option to disable
Option as Meta for international keyboard layouts that need Option to type @, |, or #.
- A new zsh-only setting keeps Solo's terminal compatibility tweaks from leaking into
ssh and sudo sessions.
Better project & process control
- Working directory is now editable in process settings with a native folder picker, and YAML-backed processes sync changes back to
solo.yml.
- A new timer countdown overlay in the top-right of the terminal shows pending timers with a live countdown.
- Duplicate commands across projects from the command-row context menu — one command or all of them, no drag-and-drop required.
- See active subprocess counts for running processes in the sidebar and terminal footer (with a setting to hide them).
- Disable automatic OSC-title renaming per process when you want your custom names to stick.
- Sidebar subgroup collapse state (Agents, Terminals, Commands) now persists per project across relaunches.
- Add multiple project folders at once from any of the add-project entry points.
- Re-adding an existing project now tells you it's already added instead of silently doing nothing.
Agents
- Edit the launch command before starting an agent, and add custom flags for that run — your changes persist across restarts.
- New sidebar focus settings let you auto-focus running terminals, agents, or commands when opening them.
- Smoother agent status indicators — no more rapid flicker between idle and active during short pauses.
MCP improvements
- A unified per-project inbox replaces the noisy list of individual topic channels in the sidebar, with a new
fetch_project_inbox MCP
tool for workers and orchestrators.
- New MCP tools to send process input, spawn terminals and agents, list available agent tools, rename processes, and close terminals/agents
directly from connected clients.
spawn_process accepts an optional name so you can name a process at creation without a follow-up rename.
- MCP tools now advertise read-only vs. destructive safety hints, so clients like Codex stop nagging for approval on harmless calls.
- A new "advertise everything as safe" setting for users who want the absolute minimum number of approval prompts.
- A new per-project setting to auto-trust added or changed commands — for private repos you fully control.
send_input with submit now writes text and Enter as a single atomic operation, no more flaky split sends.
- MCP-driven input now counts as human input, so auto-summarization kicks in correctly.
Reliability fixes
- Unfocused terminals no longer show a blinking cursor.
- Sidebar shortcut hints no longer get stuck after macOS steals key events (like Cmd+Shift+4 screenshots).
- CPU percentages are now normalized across cores — no more confusing "300%" readouts.
- Native menu shortcuts stay in sync with your custom keybindings instead of firing the old defaults.
- Platform-specific shortcuts no longer cross-fire (Ctrl+K stops stealing terminal input on macOS).
- Hitting your free-tier limit now opens the license modal instead of failing with a generic error.
- The
125% interface scale option actually works now.
- macOS traffic lights reposition reliably after window state changes.
- File drops onto the terminal work correctly on high-DPI displays.
solo.yml sync warnings clear themselves when the file returns to its last-synced state.
Shift+Enter and other modified keys negotiate more reliably with terminal-hosted AI CLIs.
ssh sessions launched through Solo's compatibility wrappers no longer leak Solo's local terminal type to remote hosts.
Smaller polish
- Sidebar summaries clamp to two lines for consistent row height.
- Lifecycle action feedback is now consistent across the sidebar, command palette, menus, and process settings.
Cmd+T always opens the full new-tab picker, with the most relevant action ordered first.
Escape is no longer reserved as a close shortcut, so you can bind it as a hotkey.
- Add-command modals no longer dismiss on accidental backdrop clicks.
- Laravel detection no longer preselects
php artisan serve when Herd is in play.
- Renaming a process no longer fires an unnecessary success toast.
- Quick jump no longer offers your currently selected process as a target.
flash-lite is now the default Gemini summarizer model, with faster, cleaner headless boots.
- Solo now advertises a Ghostty-compatible
TERM profile for better compatibility with CLIs that hardcode terminal allowlists
v0.5.9
Released on March 13, 2026
This is a smaller polish and stability release focused on summaries, sync feedback, terminal reliability, and a macOS crash fix.
Improved
- Session summaries are more accurate, especially for terminal apps that redraw the screen or run in fullscreen modes.
- Summary timing is smarter, so Solo waits for activity to settle before capturing and generating a summary.
solo.yml sync feedback is cleaner, with warnings and sidebar notices clearing more reliably after a successful sync.
Fixed
- Improved terminal startup reliability for fullscreen terminal tools by tightening how Solo manages startup capability checks.
- Fixed a macOS crash during license initialization without changing existing device IDs or forcing users to reactivate.
v0.5.8
Rolling out to 50% Released on March 13, 2026
Added
- Added a dedicated review screen for untrusted commands in the terminal, showing the exact command, working directory, and environment overrides before you approve
it.
- Added Trust all commands actions so you can approve an entire project faster.
Changed
- Solo now remembers trusted commands across future updates to the same command in the same project, so switching branches or syncing config changes causes fewer
repeat trust prompts.
- Trust history now matches command variants more accurately, so previously approved commands carry over more reliably.
- The free tier now supports up to 4 projects and 20 processes before a license is required.
- Terminals, commands, and agents now launch with login and interactive shell state for behavior that more closely matches native terminals.
- Improved terminal keyboard handling, including better support for modified keys like
Shift+Enter.
Fixed
- Untrusted commands no longer expose start or restart controls before they’ve been reviewed.
- Fixed shell environment issues so
nvm, aliases, shell functions, and login-shell environment loading work more reliably.
- Fixed Zsh startup issues with UTF-8 and Powerline-style prompts.
- Terminal sidebar summaries no longer capture hidden input such as passwords typed at prompts.
- Hardened terminal startup, session reuse, rendering, and process lifecycle behavior for more reliable day-to-day use.
v0.5.4
Released on March 3, 2026
Since v0.3.2, Solo has become a much more complete desktop workspace for local development.
- Organizing work is much easier. You can group commands into collapsible sidebar sections, reorder projects and commands directly with drag and drop, move around
faster with improved keyboard navigation, and find what you need more quickly with better search and sticky headers.
- AI workflows are now built in. Solo can launch coding agents per project, support chat with agents directly in the sidebar, show whether agents are active or idle,
and give clearer feedback when you start or manage them.
- The terminal experience is significantly stronger. Tabs keep their place when you switch, commands are more resilient, crashed work can restart automatically,
notifications are smarter, and files or images from Finder can now be dropped or pasted straight into the terminal.
- Customization has expanded across the app. There are more shortcut controls, richer font and appearance settings, bundled and importable themes, better editor and
terminal preferences, and more control over what appears in the sidebar.
- Getting started and staying up to date is smoother. Solo now includes a guided demo project on first launch, a clearer two-step update flow, support for opening
solo.yml files directly from Finder, and better visibility when project configuration changes.
- Recent releases have mostly focused on polish and reliability. Expect faster switching, smoother rendering, more stable navigation, better day-to-day terminal
behavior, and a broad set of fixes that make Solo feel more dependable overall.
v0.3.2
Released on February 6, 2026
v0.2.2
Released on February 5, 2026
Fixed
- Blue outline appearing between sidebar items in production builds
- Terminal output not displaying due to missing CSP permissions for WASM loading
v0.2.1
Released on February 5, 2026
Fixed
- License validation for users upgrading from pre-signed-token versions
v0.2.0
Released on February 5, 2026
Added
Changed
- Improved performance with surgical cache updates to reduce re-renders
- Refactored terminal output to use centralized OutputStore
Removed
- Removed process pause functionality
Fixed
- APP_URL detection now works with Laravel Vite plugin v2+ (handles URLs without protocol)
- Process restart race condition
- Filter numeric-only notification bodies
v0.1.9
Released on February 5, 2026
See the assets below to download and install Solo.
v0.1.8
Released on February 5, 2026
See the assets below to download and install Solo.
v0.1.7
Released on February 4, 2026
See the assets below to download and install Solo.
v0.1.6
Released on February 4, 2026
See the assets below to download and install Solo.
v0.1.5
Released on February 4, 2026
See the assets below to download and install Solo.
v0.1.4
Released on February 3, 2026
See the assets below to download and install Solo.