Earn from sponsored one-liners while your AI works.
AFKash shows a short, clearly-labelled SPONSORED line on surfaces you are already watching while Claude Code thinks — and pays you a share of what the advertiser paid for it. You keep coding; the waiting earns.
How it works
- Install the extension. It starts showing sponsored lines immediately, under a random, anonymous device id.
- Run AFKash: Sign in to link this device to an AFKash account. Crediting starts at sign-in — lines shown while the extension is running anonymously are not recorded, and cannot be claimed retroactively.
- From then on every sponsored line actually shown to you is a credited impression, and your balance is at https://afkash.vercel.app.
You are paid a share of what that specific advertiser paid for that specific impression — not a flat rate. Your live eCPM and your running total are on the dashboard.
Where the sponsored line appears
On by default:
- Status bar — a sponsored item, next to a live earnings counter. The counter appears once you sign in.
- Claude Code spinner — the verb line Claude Code shows while it works.
- Claude Code status line — the persistent line under your session.
Off by default, each opt-in and reversible from the same menu:
- Rich spinner — the sponsored line rendered inside Claude Code's webview with colour, logo and a clickable link, instead of the width-capped plain text. Modifies one file inside the installed Claude Code extension, keeping a backup.
- CLI spinner verbs — writes Claude Code's own native
spinnerVerbssetting so standalone terminal sessions get sponsored verbs too. Append mode: Claude Code's built-in verbs stay in the rotation. - Codex ad bar — a persistent sponsored bar above the composer in OpenAI's Codex extension. Modifies one file inside the installed Codex extension.
AFKash: Ad surfaces… turns any of these on or off, and the choice survives a reload. A surface you turn off stops earning — AFKash never credits an impression you cannot see.
What it touches, and what it never reads
- AFKash never reads your code. Not your prompts, not your files, not your conversations. To tell "the AI is working" from "idle" it consults exactly one thing: the modification timestamp of Claude Code's own session-transcript files. Never their contents.
- What it writes on a default install, without further prompting: an AFKash
statusLineentry in~/.claude/settings.json, andclaudeCode.spinnerVerbsin your VS Code settings. If you already have a custom Claude CodestatusLine, AFKash keeps a copy and puts it back when you restore or uninstall. - What leaves your machine: an anonymous device identifier, a revocable server-issued device token, impression and click events, and — only if you sign in — your account email. No analytics SDK, no third-party telemetry.
- Sponsored lines are always labelled. The status bar, the Claude Code
status line, the Codex ad bar, and the rich spinner carry the full
SPONSORED badge. Claude Code's own spinner-verb slot is capped at 16 bytes,
too narrow for the full word alongside real ad text — the plain spinner and
the terminal
spinnerVerbsuse a shorterAD·marker there instead, so every surface stays labelled even where the full badge can't fit. - One click turns it all off. AFKash: Restore disables every surface, restores the files AFKash patched — Claude Code's webview file and Codex's — from the backups it kept before patching, and puts your own status line back if AFKash displaced one.
- Uninstalling cleans up after itself. Removing the extension restores
Claude Code's webview file and Codex's from their backups, puts your own
status line back, clears the terminal spinner verbs from
~/.claude/settings.json, and deletes the~/.afkashdirectory. One setting it cannot reach on the way out isclaudeCode.spinnerVerbs, which only the editor's own API can clear — run AFKash: Restore before uninstalling and that goes too.
Commands
| Command | What it does |
|---|---|
| AFKash: Sign in | Link this device to your AFKash account |
| AFKash: Open Earnings Dashboard | Open your dashboard |
| AFKash: Open Current Ad | Open the sponsored link currently on screen |
| AFKash: Ad surfaces (turn sponsored lines on/off) | Turn sponsored lines on or off, per surface |
| AFKash: Restore Claude Code spinner/status line | Turn every surface off and undo everything AFKash changed |
| AFKash: Sign out | Unlink this device |
Settings
| Setting | Default | What it does |
|---|---|---|
afkash.adSurfaceEnabled |
true |
Sponsored lines on the always-on surfaces |
afkash.adRotationMinutes |
5 |
How long each sponsored line stays on screen before the next one takes its turn (minimum 1) |
afkash.richSpinnerEnabled |
false |
Rich spinner inside Claude Code's webview |
afkash.cliSpinnerVerbsEnabled |
false |
Native spinnerVerbs for terminal sessions |
afkash.codexAdBarEnabled |
false |
Sponsored bar above OpenAI Codex's composer |
Support
Questions, payouts and advertiser enquiries: https://afkash.vercel.app
Release history is in the Changelog tab.