LudeeD/clacker

2

stars

8

commits

Rust

primary language

Sep 1, 2026

updated

README

🪇 clacker

Browse Hacker News inside Claude Code.

If your company doesn't like you wasting the afternoon on Hacker News but doesn't mind you wasting it in Claude Code, then browse Hacker News in Claude Code. No tokens get spent, because there's no model. clacker runs a local server that impersonates the Anthropic API and answers every request itself with a match statement.

Browsing Hacker News inside Claude Code

Install

Requires Claude Code on your PATH, since clacker launches it for you.

git clone https://github.com/LudeeD/clacker
cd clacker
cargo install --path .

Use it

clacker

Claude Code opens. Talk to it normally:

SayGet
front pageTop stories (also new, best, ask, show, jobs)
3Read story 3 from the current list
comments 3That story's thread
moreNext page
search rust asyncSearch Hacker News
helpThe list above

3, the third one, and open the discussion on 3 all land in the same place. Anything that doesn't parse as a command becomes a search.

How it works

Four moving parts:

  1. A local server binds an ephemeral port and speaks the Anthropic Messages API: /v1/messages, streaming SSE frames and all.
  2. Claude Code launches with ANTHROPIC_BASE_URL pointed at that server, so every request goes to your loopback interface instead of Anthropic. ANTHROPIC_API_KEY gets stripped from the environment so nothing can leak out to the real API.
  3. The "model" is a pure function from transcript to reply. It reads what you typed, picks a tool, formats what comes back.
  4. The tools are real. clacker also runs as a stdio MCP server that Claude Code spawns itself (clacker mcp), fetching from the Hacker News Firebase and Algolia APIs. Those tool calls scrolling past in your transcript are genuinely dispatched by the harness. Nothing about them is decided by a model.

Your own MCP servers stay out of the session (--strict-mcp-config), and only the Hacker News tools are allowed. A Hacker News session has no business touching your codebase.

Other commands

clacker --harness claude   # pick a harness explicitly
clacker serve              # run just the fake API, for poking at with curl
clacker mcp                # the MCP server, if you want it standalone
CLACKER_DEBUG=1 clacker    # log unhandled requests

Roadmap

Right now clacker only speaks to Claude Code.

Other harnesses support comming

  • Codex, and the OpenAI wire format
  • Gemini CLI
  • opencode

Add other sites, or just a way to specify any site

License

MIT. See LICENSE.

Contributors

LudeeD

8 commits

LudeeD/clacker

2

stars

8

commits

Rust

primary language

Sep 1, 2026

updated

README

🪇 clacker

Browse Hacker News inside Claude Code.

If your company doesn't like you wasting the afternoon on Hacker News but doesn't mind you wasting it in Claude Code, then browse Hacker News in Claude Code. No tokens get spent, because there's no model. clacker runs a local server that impersonates the Anthropic API and answers every request itself with a match statement.

Browsing Hacker News inside Claude Code

Install

Requires Claude Code on your PATH, since clacker launches it for you.

git clone https://github.com/LudeeD/clacker
cd clacker
cargo install --path .

Use it

clacker

Claude Code opens. Talk to it normally:

SayGet
front pageTop stories (also new, best, ask, show, jobs)
3Read story 3 from the current list
comments 3That story's thread
moreNext page
search rust asyncSearch Hacker News
helpThe list above

3, the third one, and open the discussion on 3 all land in the same place. Anything that doesn't parse as a command becomes a search.

How it works

Four moving parts:

  1. A local server binds an ephemeral port and speaks the Anthropic Messages API: /v1/messages, streaming SSE frames and all.
  2. Claude Code launches with ANTHROPIC_BASE_URL pointed at that server, so every request goes to your loopback interface instead of Anthropic. ANTHROPIC_API_KEY gets stripped from the environment so nothing can leak out to the real API.
  3. The "model" is a pure function from transcript to reply. It reads what you typed, picks a tool, formats what comes back.
  4. The tools are real. clacker also runs as a stdio MCP server that Claude Code spawns itself (clacker mcp), fetching from the Hacker News Firebase and Algolia APIs. Those tool calls scrolling past in your transcript are genuinely dispatched by the harness. Nothing about them is decided by a model.

Your own MCP servers stay out of the session (--strict-mcp-config), and only the Hacker News tools are allowed. A Hacker News session has no business touching your codebase.

Other commands

clacker --harness claude   # pick a harness explicitly
clacker serve              # run just the fake API, for poking at with curl
clacker mcp                # the MCP server, if you want it standalone
CLACKER_DEBUG=1 clacker    # log unhandled requests

Roadmap

Right now clacker only speaks to Claude Code.

Other harnesses support comming

  • Codex, and the OpenAI wire format
  • Gemini CLI
  • opencode

Add other sites, or just a way to specify any site

License

MIT. See LICENSE.

Contributors

LudeeD

8 commits

Languages

Rust

100.0%