Elyra · · 3 min read

Say How Hard to Think: Elyra 0.9.35

Elyra 0.9.35 adds /thinking — a command that sets the reasoning effort level directly, listing only the levels your current model actually supports.

Say How Hard to Think: Elyra 0.9.35

Some releases are about power. This one is about a dial — and the small satisfaction of turning it exactly where you want.

Why this release

Modern models don't just answer; they think first. How much they think is a knob — Anthropic calls it effort, others call it reasoning budget — and it's one of the most consequential settings you have. Crank it up and you get careful, multi-step reasoning on a thorny refactor. Turn it down and you get fast, cheap answers to questions that didn't need deliberation. Same model, wildly different cost and latency.

Elyra has always exposed this knob. You could cycle through levels with a keyboard shortcut, or dig into /settings. Both work. Neither is what you reach for when you're mid-flow and already know what you want: "give me high for this one." Cycling means tapping through off → minimal → low → medium → high and watching the footer. The settings menu means leaving your train of thought.

There should be a command. Now there is.

/thinking

Type it bare, and you get a selector — but not a generic one. It lists only the levels your current model actually supports, with the active one marked:

/thinking
  off        no extended thinking
→ low        light reasoning (current)
  medium     balanced reasoning
  high       thorough reasoning
  xhigh      maximum reasoning, slowest

A model that only offers three levels shows three. A model with no reasoning at all tells you so instead of offering a menu of things that won't do anything:

/thinking
✗ Gemini 3.1 Flash Lite does not support thinking.

Know what you want? Skip the menu:

/thinking high
Thinking level: high

The editor border shifts color to match, the footer updates, and the level sticks — including across model switches, where it's clamped to whatever the new model can do. Ask for something the model doesn't offer and you get told exactly what it does offer:

/thinking xhigh
✗ Unknown thinking level: "xhigh". Available for this model: off, low, medium, high

And because you shouldn't have to remember which levels exist, tab completion after /thinking offers only the valid ones for the model you're on.

A note on the word "valid"

That last detail is the whole design in miniature. The levels aren't a fixed list bolted onto the UI — they come from the registry entry for the model you're currently using. When Claude Fable 5.1 arrived with a new max effort tier, the selector learned about it without anyone touching the command. When a smaller model supports only off and low, that's all you'll see. The command asks the model, not a config file.

It's the same principle behind everything in Elyra's model handling: describe the capabilities once, in the registry, and let every feature read from there.

Also in this release

The registry kept pace with a busy fortnight:

  • Gemini 3.8 Flash — Google's flash line iterates fast; 3.8 lands on the direct API, Vertex, and the gateways (with a :batch sibling) at the same $0.75/$3.75

  • Claude Fable 5.1 :batch — the flagship at half price for unattended /goal runs

  • GLM 5.3 fast and promo variants on the Vercel gateway, Qwen 3.8 Max, Muse Spark 1.3, and DeepSeek V4 Flash Vision now on Fireworks and HuggingFace

Get it

elyra update

Then, next time a problem looks gnarly: /thinking high. And when it's a quick one: /thinking off. The dial is yours.