pro-vi / cc-stretch
git clone https://github.com/pro-vi/cc-stretch.git
v0.5.2 · today
Stretchtext replies for Claude Code: short by default, each phrase grows in place when you click it
—
stars, 24h
+397
stars, 7 days · #148
+397
stars, 30 days · #682
397
★ total · +397% this week
22
forks · 6 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageTypeScript
LicenseMIT
Created2026-10-14 (6d ago)
Last pushtoday
Watchers0
OwnerUser
Links
README excerpt
# cc-stretch **Claude writes a lot. Now you can read a little.** Replies arrive short. Click a linked phrase and it grows right where it stands. Click `«` and it shrinks back. Claude is told which parts you opened, so it doesn't assume you read the rest. ## Install In a Claude Code session: [code] In the terminal, clicks need Claude Code's fullscreen renderer. `/tui fullscreen` switches to it, restarting and resuming your session. If stretches still show open, see Limits. In the Claude desktop app stretches are links: click one to open it in place, click `«` to close it. No setting needed. To update, run `claude plugin update cc-stretch@cc-stretch` in a shell, or open `/plugin`, find cc-stretch under Installed and choose Update now. As of Claude Code 2.1.302 a plugin from this marketplace updates on its own only once you turn on auto-update for the marketplace in `/plugin`'s Marketplaces tab. ## What to expect You read about a sixth of what Claude writes. Across 69 real replies from four of my coding projects, the version you see before clicking was 17% of the words Claude wrote without the plugin. It carries about two of every three most important points; the rest is one click away. My replies run long, so if yours are short you will save less. How this was measured, and how to run it on your own transcripts: `bench/`. ## A silly plugin about a serious idea In 1967 Ted Nelson described **stretchtext**: text that "stretches, becoming longer, with replacement phrases, new details and additional clauses popping into place", and shrinks back on demand, while "the reader remains oriented" (*Hypertext Note 8*). In 1970 he put it like this: "Gaps appear between phrases; new words and phrases pop into the gaps, an item at a time." It never caught on. The hard part, as later writers put it, was "how to author the text in the first place" (Wadge and schraefel, 1999): someone had to write every level by hand. Language models write every level for free, and they are good at it. So all this plugin does is plug a 59-year-old idea into a terminal. The idea is Nelson's. Most of the code is Claude's. I mostly clicked things. Here is what that looks like. The reply opens with > A monad is a type that wraps values and lets you chain steps that each return a wrapped value. and one click on that sentence turns it into this (new words in bold, the way *Dream Machines* appears to set the words Nelson's own example adds): > **In programming,** a monad is a **generic** type that wraps values, **and it** lets you chain > steps that each **take a plain value and** return a wrapped value**, without unwrapping anything > by hand between the steps.** The words you already read never move. New ones open up around them, on both sides. ## Three words - **skim**: a reply with every stretch closed. What you read by default. - **full**: the same reply with every stretch open. Everything Claude wrote. - **read**: what you actually read, the skim plus the stretches you opened. The