Documentation

Solus Reference

Everything you need to know — keybindings, plans, diff review, Review Companion, automations, tasks, voice input, connections, and settings.

Updated June 27, 2026

Overview

Solus is a native macOS floating overlay for AI coding assistants. It lives at the bottom of your screen and is accessible from any app via a global shortcut — no terminal switching, no context loss.

  • Multi-tab sessions. Run independent agent sessions side by side, each with its own working directory and permission mode.
  • Plan mode. Review your agent's plan before it executes. Annotate with inline comments, then approve or reject. Pin or save plans for later reference and browse revision history when the plan changes.
  • Diff panel. Review every file your agent touched in a side panel. Navigate between files, leave line-level comments, and send annotated feedback back in one click.
  • Review companion. A second agent reviews your branch's changes and writes an inline report — grouped findings you can click to jump straight to the relevant hunk in the diff.
  • Works. Generated documents and slides are saved as Works. Open the gallery to search, edit, copy, or delete them later.
  • Design Mode. Take a screenshot, draw rectangles, arrows, pins, and text annotations on it, then send the annotated image directly to your agent — no screenshots app needed.
  • Voice input. Dictate prompts hands-free with local Whisper transcription — audio never leaves your machine.
  • Automations. Save a prompt and run it on a schedule — daily, weekly, on an interval, or a raw cron expression — or trigger it on demand. Agents can create automations for you too.
  • Tasks. Track project work from local tasks or GitHub Issues. Start a session from a task so the agent receives the ticket context and Solus can link the work back to that task.
  • File & screenshot attachments. Attach files or screenshots directly in the input bar.
  • Session history. Resume past sessions or pick up where you left off.
  • Remote connections. Connect to your Solus desktop instance from any browser on your network — pair once and work from your phone, tablet, or another computer.
  • Rate limit queueing. Automatically wait out rate limits and re-send without losing your prompt.

Keybindings

Global

These work system-wide, even when Solus is hidden.

ShortcutAction
⌥SpaceToggle window
⌘⇧KToggle window (alternative)

General

ShortcutAction
⌥⇧,Open settings
⌥LFocus input
⌥⇧QToggle quick actions
⌥⇧`Open terminal
⌥⇧CCommit and push
⌥⇧.Sync (pull)

Tabs

ShortcutAction
⌘TNew tab
⌥FFork session
⌥⇧WClose current tab
⌥⇧NNext tab
⌥⇧PPrevious tab

View

ShortcutAction
⌥⇧EToggle editor / pill mode
⌥⇧DToggle diff panel (editor mode)
⌥MToggle project panel (editor mode)
⌥⇧LOpen plans gallery
⌥⇧;Open Works gallery
⌥BToggle sidebar
⌥⇧UCycle sidebar view
⌥⇧=Expand / collapse input
⌥HScroll to top

Compose

ShortcutAction
⌥⇧OSelect working directory
⌥⇧AAttach file
⌥⇧STake screenshot
⌥⇧IDesign annotation mode
⌥⇧FOpen all changed files in editor

Agent

ShortcutAction
⌥⇧TabCycle permission mode (Ask → Auto → Plan)
⌥⇧MCycle AI model
⌥⇧GCycle agent
⌥⇧ZOpen model / reasoning menu

Navigation

ShortcutAction
⌥⇧R / ⌥⇧JToggle session history picker

Voice

ShortcutAction
⌥⇧KToggle mic recording

Voice Mode (continuous, hands-free) is enabled in Settings → Input.

Automations

Open the Automations page with ⌥⇧V. These shortcuts are active while it's open.

ShortcutAction
⌥⇧VOpen / close automations
⌥NNew automation
EscBack to list / close

Tasks

Open the Tasks page with ⌥⇧T. These shortcuts are active while it's open.

ShortcutAction
⌥⇧TOpen / close tasks
↑ / ↓Move between task cards
EscBack to list / clear selection / close

Git

ShortcutAction
⌥⇧BToggle worktree mode
⌥⇧HSwitch worktree
⌥⇧YOpen worktree in terminal

Input & menus

ShortcutAction
EnterSend message
⇧EnterNew line
↑ / ↓Navigate prompt history (cursor at start of input)
@ or ~/ ./ ../Open file autocomplete
↑ / ↓ (file menu)Navigate files
Tab or Enter (file menu)Select file
Escape (file menu)Close file menu
/Open slash command menu
↑ / ↓ (slash menu)Navigate commands
Tab (slash menu)Select command
Escape (slash menu)Close slash menu
⌘Enter / Ctrl+Enter (plan)Save inline comment
Escape (plan comment)Cancel comment

Plan modal

These shortcuts are active while a plan is open.

ShortcutAction
⌥SSave / done editing
⌥CCopy plan to clipboard
⌥BSave for later (bookmark)
⌥MToggle comments
⌘MComment on selection
⌥OOpen session (preview mode)
⌥YApprove (ask mode)
⌥AApprove (auto mode)
⌥RReject
⌥VReject with feedback
⌥LFocus comment field
EscClose

Plans gallery

These shortcuts are active while the plans gallery is open (⌥⇧L).

ShortcutAction
⌥⇧LOpen / close gallery
/ (slash)Focus search
↑ / ↓ / ← / →Navigate plans
EnterOpen plan
⇧EnterResume session from plan
⌥BToggle bookmark
EscClose

Diff panel

These shortcuts are active while the diff panel is open.

ShortcutAction
⌥⇧DToggle diff panel
⌥MMaximize / restore panel
⌥⇧→Next turn
⌥⇧←Previous turn
⌥⇧FNext file
⌥⇧BPrevious file
⌥FSearch files
⌥⇧PToggle full paths
⌥TToggle file tree
⌥⇧VToggle split / unified view
⌥⇧CStart comment on current line
⌥⇧]Next comment
⌥⇧[Previous comment
⌥⇧/Toggle shortcuts legend
⌥⇧↵Send diff feedback to session
⌘↵ / Ctrl↵Send feedback from feedback box
⌘⇧↵ / Ctrl⇧↵Send feedback to a new session from feedback box
EscClose panel / clear selection

Works

Works are long-form artifacts created by your agents, including documents and slide drafts. When an assistant returns a fenced document artifact, Solus extracts it from the chat, saves it to disk, and shows it as an editable Work instead of leaving a long Markdown block in the conversation.

  • Open the gallery. Press ⌥⇧; or click Folio in the sidebar to search every saved Work.
  • Edit in place. Open a Work to make changes in the Document Editor. Saving updates the stored Work and preserves the conversation reference.
  • Copy or reuse. Use ⌥C while a Work is open to copy its Markdown content back to the clipboard.
  • Storage. Works are stored locally under your Solus data directory, with a manifest plus one content file per Work.
  • Supported types. Documents are fully editable today. Slide artifacts are tracked as Works so they can be surfaced and expanded by the app.

Works gallery

These shortcuts are active while the Works gallery is open (⌥⇧;).

ShortcutAction
⌥⇧;Open / close gallery
/ (slash)Focus search
↑ / ↓Navigate Works
EnterOpen selected Work
⌥BackspaceDelete selected Work
EscClose

Work modal

These shortcuts are active while a Work is open.

ShortcutAction
⌥SSave
⌥CCopy to clipboard
EscClose

Document Editor

The Document Editor is a rich-text Markdown editor for writing structured prompts, plans, and notes. It renders Markdown natively and syncs bidirectionally with raw Markdown — toggle between views using the Markdown button in the top-right corner of the editor.

Formatting toolbar

Select any text to reveal an inline bubble menu with the following actions:

BoldItalicStrikethroughInline codeLinkH1H2H3Bullet listNumbered listBlockquote

Slash commands

Type / at the start of a line to open the block-type menu. Continue typing to filter.

ShortcutAction
/textPlain paragraph
/h1 · /h2 · /h3Heading levels
/bulletBullet list
/numberedNumbered list
/taskTask / checklist list
/quoteBlockquote
/codeSyntax-highlighted code block
/tableInsert a 3×3 table
/dividerHorizontal rule

Editor shortcuts

These shortcuts are active when focus is inside the Document Editor.

ShortcutAction
⌥⇧SToggle strikethrough
⌥⇧KInsert / remove hyperlink

Working with Plans

Plan mode is a permission workflow where your agent drafts a full plan before taking any action. Use it when you want to review and guide its approach before it touches your code.

  • Enable by selecting Plan as the permission mode on a tab, or press ⌥⇧Tab to cycle through modes.
  • When your agent is ready, it opens a full-screen plan view rendered as Markdown.
  • Inline comments. Select any text in the plan to attach a comment to that specific section. Comments are included when you approve.
  • General feedback. Add a top-level comment that applies to the whole plan.
  • Approve. Choose whether your agent should continue in Ask or Auto mode, then confirm. It proceeds with your feedback incorporated.
  • Reject. The agent stops — redirect it with a new prompt.
  • Pin. Pin a plan to keep it at the top of the plans gallery for quick reference.
  • Save for later. Bookmark a plan without pinning it — useful for plans you want to revisit.
  • Revisions. When your agent updates a plan, previous versions are preserved. Use the revision dropdown in the plan view to compare or revert.
  • Any model. Plans work with every model, not just those that natively support plan mode. Solus handles the orchestration so you can review and approve plans regardless of which AI model powers the session.

Plans are written to disk as Markdown files so you can reference them later. Open the plans gallery with ⌥⇧L to search and browse all plans across sessions.

Diff Panel

The diff panel shows every file your agent has touched in the current session. Open it with ⌥⇧D (editor mode) to review changes file by file, leave line-level comments, and send consolidated feedback back without switching context.

How it works

  • Open the panel. Press ⌥⇧D in editor mode, or click the diff button in the editor toolbar.
  • Navigate files. Use ⌥⇧F and ⌥⇧B to step through each changed file, search files with ⌥F, or click a file in the file list.
  • Filter by turn. Select a specific turn in the conversation, or press ⌥⇧→ and ⌥⇧← to move through turns.
  • Leave comments. Press ⌥⇧C to start an inline comment on the current line. Comments are attached to the specific file and line range.
  • Send feedback. Add a general comment in the feedback box and press ⌥⇧↵ from anywhere in the panel, or ⌘↵ while focused in the feedback box.

See the Keybindings → Diff panel section for the full list of shortcuts.

Review Companion

The Review Companion turns a second agent loose on your branch. It reviews everything that changed — commits on the branch, uncommitted edits, and untracked files — and writes an inline report of grouped findings. Each finding links directly to the relevant hunk, so a click jumps you to that file and line in the diff. It's a fast second opinion before you commit or open a PR.

How to use it

  • Open the project panel. In editor mode, open the project panel with ⌥M and find the Git section.
  • Generate a review. Click Review changes. The review agent analyzes the branch diff and builds the report — this runs in the background while you keep working.
  • Open the report. Once it's ready the button becomes View report. Click it to open the companion in the main pane.
  • Jump to a finding. Click any finding in the report to focus that exact file and line in the diff / preview pane alongside it.
  • Regenerate. After more changes, use the refresh button in the companion header (or Review changes again) to produce an up-to-date report.

Choose which agent and model write the review under Settings → Review companion. By default it follows your active agent and that agent's default model.

Design Mode

Design Mode lets you take a screenshot of any window, annotate it with drawing tools, and send the annotated image directly to your agent — all without leaving Solus. It's the fastest way to describe a UI bug, highlight a layout issue, or point your agent at exactly what needs changing.

How to use it

  • Trigger a screenshot. Press ⌥⇧S or click the camera icon in the input bar. Solus captures the active window and opens the annotation overlay full-screen.
  • Annotate. Use the left-side toolbar to draw on the screenshot. Confirm when done — the annotated image is added as an attachment in the input bar.
  • Send to agent. Add any additional context in the input bar and press Enter. Your agent receives both the annotated screenshot and your message.

Annotation tools

ShortcutAction
1 · RectangleDraw a box to highlight a region. Drag from corner to corner.
2 · ArrowDraw a directed arrow pointing at a specific element.
3 · MarkerDrop a numbered pin. Each pin auto-increments so you can refer to them by number in your message.
4 · TextClick anywhere to place a text label directly on the screenshot.
5 · EraserClick the annotation nearest your cursor to remove it.

Keyboard shortcuts (annotation overlay)

ShortcutAction
1 – 5Switch tool
UUndo last annotation
RRedo
⌘Z / Ctrl ZUndo
⌘⇧Z / Ctrl YRedo
⌘↩ / EnterConfirm and attach annotated image
EscapeCancel and discard

The annotated image is composited at full screenshot resolution before being sent — annotations are baked into the image your agent receives.

Voice Input: Mic vs Voice Mode

Solus has two voice input modes. Both transcribe locally using Whisper — audio never leaves your machine.

Mic · manual

Press ⌥⇧K or click the mic icon to start. Press again to stop — or just pause for 2 seconds and recording ends automatically. Transcript is inserted for review before sending.

Voice Mode · continuous

Enable in Settings → Input. Window open → record → silence → send → agent replies → record again. Hands-free loop. Hidden window cancels recording.

Automations

An automation is a saved prompt that runs on a schedule or on demand. Use it for recurring work — a daily TODO sweep, a nightly dependency check, a weekly changelog draft — and let the agent do it unattended. Open the Automations page with ⌥⇧V or the Automations entry in the sidebar; press ⌥N to create one.

What each automation captures

  • Prompt. The instruction submitted to the agent on every run.
  • Agent & model. Which CLI agent runs it (Claude or Codex), the model, and the reasoning effort. Each run executes headless in Auto permission mode.
  • Working directory. The project directory the run executes in — defaults to your active project.
  • Max turns. An optional cap on how many turns a single run may take, as a guardrail.
  • Enabled / paused. Toggle an automation on or off without deleting it. Paused automations never fire on schedule.

Triggers

ShortcutAction
ManualNo schedule — runs only when you click Run now or an agent triggers it.
OnceRun a single time at a specific date and time.
IntervalRun every N minutes, hours, or days.
DailyRun every day at a set time.
WeeklyRun on a chosen weekday at a set time.
MonthlyRun on a chosen day of the month at a set time.
CronA raw 5-field cron expression (minute hour day-of-month month day-of-week) with an IANA timezone.

Scheduled triggers fire only while Solus is open — they don't run in the background when the app is quit.

Running & history

  • Run now. Trigger any enabled automation immediately to test it, regardless of its schedule.
  • Run history. Each automation keeps a log of past runs with status (running, succeeded, failed), tool-call count, and output or error.
  • Open a run. Open a completed run as a full session to inspect exactly what the agent did.
  • Created by agents. Agents can create, edit, and trigger automations for you with their built-in automation tools. Agent-created automations are tagged in the list.

Tasks

Tasks are project-scoped tickets you can browse, create, and start agent sessions from without leaving Solus. Open the Tasks page with ⌥⇧T, from the command palette, or from the task glance on the home screen.

Providers

  • Local. The built-in local task list stores tasks per project on your Mac. It supports tasks, epics, sub-tasks, priority, due dates, comments, PR links, and deletes with undo.
  • GitHub Issues. Projects can read and update GitHub Issues from their repository remote. Create issues, change status, post comments, and open the source ticket from Solus.
  • Project settings. Choose the provider per project in Settings. If a GitHub-backed project needs authentication, the Tasks page offers a direct connection prompt.

Working from a task

  • List or board. Use the dense list for grouped tasks and local epics, or switch to the board view to move tasks between Open, In progress, and Done.
  • Search and sort. Filter by status, search across task text, scope to work assigned to you, and sort by recent updates, priority, or due date.
  • Start a session. Start from any task to open a new tab in that project with the task attached. The first message includes the hydrated ticket context for the agent.
  • Resume work. When a session is linked to a task, the task card shows a back-link so you can jump back into the most recent session for that task.
  • Capture outcomes. Task details can track the branch and PR that came out of the work, so the ticket stays connected to the implementation.

See the Keybindings → Tasks section for task navigation shortcuts.

Opening Changed Files

Whenever your agent edits or writes a file, a diff preview appears inline in the conversation. If you have a default editor configured in Settings, an Open button appears on each tool result — click it to jump directly to that file in your editor.

To open every file changed in the current session at once, press ⌥⇧F.

Supported editors (auto-detected at launch): VS Code, vim, nvim, helix. Set your preferred editor in Settings.

Rate Limit Queueing

When your AI coding assistant hits an API rate limit, Solus handles it so you don't lose your work. Four behaviors are available, configurable globally in Settings or per-tab at any time:

Ask (default). A card appears prompting you to choose how to handle the limit.
Queue. Silently waits for the rate limit to reset, then re-sends your message automatically.
Continue. Lets your agent proceed with what it has so far, without waiting for the limit to reset.
Stop. Discards the queued message and halts the current task.

The global default is set in Settings under Rate limit behavior. Individual tabs can override this independently.

Connections & Web UI

The Solus desktop app doubles as a local server that serves a full web interface. Any browser on your network — phone, tablet, or another computer — can connect and interact with your desktop agent in real time. A one-time pairing step issues a session token; after that, subsequent visits reconnect automatically.

How it works

When Solus is running it listens on port 3000 by default (override with the SOLUS_PORT env var). The web UI is served at that address — navigate to it from any device on your network and you'll see the pairing screen on the first visit.

http://<your-mac-ip>:3000  ·  e.g. http://192.168.1.42:3000

The exact addresses Solus is reachable from are listed in Settings → Connections — including localhost, LAN, and any Tailscale / VPN addresses.

Step 1 — Generate a pair code (desktop)

  • Open Connections. Go to Settings → Connections in the Solus desktop app.
  • Generate a pair code. Click Generate pair code. A 6-digit code appears alongside a set of pairing links — one per network interface the server is reachable from. Codes expire after 5 minutes.
  • Share with the device. Copy a pairing link and send it to the device (AirDrop, Messages, etc.), or have the 6-digit code ready for manual entry.

Step 2 — Connect from the browser

Navigate to the Solus server address in your browser. On the first visit you'll see the pairing screen. There are two ways to pair:

Pairing link

Paste the full pairing link copied from the desktop app. The server address and one-time token are extracted from the URL automatically — no manual typing needed.

Manual setup

Switch to the Manual setup tab, enter the server address (e.g. 192.168.1.42:3000) and the 6-digit pair code shown in the desktop app.

Either way, you can optionally set a device name — it defaults to your browser and OS (e.g. "Safari on macOS") and appears in the desktop app's connected-devices list so you know what's connected.

After pairing, the browser receives a long-lived session token that is stored locally. On every subsequent visit the web app reconnects automatically — no re-pairing needed unless you revoke the device from the desktop app.

Reconnection & reliability

The web UI maintains a WebSocket connection to the desktop server and retries automatically if it drops — waking from sleep, switching networks, or a momentary blip all recover without any manual action. A connection status indicator appears while reconnecting.

Managing devices

  • Connected devices. The desktop Connections panel shows every paired device with its label and last-connected time.
  • Revoke access. Click the revoke button next to a device to invalidate its session token immediately. The browser is disconnected and must re-pair to reconnect.
  • Multiple servers. The web app remembers every server you've paired with. On subsequent visits, choose from your saved server list or add another one. Hit the ✕ on a server to remove it.

Network & security

  • Local only. All traffic between the browser and Solus travels over your local network — nothing is routed through external servers.
  • Session tokens. Each paired device holds a unique session token. Revoking one device has no effect on any other.
  • Tailscale / VPN. Solus advertises all reachable addresses, including Tailscale IPs. Use a Tailscale pairing link to securely reach your desktop from outside your LAN.
  • Loopback (same machine). Navigating to http://localhost:3000 in a browser on the same Mac connects without pairing in development mode. In production builds, the normal pairing flow applies even on loopback.

Settings

Open Settings with ⌥⇧,. All preferences are stored locally on your machine.

Display

Editor mode Switch between the full-width editor layout and the compact pill overlay. The editor layout is designed for focused sessions, while pill mode stays out of the way for multitasking. Toggle with ⌥⇧E.
Dark theme Toggle between light and dark appearance. Applies immediately across all UI surfaces.
Font size Adjust the base font size (in pixels) for messages and code blocks. Use the stepper or type a value directly. Minimum is 8px.

Agent & workflow

Default agent Choose which CLI agent to use for new sessions. Solus auto-detects installed agents and disables unavailable ones.
Rate limit behavior Global default for how Solus handles API rate limits. Options: Ask (prompt each time), Queue (wait and retry automatically), Continue (proceed without waiting), or Stop (halt the task). Individual tabs can override this.
Git worktrees When enabled, new sessions automatically run in an isolated git worktree so your working branch stays clean. Changes are merged back when the session completes.

Review companion

Review agent Which CLI agent reviews your branch for the Review Companion. Defaults to your active agent.
Review model The model the review agent uses. Defaults to that agent's default model.

Input

Voice mode Enable continuous hands-free voice input. When active, Solus records after each agent reply and auto-sends on silence. Transcription runs locally via Whisper — audio never leaves your machine.

Tools

Default editor The editor launched when opening changed files. Auto-detected from your system — supports VS Code, vim, nvim, and helix.
Default terminal Terminal app used when launching terminal-based editors. Supports the system default terminal and Ghostty.

Notifications

Notification sound Play an audio chime when a response arrives while the Solus window is hidden. Useful for long-running tasks where you switch to another app.

Settings are persisted to disk and apply immediately — no restart required.