Daily operating patterns

Solo is built for days where you are carrying several projects, local services, terminals, and agents at once. Use the sidebar to see the state of your work, the command palette to jump quickly, and Activity monitor to investigate anything that starts consuming attention or resources.

This page describes practical loops for staying oriented during a busy day.

Start with a readable sidebar

Use projects as the top-level unit of attention. Each project groups work into Todos, Agents, Terminals, Commands, and Scratchpads. Keep the sections in the order that matches how you usually check the project: for example, Todos first when you plan from tasks, Agents first when you spend most of the day reviewing delegated work, or Commands first when the project is mostly service orchestration.

Collapse projects that are not active right now. Inside an active project, collapse sections you are not using. Solo keeps section order per project, so you can make a web app project put Commands near the top while an agent-heavy project puts Agents first.

When the sidebar gets noisy, use the sidebar filter to narrow by project, process, todo, or scratchpad name. Filtering is useful for finding one item; collapsing is better for making the whole day easier to scan.

Scan projects in passes

For many-project days, use short passes instead of opening every terminal:

  1. Check project rows for notification dots, auto-start state, and CPU or memory totals.
  2. Open only the project rows that need a decision.
  3. In each open project, scan section headers before individual rows. The running / total counts tell you where active work is concentrated.
  4. Use process rows for the details: status glyphs, unread dots, ports, subprocess counts, CPU, memory, and timer icons.

Treat the sidebar as a triage board. A stopped command with no unread signal can wait. A running process with a high CPU value, many subprocesses, a public port, or an unread dot deserves a closer look.

Jump instead of scrolling

Use the palette when you already know what you want:

Default shortcut Use it for
Cmd+K on macOS or Ctrl+K on Windows and Linux Running Solo actions across the app, with active-project actions preferred.
Cmd+P on macOS or Ctrl+P on Windows and Linux Acting on the current selection, such as the selected process or project.
Cmd+E on macOS or Ctrl+E on Windows and Linux Jumping to a destination across projects.
Cmd+Shift+E on macOS or Ctrl+Shift+E on Windows and Linux Jumping to unread or favorite process destinations.
Cmd+T on macOS or Ctrl+T on Windows and Linux Creating a new item in the active project.

These shortcuts are defaults. Each command can be remapped or disabled in Hotkeys, so use its current binding.

Use the current Quick jump binding when the question is "where is that thing?" Use the current Attention jump binding when the question is "what changed while I was away?" Attention jump includes supported process destinations that are unread or favorite, including favorites with no unread activity, so it works well after an agent run, a background terminal notification, or a long meeting.

Keyboard navigation also helps when your hands are already in the terminal. By default, Option+1 through Option+9 on macOS or Alt+1 through Alt+9 on Windows and Linux jump to the first nine visible projects. Cmd+1 through Cmd+9 on macOS or Ctrl+1 through Ctrl+9 on Windows and Linux jump to the first nine eligible visible processes in the active project; visible nested agents do not receive numbered assignments. By default, Option+A, Option+T, and Option+C on macOS or Alt+A, Alt+T, and Alt+C on Windows and Linux jump to the Agents, Terminals, and Commands sections. In the sidebar, Option+ArrowDown and Option+ArrowUp on macOS or Alt+ArrowDown and Alt+ArrowUp on Windows and Linux move between section headers and project headers. These commands can also be remapped or disabled, so use their current bindings.

Use notifications as an inbox

Unread dots are the lightweight inbox. A project row can show that one of its children needs attention; an individual row shows which process raised it. Use attention jump when you want to process unread work without manually scanning the full sidebar.

For a useful review loop:

  1. Open attention jump with its current binding (Cmd+Shift+E by default on macOS or Ctrl+Shift+E by default on Windows and Linux).
  2. Visit the oldest or highest-priority unread process.
  3. Read the latest output or summary, then decide whether it needs action, a restart, a follow-up prompt, or no response.
  4. Move to the next unread destination.

Native notifications, in-app toasts, bell-triggered alerts, and terminal notification escape sequences can all contribute to this attention flow depending on your settings and process notification levels. Keep noisy processes at a lower notification level and reserve "all" notifications for processes where interruption is useful.

Watch resource indicators, then investigate

The sidebar resource indicators are intentionally compact. Project rows can show aggregate CPU and memory for running processes. A running process row shows a port whenever Solo has discovered one; subprocess count, CPU, and memory appear only when they meet your configured thresholds.

Use the row indicators to decide where to investigate, then open Activity monitor from the command palette when you need details. Activity monitor is the cross-project view for managed commands, terminals, agents, and tracked subprocesses. It can show project, process name, command, PID, ports, CPU, memory, type, status, and parent process, with tree and flat views.

Good moments to open Activity monitor:

  • A project total is unexpectedly high.
  • A process row shows a large subprocess count.
  • You need to find which process owns a port.
  • A dev server or agent left a child process behind.
  • You want to kill a subprocess without stopping an entire project.

CPU values use per-core process percentages and can exceed 100% on multi-core machines. Memory is counted in bytes and formatted in the UI.

Use timers as review reminders

When agent timers are enabled and an agent has an active pending timer, Solo shows a small timer icon on that process row. The icon means there is scheduled follow-up associated with that agent session.

Timers are most useful for review loops: ask an agent to continue after a delay, wait for another process to become idle, or remind you to inspect a result later. When a timer fires, Solo delivers the timer message back into the relevant process. If you are composing in that process near the due time, Solo can defer delivery briefly so the reminder does not interrupt your input.

If you see a timer icon, do not treat the agent as forgotten work. It has a pending checkpoint. Use process context actions to set a timer or to fire or pause an active timer. To resume a paused timer or cancel a timer, use the timer indicator in the terminal.

Run a lead-agent review loop

For agent-heavy work, keep one lead agent responsible for the loop. Ask it to interview you, create or update the scratchpad, split work into todos, spawn workers through Solo MCP, and set idle wake-up timers so it resumes when a watched worker goes idle or the maximum-wait guard expires. That signal means only that the worker is quiet, or that the guard elapsed; the lead must inspect worker output and state before deciding whether the worker is ready for review.

Useful lead-agent prompts:

  • Keep the Agents section organized for this project. Spawn workers only for unblocked todos and keep their todo states current.
  • Set a Solo timer to wake you when any worker goes idle, then inspect that worker and update its todo.
  • Set a Solo timer to wake you when all current workers are idle, then summarize results and decide the next dispatch.
  • Use summaries for triage, but inspect actual worker output before marking a todo complete.

As the human, use the sidebar to supervise the lead and spot-check worker sessions when needed. The current Attention jump binding (Cmd+Shift+E by default on macOS or Ctrl+Shift+E by default on Windows and Linux) is useful for unread agent sessions, but the main loop should be driven by the lead agent's scratchpad, todos, blockers, and timers rather than by you repeatedly opening every worker.

This keeps the sidebar from turning into a flat list of chats. Agents remain attached to project state, and their outputs get reviewed alongside the todos, scratchpads, commands, and terminals they are supposed to affect.

End-of-day cleanup

Before you stop for the day, make one final pass:

  • Stop commands that should not run overnight.
  • Check Activity monitor for unexpected subprocesses or high resource use.
  • Clear unread notifications that no longer need action.
  • Leave timers only where a future review is intentional.
  • For work that will continue in another session or agent, leave a durable handoff.
  • Collapse projects that are no longer active so tomorrow starts with a smaller surface area.

The goal is not an empty Solo window. The goal is a workspace where every visible signal still means something.

Are you an agent? Read this doc via API: /api/v1/docs/workflows/daily-operating-patterns