Skip to content
gravityXXPublic

About

A prompt queue for Claude Code. Queue prompts, ideas and comments while Claude works, without interrupting it, and send them once it finishes or whenever you are ready.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

aside

aside is a prompt queue for Claude Code. Queue prompts, ideas and comments while Claude works, without interrupting it, and send them once it finishes or whenever you are ready.

CI Version License: Apache-2.0

While Claude works on your task, your ideas and comments go to a queue instead of to Claude. When it is done you answer it as usual, and /aside plan hands the queue over as steps, which Claude sums up after the last one. While Claude works on your task, your ideas and comments go to a queue instead of to Claude. When it is done you answer it as usual, and /aside plan hands the queue over as steps, which Claude sums up after the last one.

How it works

1. Note it while Claude works

To comment on something, copy it first (Ctrl+C or ⌘+C), from anywhere: VS Code, a terminal, a web page. Then start a message with +, or end one with it. It goes to the queue, not to Claude. No paste needed: aside takes whatever is on your clipboard.

Copy a sentence from a markdown preview with Ctrl+C, then type +? and a question in Claude Code: the comment is queued, pinned to docs/report.md line 42 with the copied sentence. The marks: + idea, +? question, +! change, +- drop, ++ dig deeper. Copy a sentence from a markdown preview with Ctrl+C, then type +? and a question in Claude Code: the comment is queued, pinned to docs/report.md line 42 with the copied sentence. The marks: + idea, +? question, +! change, +- drop, ++ dig deeper.

Note

What you type in a hurry is tidied as it is queued: spelling, punctuation, wording. What you copied stays exactly as copied. To keep entries as typed, set tidy to off in /config. The other settings are under Settings.

2. Answer Claude as usual

Your reply goes to Claude. By default the queue just waits, in a line above the prompt. Its list button opens a pane with the queue, the tags in files and the plan, and plan to organize them. Beside it, run plan shows while the plan has steps left, continue while a step waits for you or a run is paused, and stop while a step runs. /aside opens the same pane while Claude works.

Claude asks whether to update the docs. Above the prompt, the queue line shows 1 idea and 4 comments with a list button. You answer as usual; the queue keeps waiting. Claude asks whether to update the docs. Above the prompt, the queue line shows 1 idea and 4 comments with a list button. You answer as usual; the queue keeps waiting.

3. Look at it when ready

Nothing reaches Claude until you say so. /aside shows the queue in a frame, and /aside pop N puts one entry in the prompt box, ready to send.

/aside shows the list in a frame, 1 idea and 1 comment with its file, line and quote; /aside pop 2 puts entry 2 in the prompt box. /aside shows the list in a frame, 1 idea and 1 comment with its file, line and quote; /aside pop 2 puts entry 2 in the prompt box.

4. Plan and run

/aside plan has Claude turn the queue into steps, shown in a frame. Anything unclear goes back to the queue with Claude's question. While a step runs, it adds the queue as new steps after the plan's own and leaves those as they are: Claude organizes it once the step ends and the run waits for continue, or with planModel on a model, at once while the run goes on.

/aside run sends one step at a time, each ending with a one-line result. A step that needs you waits for your answer: answer as usual, and Claude goes on with that step for as many turns as it takes, then press continue to end it and run the next. After the last step, Claude sums the run up.

/aside plan has Claude save the queue as steps and /aside run sends them one after another. Above the prompt: step 2 of 3 running, with list and stop buttons. The plan shows step 1 done with its result under it, step 2 running and step 3 to do; after the last step Claude ends with a summary of the run. /aside plan has Claude save the queue as steps and /aside run sends them one after another. Above the prompt: step 2 of 3 running, with list and stop buttons. The plan shows step 1 done with its result under it, step 2 running and step 3 to do; after the last step Claude ends with a summary of the run.

Every situation aside handles, with diagrams of how it works, is in docs/use-cases.md.

Install

/plugin marketplace add gravityXX/aside
/plugin install aside@aside

Requires Claude Code 2.1.301 or newer, whose plugin API is still in early access. If /aside is an unknown command, sign in again with /login.

  • Terminal on Linux, macOS, Windows and WSL: everything.
  • Remote Control from a phone or the web: + entries are queued; the list shows in the terminal.
  • Desktop: once its built-in Claude Code reaches 2.1.301; add entries with /aside TEXT.
  • Not yet: cloud sessions, Desktop sessions inside WSL, and drawing in VS Code.

Commands

/aside                 show the queue and the plan
/aside plan            have Claude turn the queue into steps, or add them to a running plan
/aside run             run the plan step by step, or the queue entry by entry
/aside run 3 1         run only those steps, or those entries
/aside run all         send the queue as is, no plan
/aside continue        end the step that waits for you and go on
/aside stop            stop after the current step

/aside TEXT            queue TEXT, as + would
/aside pop [N]         put the newest entry, or entry N, in the prompt box
/aside edit N          rework entry N and queue it again
/aside move N M        move entry N to place M
/aside remove N ...    remove one entry, or several
/aside clear           empty the queue
/aside undo            bring back what the last clear, or an unanswered plan or run, took
/aside scan FILE       read the tags of a file Claude did not write
/aside export [FILE]   save the list as Markdown, to aside.md or FILE
/aside help            list every command
+g TEXT                put an idea on the global list, which belongs to no project
read it later +g       the whole draft, onto the global list
/aside g               show the global list
/aside g here N ...    move ideas N of the global list to the end of this queue
/aside g add N ...     move ideas N of this queue, numbered as /aside shows them, to the global list
/aside g remove N ...  remove from the global list; g edit N, g pop [N] and g move N M as for the queue
/aside g clear         empty the global list; /aside g undo brings back what it took

+@work TEXT            put an idea in the queue named work, made by its first idea
read it later +@work   the whole draft, into the queue work
/aside q               show the global list and every named queue, with its count and newest idea
/aside q work          show the queue work; the commands of /aside g work on it, as in /aside q work here 1
/aside q work clear    empty it, or with rename X move it all to the queue X, merged with any ideas there

The global list and the named queues wait in every project: the line above the prompt counts them, as in 1 global, 2 @work, /aside leaves them out, and plan and run take only this queue, so /aside g here or /aside q work here brings an idea in first. The global list is the queue named global, so +@global is +g. Several sessions can add to them at once. /aside undo does not bring back what left them; a queue's own undo brings back what its last clear took.

N is a number as /aside shows it, and [N] may be left out. FILE is one word ending in .md. While Claude works, /aside opens the list in a pane. Tab completes every command.

Other ways to comment
why is this so slow +?           the whole draft, as a question
+? why did this fail             nothing copied: the last tool output, an error first
+? @docs/report.md:42 why        line 42 of that file
+! @report.md#results shorter    the Results heading
+- #appendix                     a heading in a file Claude wrote this session
<!-- ? why -->                   a tag in a markdown file

In a tag, ! is a change, - a drop and + dig deeper. Tags count in markdown files Claude wrote or edited this session; /aside scan FILE adds any other. In fullscreen mode, lines you select in Claude's reply count as copied.

Settings

Change these in /config:

  • afterClaudeAnswers: wait (default), plan or run all. What aside does once Claude answers.
  • planModel: session (default), sonnet, haiku or opus. Who organizes the queue on /aside plan: Claude in this conversation, knowing the work so far, or one call to that model outside it, which adds nothing to the conversation and runs while Claude works, but sees only the queue.
  • order: oldest (default) or newest. Which entry comes first in the list and in a run.
  • tidy: on (default) or off. Whether a small model fixes the spelling and wording of what you type.

More

Important

The queue stays on your machine, one per project, beside the global list and the named queues for ideas that belong to no project. Nothing reaches Claude's conversation until you run /aside plan or /aside run, or afterClaudeAnswers does. With tidy on, the text you type goes to Haiku to be corrected; what you copied never does. With planModel on a model, /aside plan sends the queue to that model in place of the conversation.

What aside reads, runs and sends
  • Keeps the queue, the plan and what /aside undo brings back, one set per project, and the global list and the named queues, shared by all projects, in Claude Code's store for the plugin (~/.claude/plugins/store/). It writes a file only when you run /aside export, and never over one it did not write.
  • Reads <!-- ? --> tags in markdown files Claude wrote or edited this session, or that you /aside scan; for a comment, the clipboard, the lines you selected in Claude's reply, the last tool output and the project's markdown files; the project's git branch.
  • Runs a clipboard reader (powershell.exe on WSL and Windows, pbpaste on macOS, wl-paste, xclip or xsel on Linux), git rev-parse --abbrev-ref HEAD, and grep -rlizP over the project's markdown files.
  • Sends the entries to Claude only on /aside plan, /aside run or afterClaudeAnswers, with what you copied, and to the model planModel names instead on /aside plan; while tidy is on, the text you typed goes to Haiku through Claude Code, never what you copied.

aside opens no network connection of its own and installs nothing.

Contributing

Found a bug or have an idea? Open an issue and say what you did, what you expected and what happened, with your Claude Code version (claude --version) and your system.

To change something yourself, fork the repository, work on a branch and open a pull request. CONTRIBUTING.md shows how to run and test the plugin from your copy, and docs/guidelines.md how the code is laid out, written and reviewed. A pull request needs a passing CI run and the maintainer's review before it is merged.

Support

aside is free, and I put time and effort into it. If it saves you time, star the repository so others can find it, or sponsor its development and more useful skills to come.

Thank you to everyone who reports a problem, suggests an idea or sends a fix. Enjoy your queue.


LICENSE · CHANGELOG · CONTRIBUTING · SPONSOR

About

A prompt queue for Claude Code. Queue prompts, ideas and comments while Claude works, without interrupting it, and send them once it finishes or whenever you are ready.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages