Skip to content
| Marketplace
Sign in
Visual Studio Code>Linters>AI TODO Hunter — Resolve TODOs & FIXMEs with OpenRouterNew to Visual Studio Code? Get it now.
AI TODO Hunter — Resolve TODOs & FIXMEs with OpenRouter

AI TODO Hunter — Resolve TODOs & FIXMEs with OpenRouter

Ciro Cesar Maciel

|
15 installs
| (1) | Free
AI agent that resolves TODO and FIXME comments. Scans the workspace, lists every hit, writes the implementation. Any model on OpenRouter — GPT-5, Claude Sonnet, Gemini, DeepSeek. Pay-per-token.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

AI TODO Hunter — Resolve TODOs & FIXMEs with AI in VS Code, Cursor and VSCodium

Every TODO, FIXME, XXX and HACK in your workspace, in one list. Click one, and a model writes the fix. You read it before it lands.

Built by Ciro Cesar Maciel — because every codebase I touch has a layer of TODOs nobody goes back to.

ciromaciel.click Marketplace version Marketplace installs Open VSX version Open VSX downloads 350+ models via OpenRouter

VS Code with the TODO Hunter side bar listing seven TODO, FIXME, HACK and XXX comments grouped by file, next to a TypeScript cart totals file with a FIXME about empty carts, and 7 TODOs in the status bar


Every codebase I touch has a layer of // TODO: refactor later and // FIXME: this breaks for empty arrays that nobody ever goes back to. They are small, they are specific, and they are exactly the kind of work a model does well. What was missing was a way to see them all and say "yes, do that one."

I didn't want another chat. I wanted a list, a button, and a diff.

TODO Hunter scans your workspace, lists every TODO by file, and sends only the code around the one you pick to the model you choose on OpenRouter. Nothing changes in your file until you click Apply.


See it in action

A FIXME in a cart, one click on the sparkle, and the model's answer waits for you: Apply, Show diff or Cancel.

The FIXME 'handle empty cart' selected in the TODO Hunter side bar, and a notification asking 'TODO Hunter: replace src/cart/totals.ts lines 1–25?' with Apply, Show diff and Cancel buttons

Show diff opens the proposed change side by side with your code. Here, Claude Sonnet 4.6 removed the FIXME and guarded the guest cart.

VS Code diff editor titled 'TODO Hunter — proposed change for src/cart/totals.ts': the FIXME comment and cart.lines.reduce are removed on the left, const lines = cart.lines ?? [] and lines.reduce are added on the right

After Apply, save and a rescan, the FIXME is gone from the code and from the list: src/cart/totals.ts no longer appears.

The cart totals file after applying the fix, with the TODO Hunter side bar no longer listing src/cart/totals.ts

The real output, before and after:

// Before
export function computeTotals(cart: Cart): CartTotals {
  // FIXME: handle empty cart (lines is undefined for guest carts)
  const subtotal = cart.lines.reduce((sum, line) => sum + lineTotal(line), 0);
// After (anthropic/claude-sonnet-4.6)
export function computeTotals(cart: Cart): CartTotals {
  const lines = cart.lines ?? [];
  const subtotal = lines.reduce((sum, line) => sum + lineTotal(line), 0);

Why this one?

  • Finds them all. TODO, FIXME, XXX and HACK after //, #, --, ;, /* or <!--, case-insensitive. Globs and tags are yours to change.
  • A list, grouped by file. Each file shows its count, each item its line. Click to jump. The status bar keeps the total.
  • One click to resolve. The sparkle on a list item sends the surrounding code to the model and comes back with an implementation.
  • You approve every change. Apply, Show diff or Cancel. Nothing touches your file before you choose.
  • Works at the cursor too. Right-click a TODO line in the editor → Resolve TODO at Cursor with AI.
  • Only what's needed leaves your machine. Scanning is local. Resolving sends the lines around that one TODO (60 by default), nothing else.
  • Bring your own model. Any of the 350+ models on OpenRouter, pay per token, no subscription.

How it compares

AI TODO Hunter Todo Tree TODO Highlight Better Comments
Lists every TODO in a side bar Yes Yes No No
Highlights tags in the editor No Yes Yes Yes
Writes the implementation with AI Yes No No No
Diff preview before changing code Yes — — —
Any model, pay per token Yes: OpenRouter — — —
Works in Cursor, VSCodium (Open VSX) Yes Yes Yes Yes

They work well together: keep Todo Tree or Better Comments for highlighting, and use TODO Hunter to actually close the TODOs.

From each extension's public listing, September 2026. Something changed? Tell me at ciromaciel.click.


Setup

  1. Install AI TODO Hunter from the Extensions view.
  2. Get an OpenRouter API key (sk-or-...). Pay per token, no subscription.
  3. Run TODO Hunter: Set OpenRouter API Key, or just resolve a TODO: it asks for the key the first time.
  4. Optional: TODO Hunter: Select Model shows the live OpenRouter list with context size and prices. The default is Claude Sonnet 4.6, because TODOs usually need real reasoning.

Use it

  1. Open the TODO Hunter icon in the activity bar. The workspace is scanned on startup; the refresh button rescans.
  2. Hover a TODO and click the sparkle, or right-click a TODO line in the editor → Resolve TODO at Cursor with AI.
  3. Choose Apply, Show diff or Cancel.
Command What it does
TODO Hunter: Scan Workspace for TODOs Rescans every file matching includeGlobs
TODO Hunter: Resolve TODO with AI Resolves the TODO selected in the side bar
TODO Hunter: Resolve TODO at Cursor with AI Resolves the TODO on the current line
TODO Hunter: Select Model Picks an OpenRouter model from the live list
TODO Hunter: Set OpenRouter API Key Prompts for your key

Configuration

Setting Default What it does
todoHunter.openRouterApiKey — Your sk-or-... key.
todoHunter.model anthropic/claude-sonnet-4.6 Any OpenRouter slug.
todoHunter.includeGlobs common code and doc extensions Files to scan.
todoHunter.excludeGlobs node_modules, dist, build, … Folders to skip.
todoHunter.tags ["TODO","FIXME","XXX","HACK"] Tags to track, case-insensitive.
todoHunter.contextLines 60 Surrounding lines sent to the model.

Recommended models: Claude Sonnet 4.6 (default), GPT-5.1 Codex, Gemini 3.5 Flash for trivial TODOs, DeepSeek V3.2 for the cheapest runs.


FAQ

What is sent to the model? Only the code around the TODO you chose (contextLines, 60 by default), and only when you click resolve. It goes to OpenRouter and then to the provider behind the model you picked. Scanning is local.

Will it change my files without asking? No. Every change waits for Apply. Show diff lets you read it first.

What if the TODO is vague? The model is told to pick the most likely intent from the surrounding code, and to return the code unchanged when it can't resolve it safely. You still see it before it lands.

Does it work in Cursor and VSCodium? Yes. It is published on the VS Code Marketplace and on Open VSX.


About me

I'm a developer building tools I want to use. More of my stuff at ciromaciel.click.

If this closed a TODO older than your last job, send it to your team.


Proprietary — see LICENSE.


Keywords: todo, fixme, todo tree, todo list, todo highlight, hack, xxx, technical debt, ai refactor, resolve todo, ai agent, code comments, openrouter, claude, gpt, gemini, deepseek, copilot alternative, cursor, vscodium.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft