Toshiya Matsumoto built a Claude Code plugin that asks Jev to classify each prompt, then selects a model and reasoning effort from a local table. The implementation is straightforward. The author’s follow-up reports show why the surrounding conversation and cache behavior matter.

Keep classification and routing separate

The published request sends the current prompt as state, with descriptions for tiers from micro through max. Local code maps those tiers to Haiku, Sonnet, Opus or Fable.

  • The plugin reads answers.tier.choice and ignores returned confidence and usage.
  • A failed call or unknown tier leaves the current request unchanged.
  • A Haiku route moves to Sonnet when context exceeds the author’s 150,000-token cutoff.

The cutoff is a routing rule, not a measured optimum. A valid tier supplies no guarantee that the selected model can complete the work.

“Go ahead” can mean executing the difficult plan

In the English cross-post’s discussion, a reader proposed planning a migration on Opus, then sending “ok, go ahead.”

The author confirmed that it landed in micro, which routes to Haiku. The current message looks simple while the work it authorizes depends on a demanding prior plan.

Preserving the conversation for Claude leaves this problem intact if the router sees only the latest message.

Model switching changes the cost calculation

In the original Zenn discussion, Matsumoto reports that main-session input tokens roughly doubled over one day. He attributes the increase to switching models and suggests routing at session creation or handing work to subagents instead.

Claude Code’s caching documentation confirms the mechanism: each model has its own cache, and switching models makes the next request process the conversation without cache hits.

That supports the failure mechanism, while the size of the reported increase remains a single-user observation. Compare full-session cost and completed-task quality before treating cheaper-model routing as a saving.

Caveat: this capture reviews the published snippets and author reports; no plugin run, live Jev call or token-cost reproduction was performed.