The "ultrathink" thing is pretty funny:
> We recommend using the word "think" to trigger extended thinking mode, which gives Claude additional computation time to evaluate alternatives more thoroughly. These specific phrases are mapped directly to increasing levels of thinking budget in the system: "think" < "think hard" < "think harder" < "ultrathink." Each level allocates progressively more thinking budget for Claude to use.
I had a poke around and it's not a feature of the Claude model, it's specific to Claude Code. There's a "megathink" option too - it uses code that looks like this:
let B = W.message.content.toLowerCase();
if (
B.includes("think harder") ||
B.includes("think intensely") ||
B.includes("think longer") ||
B.includes("think really hard") ||
B.includes("think super hard") ||
B.includes("think very hard") ||
B.includes("ultrathink")
)
return (
l1("tengu_thinking", { tokenCount: 31999, messageId: Z, provider: G }),
31999
);
if (
B.includes("think about it") ||
B.includes("think a lot") ||
B.includes("think deeply") ||
B.includes("think hard") ||
B.includes("think more") ||
B.includes("megathink")
)
return (
l1("tengu_thinking", { tokenCount: 1e4, messageId: Z, provider: G }), 1e4
);
Notes on how I found that here: https://simonwillison.net/2025/Apr/19/claude-code-best-pract...
Not gonna lie: the "ultrathink" keyword that Sonnet 3.7 with thinking tokens watches for gives me "doubleplusgood" vibes in a hilarious but horrifying way.
A little bit of the old ultrathink with the boys
Shot to everyone around a table, thinking furiously over their glasses of milk
At this point should we get our first knob/slider on a language model... THINK
..as if we're operating this machine as analog synth
If you use any of the more direct API sandbox/studio UIs, there are already various sliders, temperature (essentially randomness vs. predictability) being the most common.
The consumer-facing chatbot interfaces just hide all that because they're aiming for a non-technical audience.
I use a cheap MIDI controller in this manner - there is even native browser support. Great to get immediate feedback on parameter tweaks
Maybe a Turbo Think button that toggles between Ultrathink and Megathink.
There are already many such adjustable parameters such as temperature and top_k
That's awesome, and almost certainly an Unreal Tournament reference (when you chain enough kills in short time it moves through a progression that includes "megakill" and "ultrakill").
If they did, they left out the best one: "m-m-m-m-monsterkill"
Surely Anthropic could do a better job implementing dynamic thinking token budgets.
Ultrakill is from Quake :)
It is not. Quake had "Excellent" for two kills in short succession, but nothing else if you chained kills after that.
Meh, ok?
This fits my memory of it:
https://www.voicy.network/sounds/o_2r357a-kKEe5PaiWyYnA-quak...
Was it quake 2?
In aider, instead of “ultrathink” you would say:
Or, shorthand:What I don’t like about Claude Code is why can’t they give command line flags for this stuff? It’s better documented and people don’t have to discover this the hard way.
Similarly, I do miss an —add command line flag to manual specify the context (files) during the session. Right now I pretty much end up copy pasting the relative paths from VSCode and supply to Claude. Aider has much better semantics for such stuff.
Maybe I’m not getting this, but you can tab to autocomplete file paths.
You can use English or —add if you want to tell Claude to reference them.
Never knew about `tab` shortcut, thanks for letting me know!
BTW, as I was using it today, I was quite surprised to see `@` working now. Turns out in 0.27.5 they added this feature: https://github.com/anthropics/claude-code/blob/main/CHANGELO... :)
Waiting until I can tell it to use "galaxy brain".
Slightly shameless, but easier than typing a longer reply.
https://www.paritybits.me/think-toggles-are-dumb/
https://nilock.github.io/autothink/
LLMs with broad contextual capabilities shouldn't need to be guided in this manor. Claude can tell a trivial task from a complex one just as easily as I can, and should self-adjust, up to thresholds of compute spending, etc.
>LLMs with broad contextual capabilities shouldn't need to be guided in this manor.
I mean finding your way around a manor can be hard, it's easier in an apartment.
Weird code to have in a modern AI system!
Also 14 string scans seems a little inefficient!
14 checks through a string is entirely negligible relative to the amount of compute happening. Like a drop of water in the ocean.
Everybody says this all the time. But it compounds. And then our computers struggle with what should be basic websites.
“think hard with a vengeance”