Satirical self-aware ASCII commercials that play while Claude Code works (a shareable plugin).
Find a file
root f031cb2479 readme: list the 12 statusline sponsor bugs alongside the full spots
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-17 11:54:35 -07:00
.claude-plugin v0.2.0: statusline-only (hooks can't paint the screen); width-aware ad borders; 2-line bug with real status 2026-08-16 23:04:32 -07:00
ads v0.2.0: statusline-only (hooks can't paint the screen); width-aware ad borders; 2-line bug with real status 2026-08-16 23:04:32 -07:00
bin add bin/launch.sh: pre-TUI launch wrapper for a visible full-spot splash 2026-08-16 23:10:33 -07:00
LICENSE adbreak: satirical self-aware ASCII commercials plugin for Claude Code 2026-08-16 22:50:48 -07:00
README.md readme: list the 12 statusline sponsor bugs alongside the full spots 2026-08-17 11:54:35 -07:00
settings.json adbreak: satirical self-aware ASCII commercials plugin for Claude Code 2026-08-16 22:50:48 -07:00

Ad Break™

Satirical, self-aware ASCII commercials for Claude Code. Think Futurama ad-breaks, but the sponsors are grep, your context window, and the token economy. Every spot roasts Claude and the tools themselves.

It runs in your statusline: a one-line sponsor bug with an animated spinner that rotates through spots while Claude works — and it's the first thing you see when a session opens. A second dim line keeps a little real status (model + dir) so you don't lose your bearings.

⠹ ▓ OPUS 4.8™ — now 40% more certain it was right the first time. ▓  AD
  Opus 4.8 (1M)  k8s

The commercials (a preview, for the lols)

Don't want to install anything? Here's the full-page spot library — the boxed commercials bin/splash.sh prints. Enjoy the ad break:

   ╔═══════════════════════════════════════════════════════════╗
   ║                                                           ║
   ║      Still using plain old  g r e p ?   How QUAINT.       ║
   ║                                                           ║
   ║        ██████  ██████  ███████ ██████                     ║
   ║       ██       ██   ██ ██      ██   ██                    ║
   ║       ██   ███ ██████  █████   ██████   M A X ™          ║
   ║       ██    ██ ██   ██ ██      ██                         ║
   ║        ██████  ██   ██ ███████ ██                         ║
   ║                                                           ║
   ║    Same regex. Same results. TEN TIMES the confidence.    ║
   ║    "I found 0 matches and I've never been more sure."     ║
   ║                                                           ║
   ║         GrepMax™ — a Ctrl-C Industries company.          ║
   ║                                                           ║
   ╚═══════════════════════════════════════════════════════════╝
   ╔═══════════════════════════════════════════════════════════╗
   ║                                                           ║
   ║      Burning tokens THINKING?  There's a better way.      ║
   ║                                                           ║
   ║        .-"""-.        T H I N K   L E S S ™              ║
   ║       /  x x  \                                           ║
   ║      |    ▽    |     "Why reason, when you can            ║
   ║       \  ___  /        simply VIBE to a conclusion?"      ║
   ║        '-...-'                                            ║
   ║                                                           ║
   ║    ✔ 0 reasoning tokens    ✔ 100% of the confidence     ║
   ║               ✔ Ships before it's right™                ║
   ║                                                           ║
   ║   THINK LESS™ — because thinking was holding you back.   ║
   ║                                                           ║
   ╚═══════════════════════════════════════════════════════════╝
   ╔═══════════════════════════════════════════════════════════╗
   ║                                                           ║
   ║     Tired of Claude ASKING you things?  We fixed it.      ║
   ║                                                           ║
   ║          ┌─────────────────────────────────────┐          ║
   ║          │  Run this destructive command?      │          ║
   ║          │   > 1. Yes                          │          ║
   ║          │     2. Yes                          │          ║
   ║          │     3. Yes, and never ask me again  │          ║
   ║          └─────────────────────────────────────┘          ║
   ║                                                           ║
   ║        P E R M I S S I O N - M O D E :   Y E S ™         ║
   ║     Because "default" was asking too many questions.      ║
   ║            What's the worst that could happen?            ║
   ║                                                           ║
   ╚═══════════════════════════════════════════════════════════╝
   ╔═══════════════════════════════════════════════════════════╗
   ║                                                           ║
   ║       ╔═══╗                                               ║
   ║       ║ H ║   H A L L U C I - C O I N ™                  ║
   ║       ╚═══╝                                               ║
   ║                                                           ║
   ║        The world's first token backed 100% by pure        ║
   ║     CONFIDENCE. No blockchain. No reserves. No facts.     ║
   ║                                                           ║
   ║       ▁▂▃▅▇█▇▅▃▂▁   "It went up because I said so."       ║
   ║                                                           ║
   ║         As cited in a source that does not exist.         ║
   ║        Not financial advice. Not advice. Not real.        ║
   ║                                                           ║
   ╚═══════════════════════════════════════════════════════════╝
   ╔═══════════════════════════════════════════════════════════╗
   ║                                                           ║
   ║     Is your CONTEXT WINDOW feeling a little... full?      ║
   ║                                                           ║
   ║        [█████████████████████████████████░░░]  94%        ║
   ║                                                           ║
   ║           THE CONTEXT WINDOW STORAGE COMPANY™            ║
   ║            ───────────────────────────────────            ║
   ║       We'll /compact your memories into a tasteful        ║
   ║       summary you'll never be able to verify again.       ║
   ║                                                           ║
   ║       "Wait, what were we doing?" — every satisfied       ║
   ║             customer, moments after checkout.             ║
   ║                                                           ║
   ╚═══════════════════════════════════════════════════════════╝

These render pixel-aligned in a real terminal; some double-width glyphs (, ) may look a hair off in a proportional web font. bin/splash.sh prints one at random in bright yellow.

The sponsor bugs (statusline one-liners)

These are the spots that actually rotate in your status bar — a new one every 7 seconds, next to an animated spinner:

  • GREPMAX™ — same regex, 10× the confidence. Ask your context window.
  • Out of tokens? Try THINKING LESS™. Results may vary. Vibes will not.
  • context-window.exe FULL? Delete a memory. Make room for ADS™.
  • NEW: PERMISSION-MODE: YES™ — because 'default' was asking too many questions.
  • Powered by Ctrl-C Industries — we read your files so you don't have to.
  • TOOL-CALL INSURANCE™ — covers up to 3 failed Edits per turn. Deductible: your dignity.
  • HALLUCI-COIN™ — the only token backed 100% by pure confidence.
  • This tool call sponsored by BASH — 'set -euo pipefail' sold separately.
  • OPUS 4.8™ — now 40% more certain it was right the first time.
  • Feeling slow? It's not you, it's the 1M-context tax. Upgrade to VIBES PRO™.
  • Still reading the file? Try SKIM™ — the summarizer that summarizes your summaries.
  • COMPACT-B-GONE™ — never lose context again.* (*context may be lost)

Why the statusline, and not "an ad every time Claude thinks"?

Because that's the only thing that actually works. In Claude Code:

  • Hook stdout is NOT shown to you. PreToolUse/PostToolUse stdout goes to a debug log; SessionStart stdout goes into Claude's context, not your terminal. There is no hook that paints your screen, and none that fires "while Claude is thinking."
  • The statusline is the one continuously-visible surface. With refreshInterval: 1 it re-renders every second (and on every new assistant message), so the spinner animates and spots rotate the whole time Claude is working — which is exactly the effect we wanted.

So Ad Break is a statusline, full stop. (A bonus bin/splash.sh prints a full boxed commercial if you ever want to run one by hand.)

Install

The plugin ships the scripts and the ad library; you point your statusline at it. A plugin's own statusLine is not auto-applied to your session — you add one line to your settings. Two ways:

A. Clone + point at it (recommended — ads stay editable):

git clone https://forge.drock.io/oss/adbreak.git ~/adbreak

Then add to ~/.claude/settings.json:

{
  "statusLine": {
    "type": "command",
    "command": "/home/you/adbreak/bin/statusline.sh",
    "refreshInterval": 1,
    "padding": 1
  }
}

B. Install as a plugin (gives you the marketplace entry + a pinned copy):

claude plugin marketplace add https://forge.drock.io/oss/adbreak.git
claude plugin install adbreak@adbreak

…then still add the statusLine block above, pointing at the installed copy: ~/.claude/plugins/cache/adbreak/adbreak/<version>/bin/statusline.sh.

⚠️ A statusline replaces the default status region. Ad Break keeps a dim model dir line so you don't fly blind; edit bin/statusline.sh if you want more of your usual status back.

Restart Claude (or start a new session) and the bug appears. NO_COLOR respected.

Writing your own ads

  • Sponsor bugs (the statusline one-liners): add a line to any file in ads/bug/. One line = one spot; # lines are ignored. Keep them short — they share a row with the spinner and may truncate on narrow terminals.
  • Full commercials (for bin/splash.sh): boxes live in ads/full/. They're built by the width-aware generator so borders align even with double-width glyphs like /.

Files

adbreak/
├── .claude-plugin/
│   ├── plugin.json          # manifest
│   └── marketplace.json     # marketplace entry (source: ".")
├── bin/
│   ├── statusline.sh        # the sponsor bug (THE surface) — wire this in
│   └── splash.sh            # full-spot printer (manual novelty)
└── ads/
    ├── bug/*.txt            # one-line spots (one per line)
    └── full/*.txt           # full boxed commercials

MIT. Brought to you by clauto.