May 29, 2026
Compile now, argue later
Show HN: Compile-time model-id validation with declared capability
A tiny coding trick sparks a big “cool, but who is this even for?” fight
TLDR: A developer released a tool that checks AI model names and features before code runs, aiming to stop mistakes early. The community reaction was split between “smart safeguard” and “super niche edge-case fix,” with extra side-eye over its bundled model list staying current.
A new Show HN project dropped with a very specific promise: catch the wrong AI model name before a program even runs. In plain English, it’s a safety check for developers using OpenRouter, a service that lets apps talk to lots of different AI models. If someone types the wrong model or asks for a feature that model can’t do, the tool throws an error immediately instead of letting the mistake sneak into production. For some readers, that was a neat little lifesaver. For others, it triggered the oldest internet reaction of all: “Okay… but why?”
That skeptical energy quickly became the main event. One commenter praised the idea as clever, but then landed the dagger: it only really shines if the model choice is locked in ahead of time, which they called “kind of niche.” Translation for non-coders: useful, yes, but maybe for a very narrow crowd. Another commenter jumped in with a practical reality check, pointing out that the system relies on a vendored list of models — basically a bundled snapshot stored in the project itself, not a live always-updated feed. That detail added a little “how future-proof is this really?” tension to the thread.
The vibe was classic Hacker News drama: half “beautiful nerd flex,” half “congratulations on solving a problem three people have.” Even without outright flaming, the comments had that deliciously dry tone where a compliment and a roast arrive in the same sentence. The result? A tiny utility turned into a mini debate over whether preventing obscure mistakes is genius engineering or just very fancy over-preparing.
Key Points
- •The article introduces `openrouter-toolkit` as a way to check OpenRouter model IDs at compile time.
- •Its `model_supports!` macro validates both a model identifier and required capabilities against a vendored OpenRouter index.
- •The macro expands to the model ID string when validation succeeds.
- •The article defines capability groups as `param::*`, `input::*`, and `output::*`, with examples for each.
- •The post demonstrates compile-time errors for both unknown capability names and capabilities not supported by a given model.