Skip to content

Instantly share code, notes, and snippets.

@aarondfrancis
Created May 14, 2026 22:38
Show Gist options
  • Select an option

  • Save aarondfrancis/a4f35137ca785c2712736524aa0d30cd to your computer and use it in GitHub Desktop.

Select an option

Save aarondfrancis/a4f35137ca785c2712736524aa0d30cd to your computer and use it in GitHub Desktop.

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment