Select and stash
Select any text in the terminal — one sentence, one list item, a tool result — press Cmd+C, then type !q "your comment". It goes into a buffer and shows you what it caught.
Your terminal can select text, but it can't quote it. Quoth adds the move every forum has had for twenty years: highlight a passage, comment on it, and reply to that — not to the whole wall of output. Stack up as many quotes as you want, then send them in one message. It runs inside Claude Code, and it's free.
select a line · Cmd+C
$ !q "is that true for tmux too?"
┌ quote 1
│ A terminal sees an undifferentiated
│ byte stream.
↳ is that true for tmux too?
└ 1 pending · !ql list · /q send
$ !q "this is the part I want"
┌ quote 2
│ OSC 133 gives semantic command blocks
↳ this is the part I want
└ 2 pending · !ql list · /q send
$ /q
⏺ Answering both, in order…
How it works
Select any text in the terminal — one sentence, one list item, a tool result — press Cmd+C, then type !q "your comment". It goes into a buffer and shows you what it caught.
Keep going. Every !q adds another quote-and-comment pair. !ql lists what is pending, !qd undoes the last one. Screenshots work too — copy an image and it is quoted as an image.
Type /q. Every quote and its comment arrive as one message, numbered and separated, and the agent answers each one in turn. The buffer empties itself.
Install
Python 3 is the only requirement, and macOS already ships it. The
installer puts four tiny commands on your PATH and writes the
/q slash command into ~/.claude/commands. It
tells you exactly what it touched, and --uninstall
reverses every bit of it.
git clone https://github.com/jaal/quoth && python3 quoth/install.py
Then, in any Claude Code session: select some text, press
Cmd+C, and type !q "what about this?".
That's the whole learning curve.
!q "comment" — quote whatever is on the clipboard!ql — list what's pending!qd — drop the last one!qc — clear the stack/q — send every pending quote as one message/q your reply — add an overall remark on top/q on an empty stack quotes the clipboard directlyThe questions everyone asks
A small tool that gives a terminal agent session the one thing forums have had for twenty years: the ability to reply to a specific passage rather than to the whole message. It is about 300 lines of Python with no dependencies, plus two slash commands.
A terminal sees an undifferentiated stream of bytes. It can select a rectangle of text, but it has no idea that the region was "the third paragraph of the answer", so there is nothing to attach a reply to. Quoth sidesteps that entirely by going through the clipboard instead of trying to parse the screen.
No. !q, !ql, !qd and !qc run through Claude Code's ! bash mode, which executes a command without asking the model anything. You only spend a turn when you send with /q. That is the whole reason the buffer exists.
macOS today, and that is the honest answer — the clipboard layer uses pbpaste and AppleScript. Linux support (xclip and wl-clipboard) is next and is a small change. Windows is planned but untested, so it is not claimed as working.
Partly. Codex reads custom prompts, so single-quote replies work there. It has no equivalent of ! bash mode, so you do not get free stacking — every stash would cost a turn, which defeats the point.
Nowhere. Quoth reads your clipboard, writes to a file under your home directory, and prints text into your own terminal. There is no server, no account, no telemetry. Quoted screenshots are saved locally and deleted after a week.
One small thing
It's free and it stays free. No pressure — but if it earned a place in your workflow, a star costs you nothing and genuinely makes my week.