Using scratchpads

Scratchpads are project-scoped Markdown notes for plans, snippets, handoffs, and working context. They live inside Solo and are available to MCP-connected agents when both the MCP server and scratchpad tools are enabled.

Opening scratchpads

Open a project's scratchpads from the command palette. You can also use its Scratchpads sidebar section when Show in sidebar is enabled in Settings > Features > Scratchpads; Hide when empty can hide that section when the project has no unarchived scratchpads. The list shows active and archived scratchpads for that project.

Use New scratchpad to create a blank note, or Import to create a scratchpad from a Markdown file.

You may also select terminal text, right-click, and choose Create scratchpad from the terminal context menu. Solo normalizes whitespace in the first line; a nonblank result becomes the title (up to 120 characters), while a blank result uses Terminal selection. The complete selection becomes the note body, and Solo opens the new scratchpad. This can capture selected text such as an agent plan, an error trace, or a command transcript.

Editing

Scratchpads have an editable title, Markdown content, tags, and active or archived status. Solo autosaves edits, including when you leave the scratchpad, and remembers each scratchpad's scroll position when you switch between them.

If a scratchpad changes somewhere else while you're editing it, for example from an agent or another window, Solo shows a Scratchpad changed banner instead of overwriting either version:

  • Save mine as a copy keeps your edits as a new scratchpad named with a "(conflict copy)" suffix.
  • Discard my edits drops your changes and loads the latest version.

The editor includes Markdown formatting controls. The Link button opens an Add link dialog (or Edit link for an existing link) that checks the URL before inserting it; if the selected text already looks like a URL, Solo links it right away. In the editor, Cmd/Ctrl+click follows a link, and a plain click places the cursor. In read-only views, such as todo comments, clicking a link opens it in your default browser. In the note body, ATX headings written with one to three # characters populate the outline; a leading H1 used as the scratchpad title and H4-H6 headings do not. When the outline has entries, its rail appears in the detail view on extra-large layouts.

Images

Markdown images render inline in the note. To add a local image, click Image in the editor toolbar or drag image files into the note; Solo places each one where you chose. Local images can be PNG, JPEG, GIF, WebP, BMP, or ICO, up to 10 MB each. data: image URIs render directly. Images that point at an http or https URL are fetched by Solo itself rather than loaded straight into the page, then displayed as embedded image data.

A few limits apply to remote images:

  • Only responses that are verifiably images are shown. Solo checks the response's content type and falls back to inspecting the file's bytes for recognized formats (PNG, JPEG, GIF, WebP, AVIF, BMP, ICO).
  • Images larger than 10 MB are rejected, and requests time out after 15 seconds.
  • Each URL is fetched once per app session and cached, so a document full of images resolves each image a single time.

SVG images aren't supported, including many README and CI badges. Solo shows their alt text or URL instead, so use a PNG or other raster image URL when you need a preview.

While a remote image is loading, or if it fails to load, Solo shows a placeholder with the image's alt text (or its URL) in place of the image.

Finding text in a note

Use the current search shortcut while a scratchpad is open to show the find bar in the top-right corner of the note. The defaults are Cmd+F on macOS and Ctrl+F on Windows and Linux; the binding can be changed or disabled in Settings > Hotkeys. As you type, detected matches are highlighted, the current detected match is emphasized, and the bar shows the position and count among detected matches. Text siblings in blocks containing inline elements may not be detected.

  • Enter or the down arrow button jumps to the next match.
  • Shift+Enter or the up arrow button jumps to the previous match.
  • Esc closes the find bar and returns focus to the editor.

Navigation wraps around, and the document scrolls to keep the current detected match in view. Detected matches update live as you edit. While a progressively loaded note is still being indexed for a nonblank query, the bar shows Indexing....

Using the same current search shortcut on the scratchpad list, with no note open, focuses the list's search filter instead.

Finding and organizing notes

The scratchpad list supports search, status filtering, tag filtering, and sorting by update time or name. Active and archived scratchpads are grouped separately.

Tags are shared across the project's scratchpads and can be filtered from the toolbar.

Importing and exporting

Imported Markdown uses the first leading H1 as the scratchpad title when one is present. If the file has no leading title heading, Solo uses the file name without its extension as the scratchpad name.

When saving a scratchpad to a file, Solo writes a Markdown document with the title as a leading H1.

Scratchpad actions include copying a Solo link, copying Markdown, saving to a file, duplicating, moving to another project, and archiving.

Archiving hides a scratchpad from active lists without deleting it. Use the status filter to view archived notes.

Turning scratchpads off

Scratchpads are on by default. To hide them, turn off the Scratchpads switch in Settings > Features > Scratchpads. Solo then hides scratchpads everywhere, including the sidebar section, menus, command palette entries, and links, and keeps your scratchpads so they come back when you turn the switch on again.

While scratchpads are off, the scratchpad MCP tools, the HTTP API, and the solo CLI can't read or change them. They return an error that names the setting to turn back on.

Are you an agent? Read this doc via API: /api/v1/docs/scratchpads/using-scratchpads