From 703e1242772619fb891557bd2db78e65a7c772c5 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Tue, 11 Mar 2025 11:32:32 -0700 Subject: [PATCH] feat: Add `/think-tokens` command to set thinking token budget --- aider/commands.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/aider/commands.py b/aider/commands.py index b6ece0373..48020a402 100644 --- a/aider/commands.py +++ b/aider/commands.py @@ -1411,6 +1411,23 @@ class Commands: if user_input.strip(): self.io.set_placeholder(user_input.rstrip()) + def cmd_think_tokens(self, args): + "Set the thinking token budget (supports formats like 8096, 8k, 10.5k, 0.5M)" + if not args.strip(): + self.io.tool_error("Please specify a token budget (e.g., 8k, 10k, 0.5M).") + return + + value = args.strip() + model = self.coder.main_model + model.set_thinking_tokens(value) + + # Try to display the actual value that was set + if model.extra_params and "thinking" in model.extra_params: + budget = model.extra_params["thinking"].get("budget_tokens") + self.io.tool_output(f"Set thinking token budget to {budget:,} tokens.") + else: + self.io.tool_output(f"Set thinking token budget to {value}.") + def cmd_copy_context(self, args=None): """Copy the current chat context as markdown, suitable to paste into a web UI"""