← AI Hacker Daily

Edition

07

picks

ts-rust's README prices the same port in two different currencies.

ts-rust's README prices the same port in two different currencies. The first is "over $400,000 in API priced tokens" spent on OpenAI models that never passed 84% compatibility. The second is what the Opus 5.5 rewrite actually used: about $24,047 at API prices, or "between 925% and 983%" of a $200 plan's weekly limits. The HN thread argued about which number is real, and that argument is today's theme. Agent work is now billed in several units at once: API dollars, subscription windows, output tokens, and the hours you spend reading what came back. Few of them are published in a form you can plan against. On Wednesday Anthropic shipped Claude Haiku 5.5 at a tenth of Haiku 4.5's price, but only below 100,000 tokens of prompt. Pacer estimates the per-model subscription weights Anthropic doesn't publish, from your own transcripts. Terse measures how many of Claude's output tokens were filler. Pinrail meters the last unit, your review attention, by making agents queue for it instead of scrolling past it. Each pick makes one of those units visible, which is the first step to spending less of it.

01

ts-rust — the TypeScript 7 compiler, checker and language server ported to Rust by agents, with the bill attached

ts-rust (MIT, 600 stars, 5,966 commits, repo created Wednesday, v0.1.0 the same day, 74 points and 124 comments on HN) is a port of Microsoft's Go-based TypeScript compiler, pinned to the 2026-09-29 TypeScript 7.1.0-dev revision. npm install -D tsc-rs then npx tsc-rs -p tsconfig.json; it takes tsc's options, and ships a language server and the Effect diagnostics built in. The README says all 181,711 ported Go tests pass, TanStack Query core and Hono produce diagnostics identical to Go's, and on 60 open-source projects type checking takes about half of Go's time. On the author's own T3 Code benchmark it took 7.25 s against 16.10 s for tsc 7, and 4.07 s for bun check.

The cost section is the part worth reading. Months of /goal loops on GPT-5.6 Sol and GPT-6 Astra wrote over 1.3 million lines of Rust and stalled near 84%. Opus 5.5 discarded that code, had a working v0 in 10 hours, and finished in two weeks. In the thread, commenters split on whether API-priced figures mean anything when the work ran on subscriptions; one called them like "boasting about how much on-demand $$ compute you used" on spot instances. A TypeScript team member noted that three such ports have appeared in the last week. The author's own warning sits above the install line: "I've never read a line of this code."

Reach for it if tsc 7 is still your slowest CI step, or you want a checker you can compile to WebAssembly. Delete the tsc --noEmit job that blocks every PR for a minute. Tradeoffs: nobody has read the code, including its author, and commenters doubt it will be maintained; it runs on Linux x64 and macOS arm64 only, with no Windows build; the README lists monorepo and tsc -b cases where its output differs from tsc; and bun check is faster on the author's own benchmark.

→ github.com/pingdotgg/ts-rustdiscussion ↗

02

Claude Haiku 5.5 — $0.10 per million input tokens, until the prompt passes 100,000

Claude Haiku 5.5 (claude-haiku-5-5, released Wednesday, 923 points and 437 comments on HN) is priced in two tiers. Prompts up to 100,000 tokens cost $0.10 per million input and $0.50 per million output; past that, $0.50 and $2.50. Haiku 4.5 was $1 and $5. Anthropic says prompts under the line were about 90% of requests to the previous Haiku, and calls the result "around 75% less to run" on average. It is the first Haiku with an adjustable effort setting, and Anthropic pitches it for summaries, compaction, classification and subagent work under Opus or Sonnet. On Anthropic's own table, Terminal-Bench 4.0 went from 0.0% to 39.2% (GPT-6 Luna 16.4%, Sonnet 5.5 70.6%), and OSWorld 2.1 from 15.7% to 72.4%. The same post halved Sonnet 5.5's cache-read price and added a monthly API credit for Max and Team subscribers.

The thread was mostly about the line. minimaxir called 100,000 tokens "an absurdly low cutoff" for agent work; others answered that subagent, compaction and classification calls rarely reach it. HarHarVeryFunny noted that the price matches GPT-6 Luna, the model behind Tuesday's Decisions API, and that both are still about 2.5 times Jev's $0.04. One commenter citing Artificial Analysis said Haiku's cost per task runs about three times Luna's at every effort level. Anthropic's own fine print adds that the new tokenizer "uses slightly more tokens per task."

Reach for it if you run summaries, triage or classification under 100,000 tokens and are still paying Haiku 4.5 prices. Delete the cheaper third-party model you added only because Haiku 4.5 cost too much for bulk work. Tradeoffs: once a prompt passes 100,000 tokens its rates go up fivefold, so long agent sessions lose most of the discount; the benchmark table is Anthropic's; the tokenizer change eats some of the saving; and on cost per task, commenters still favor Luna.

→ www.anthropic.com/claude-haiku-5-5discussion ↗

03

Pacer — a menu-bar forecast of whether your coding subscription lasts until the reset

Pacer (MIT, 11 stars, one author, repo created August 23, Show HN today) puts two rings in the macOS menu bar for the session and weekly windows of Claude Code, Codex, Cursor, Antigravity and other subscriptions, one tab per logged-in account. The rings don't show percent used. They show "speed," the projected percentage at reset if you keep working at this rate: green at 80 or below, amber to 100, a red disc above. Click it for one sentence of advice, such as reducing Fable or moving a share of Opus work to Sonnet. Install with brew install dkremsa/tap/pacer and brew services start pacer, which samples every 10 minutes. It needs macOS 13, Node 18 and the Xcode command-line tools.

The interesting part is a number Anthropic doesn't publish. The README says the company doesn't say how Opus, Sonnet and Fable count against subscription limits, so Pacer joins the official usage percentage with your local transcripts in ~/.claude/projects and fits per-model weights from your own data, including whether cache reads are discounted. Until it has enough samples, it falls back to API price ratios. It also reports what the same tokens would have cost at API prices over a day, week and 30 days, the same conversion ts-rust's author made. Everything lands in ~/.claude/pacer/status.json, which other tools can read.

Reach for it if you hit a weekly limit on a Thursday and want to know on Monday. Delete the /usage check you run between tasks. Tradeoffs: macOS only, from a single author with 11 stars; the fitted weights are estimates from your own sessions, not published rates; a commenter notes Claude's usage page already warns "At this pace you'll run out Saturday afternoon"; and another points out that work accounts often can't read per-user usage at all.

→ github.com/dkremsa/claude-pacerdiscussion ↗

04

Terse — a Claude Code plugin that cuts replies by half and measures what it cut

Terse (MIT, 30 stars, one author, created September 23, Show HN on Wednesday) is a set of writing rules for Claude Code that apply to replies, documents, commit messages and subagents. Install it from the Claude plugin directory or with /plugin marketplace add lowenbjer/claude-terse then /plugin install terse@terse. /terse:install-meter adds a 26-line context meter to the status line. The author wrote down "every thing it did that annoyed me" for a few weeks and turned the list into rules.

The README publishes its own numbers. On 12 prompts with Opus 5.5 at high effort, one run each, the median reply fell from 636 words to 181, and output tokens fell 45%. Style violations per 1,000 words, counted by an Opus 5 judge, dropped from 11.1 to 1.1, and metaphors and slogans dropped to zero. On a separate 20-prompt run against a real codebase, the author reports 46% fewer words and 51% lower cost on Fable 5.1. The README also notes that output tokens cost about five times what input tokens do on Opus and Fable, which is why shorter answers are cheaper as well as quicker to read.

Reach for it if you skim Claude Code's replies for the one line that answers your question. Delete the "be concise, no summaries" line in your CLAUDE.md that stops working after a few turns. Tradeoffs: the benchmark is the author's, one run per prompt, graded by another Claude model; one commenter argued that pushing for brevity can cost reasoning quality; another said Opus 5.5 is already short enough for them; and there are no independent numbers.

→ github.com/lowenbjer/claude-terse

05

Pinrail — a local inbox where coding agents wait for your decision

Pinrail (Apache-2.0, Rust core with Tauri and React, 27 stars, one contributor, v0.1.2 on Wednesday) is a desktop app for the steps where an agent should stop and ask. The agent runs pinrail submit code-review --title "..." --data findings.json --wait. The review appears in an inbox grouped by project, you accept or reject each item with a note, and the command prints your decision as Markdown, or JSON with --json, then exits. The exit code tells the agent how the review ended: decided, discarded with an instruction to stop, withdrawn or expired. It works with any agent that can run a command, including Claude Code, Codex, Cursor, OpenCode or a CI job, and setup installs a skill so the agent knows how to submit.

Each review type is a plugin made of a manifest, two JSON Schemas and an HTML view in a sandboxed iframe. It ships with plugins for lists, questions, code review, images and Markdown documents, and you can mark up an image by drawing a box on the part to change. The server binds to 127.0.0.1, reviews live in SQLite, and the author says there is no account and no telemetry. In the thread, someone asked whether an approval can go stale if the diff changes mid-review. The author said that's the agent's job: Pinrail doesn't know about your repo, so the agent has to resubmit or withdraw.

Reach for it if you approve agent drafts by scrolling back through a terminal. Delete the "reply yes to post these 12 comments" prompt. Tradeoffs: a single maintainer, pre-1.0, and the README promises rough edges; macOS and Linux only, with Windows planned; stale reviews are the agent's problem, not the app's; and the agent only asks at the steps your instructions name.

→ github.com/forgeplane/pinraildiscussion ↗

06

Also on the desk: OpenAI's GPT-6 and Intelligent UI (665 points on HN) has ChatGPT answers include visuals and interactive elements. It's a consumer feature, but Simon Willison noted in the thread that the API's chat-latest model now appears to serve a custom GPT-6 variant, so anything pinned to that alias changed on Wednesday.

→

07

Verification notes: star, license, creation, commit and release data are from the GitHub API on 2026-10-08; ts-rust's commit total uses the per_page=1 Link-header last-page count. HN points and comments are from the Algolia API. ts-rust's costs, model history, test count, benchmarks, platforms and known problems are from its README; the spot-instance, maintenance and three-ports comments are from HN item 50000676. Haiku 5.5's prices, 90% figure, effort setting, use cases, benchmark table, tokenizer note, Sonnet cache-read cut and Max/Team credit are from Anthropic's 2026-10-07 announcement; the cutoff, Luna, Jev and Artificial Analysis comments are from HN item 49996437. Pacer's rings, advice, weight fitting, cost view, install and status file are from its README; the usage-page and work-account comments are from HN item 50001750. Terse's install, meter and benchmark figures are from its README; the reasoning and Opus 5.5 comments are from HN item 49995809. Pinrail's command, exit codes, plugins and local storage are from its README and the author's Show HN post; the stale-diff exchange is from HN item 49995778. The OpenAI page returned 403 to our fetch; the chat-latest note is Willison's comment in HN item 49996425. Pipeline health: today's pool held 100 rows, against the ~280 the compose prompt assumes. github:trending returned 13 rows, and Reddit returned zero again, 152 days since its last nonzero day on May 9.

→

One of these,
every weekday.

Free. One-click unsubscribe in every email. No tracking pixels in the email.