Risks raised in meetings, from your Risk flags and, for groups with “Add to Risk Log” on, auto-extracted from transcripts. Approve them on the meeting.
Closed (0)
Decisions settled in meetings, from your Decision flags and, for groups with “Add to Decision Log” on, auto-extracted from transcripts. Approve them on the meeting.
Closed (0)
Cross-team dependencies (from → to) raised in meetings, from your Dependency flags and, for groups with “Add to Dependency Log” on, auto-extracted from transcripts. Approve them on the meeting.
Closed (0)
Ask about anything from your meetings, knowledge base, or tracked risks/actions/dependencies - answers are grounded in your own content, with sources cited.
Try: "What did we decide about the budget last quarter?" or "What risks are open right now?"
Action items from meetings, added automatically for groups with “Add to Action Log” on, or via a flag during recording. Check one off once it's done.
Completed (0)
One prep sheet per group, sorted by its next standing meeting - each pulls in the last meeting's recap plus anything relevant discussed elsewhere, ready to send before the meeting.
Default Group
Settings for meetings that aren't assigned to any group ("No Group"). Same options as a real group, minus scheduling and invitees.
Knowledge Base Categories
Standing knowledge bases (e.g. "Role & Team Onboarding") or group-owned ones (e.g. "Testing & QA Process"). Check a category on a group above to have that group's meetings feed it.
Live RADD
Risks
Action Items
Decisions
Dependencies
Usage
Everything spent today (UTC day, resets 7 PM Central) by every project on every vendor, against that vendor's own limit. Pick one or more projects to narrow it down; the lighter bar is all projects, the solid bar is your selection. Which accounts exist and what they do is on the Admin tab.
At a glance
What is using it, by purpose and then by project
One row per purpose with its total, then each project under it. Columns are the vendors, in their own units (tokens, neurons, rows, requests, audio seconds), with the share of the daily limit where one exists.
More detail: storage, audio relay, dev tool models, errors
Loading...
Automation & Processing
How meetings get turned into Knowledge Base entries, action items, risks, dependencies and the enhanced recap - what runs on a schedule, what you can trigger by hand, and what each one touches. This page is a static reference; it is kept in sync with the code by hand.
Last updated 2026-09-13: saving/uploading a Teams Summary now fires a full reprocess (was just an instant H/F/T text merge before) - added its row to the "Site actions that start a run immediately" table below. Also: the plain-language summary box below, and the Ask (AI Q&A Bot) indexing section further down (event-driven, not part of either schedule above).
What happens to a new meeting, in plain terms
- It has to land in Google Drive first - either Fireflies uploads it automatically, or you Submit a Live Transcribe recording.
- Every 10 minutes, a free check (no AI) scans for new meetings and registers them on the site.
- Once it's ready - both Fireflies and phone recordings matched up, or 10+ minutes have passed with no match - that same check fires the real AI work right away: Knowledge Base, action items, risks, dependencies, the polished recap, and reviewing any flags you made during recording. This is the one step that uses your Claude subscription.
- The instant that recap is written, the Ask tab's search index updates itself automatically - separate from the steps above, free, and instant (runs on the Oracle search server, not tied to any schedule).
Don't want to wait? Click "Reprocess" on that one meeting to run step 3 immediately. The full technical breakdown of every schedule, button, and edge case is below.
Two schedules
1. The cloud routine (“Hummingbird Meeting Sync”) runs
on cron 0 11 * * 1-5, which is
6:00 AM US Central, Monday to Friday, once a day.
It does the full synthesis pass (Knowledge Base, action items, recap, risks, dependencies,
flag review) and draws on the Claude plan subscription, not billed API usage. Weekends it
does not run.
2. A worker cron runs
*/10 * * * *, which is
every 10 minutes, every day. No AI, nothing billed. It scans
Google Drive for new or changed files and runs meeting pairing. If a meeting just paired (its
Fireflies and Hummingbird recordings both confirmed present), it fires the cloud routine
immediately. Otherwise it waits - see the 10-minute rule below.
Business Hours (2026-09-09, Admin tab): the worker cron's unattended firing above only happens inside the hours configured there (off/24-7 by default). It never touches anything YOU trigger directly (Submit, Reprocess, approving a flag, the manual buttons below) or the separate 6 AM daily cloud routine.
Rule (2026-09-08): a new meeting is never processed the instant its first recording lands. The routine only fires right away once BOTH the Fireflies export and the Hummingbird recording are confirmed uploaded to Google Drive (pairing succeeds). If only one side has landed, the worker cron waits until the meeting has sat unprocessed for at least 10 minutes before generating anything, giving the other side time to arrive - this replaced firing instantly the moment any file synced, which once generated a summary from only the Fireflies (or only the Hummingbird) side of a meeting before its pair had finished uploading. If you don't want to wait, use “Reprocess” on the meeting to run it right now with whatever has landed so far.
Which manual action should I use?
- Nothing, usually. The 10-minute worker cron already pulls in new meetings and fires a run. Only reach for a button when you are impatient or re-running.
- “Run File Sync” (top nav). Checks Google Drive for new files right now and adds them to the list. Does not process them by itself. Cheap. The only reason to click it is to skip the up-to-10-minute wait for the cron.
- “Reprocess” (on one meeting). Rebuilds that one meeting's KB, action items and recap. The right tool when a single meeting looks wrong.
- “Refresh Groups” (Groups & Categories tab). Re-applies name / invitee / title changes across the groups you tick (or all groups if none are ticked). Use it after you edit a group's roster.
- “Refresh Everything” (top nav). Google Drive sync, then works through every pending item of every type across all groups and history. This starts a full cloud routine run and uses real Claude plan usage, so treat it as a break-glass button, not a routine click. If one meeting is wrong, use “Reprocess” on it instead.
What a processing run does, in order
- Google Drive sync - reads the
/Firefliesfolders on Google Drive for new or changed summary / transcript files and registers them as meetings → Meetings tab - Knowledge Base - writes each new meeting’s content into its group’s KB → Knowledge Base tab
- Action items - extracts action items → Action Items tab
- Enhanced recap - the Claude-synthesised summary on each meeting → Meetings tab (meeting detail)
- Flag / note review - turns in-recording flags and notes into pending proposals → meeting’s Flagged Items section
- Risks & Dependencies - drafts risk / dependency proposals from the transcript → Risks / Dependencies tabs
- Glossary terms - grows the Live Transcribe term list used to improve future transcription
- Queued group refreshes - re-applies name / invitee / title changes across a group
Per-group gating: Action items, Risks and Dependencies are only extracted for a meeting whose group (or the “No Group” default) has the matching “Add to Action Log / Risk Log / Dependency Log” toggle on - set in the Groups & Categories tab. With a toggle off, that item type is simply skipped for that meeting; it is not “pending”. Knowledge Base and the enhanced recap always run. RAD flags you set during a recording are saved regardless of the toggles.
Site actions that start a run immediately
Each fires the routine within ~a minute (best effort - if it can’t, the work still runs at 6 AM).
| Action | Where | Touches Google Drive? | What it does |
|---|---|---|---|
| Submit a recording | Record tab / phone app | Writes .docx + audio to the Live Transcribe Google Drive folders (background) | Full processing for that one meeting: Knowledge Base, Action Items, Risks, Dependencies and the enhanced recap (each RAD type gated by the group’s toggle) |
| Change a meeting’s group | Meeting detail → group picker | No | Fires a run and re-files the meeting completely, automatically: its kb_processed flag is reset so the run writes it into the new group’s Knowledge Base, and a scope=kb refresh is queued for the old group so its KB is rewritten without it. Action Items, Risks and Dependencies follow the meeting on their own. A meeting that was skipped before (ungrouped / pending / toggle-off group) also gets its first-time extraction. Nothing manual required. |
| “Reprocess” | Meeting detail view | No | Rebuilds this meeting’s Knowledge Base, Action Items and enhanced recap. Deliberately does not re-run Risks / Dependencies or flag proposals - those are approval-gated, and re-running would create duplicates. |
| “Refresh Everything” | Top nav | Yes - re-scans Google Drive first | Google Drive sync, then works through every pending item of every type (KB, Action Items, Risks, Dependencies, recaps, flag review) across all groups and meetings |
| Save or upload a Teams Summary | Meeting detail → Teams Summary tab | No | Full reprocess of that one meeting (same flags as “Reprocess”), now reading the Teams text as a third source alongside Fireflies/Hummingbird - lines get an extended (F)/(H)/(T) source tag, and anything found ONLY in Teams is filed as a pending approval (same review pattern as any other proposed addition) rather than auto-added. KB/Recap for that meeting wait until any pending Teams approvals are resolved. |
| “Refresh Groups” | Groups & Categories tab, tick groups, or none for all | No | Re-applies invitee / name / title changes across that group’s Knowledge Base, Action Items, Risks, Dependencies and Meeting Prep. |
Moving a meeting between groups is fully automatic - the KB on both sides is rebuilt for you on the next run (a minute or two), you never need to hit Reprocess or Refresh Group yourself. One caveat if the old side was “No Group”: ungrouped meetings only have loose freeform KB entries, so there is no single old entry to rewrite - the new group still gets written correctly.
Actions that do not start a run
- “Run File Sync” (top nav) - reads Google Drive and adds any new Fireflies meetings to the list, but does not process them. New meetings show “Processing” until the next run.
- Approving or rejecting a flag - this un-blocks the meeting (its KB / recap will not finalise while flags are pending), but the routine is not re-fired, so it waits for the 6 AM run. Use “Reprocess” on that meeting if you want it sooner.
- Renaming a meeting - updates the title and (for Fireflies meetings) renames the Google Drive .docx files, but starts no processing.
- Editing a meeting’s time, or editing action items / KB entries directly - saved straight to the database, no run.
Ask (AI Q&A Bot) indexing - event-driven, not scheduled
Unlike everything above, the Ask tab's search index has no cron and no daily/6 AM run - it updates itself the instant something changes: a meeting's summary is written, a KB entry is added or edited, a risk/action/dependency or capability is created, edited, deleted, archived, or restored. Free - self-hosted on the Oracle VM, not billed API usage.
“Rebuild index” (Ask tab) is the one manual button here - a full backfill from scratch, only needed for recovery (the VM was down for a while, or a schema change) since the automatic hooks already keep it current day to day.
What touches Google Drive
- Reads: “Run File Sync”, “Refresh Everything”, and every scheduled run - they scan
/Fireflies/Fireflies Summaries,… Transcripts,… Recordings. - Writes: submitting a Live Transcribe recording uploads a .docx and the audio file to the app’s own (separate) Live Transcribe folders.
- Renames: renaming a Fireflies meeting renames its two .docx files in place.
- Fireflies → Google Drive itself is not part of this system - Fireflies delivers its own files to those folders on its own schedule. If a meeting never shows up, that delivery is the thing to check.
Why a meeting shows “⚙ Processing…”
One of: its Knowledge Base write, its action-item extraction, or its enhanced recap has not run yet. A brand-new meeting shows this until the next processing run touches it. If it is still showing hours later and a run has happened, that is worth investigating.
“⌛ Pending Flag Approval” is different - it means the routine drafted flag/note proposals and is waiting for you to accept or reject them before it finalises that meeting.
Fireflies + Hummingbird meeting pairing (added 2026-09-04)
When the same real meeting is captured by both Fireflies and a Hummingbird (app/site Live Transcribe) recording, they show up as two separate rows at first. After every Google Drive sync and every Live Transcribe submit, the worker compares transcript CONTENT (not the stored date/time, which can be wrong on a delayed submit) between unpaired opposite-source meetings. A strong match auto-links them; a weaker one shows as a “🔗 Possible match - confirm?” chip on the meeting card instead of linking automatically.
A confirmed pair shows as one card (Fireflies is always the primary when both exist), with “✓ Fireflies” / “✓ Hummingbird” chips, both transcripts available (Transcript = Fireflies, Hummingbird Transcript = the app/site recording), and one combined Knowledge Base entry / action-item set / enhanced recap written from both. Pairing (auto or manual) resets that meeting's processing and fires the routine. “Unlink” in the meeting modal splits a pair back into two independent meetings and reprocesses each on its own. “Link to...” lets you manually pair two meetings the matcher didn't catch.
Deleting one half of a pair automatically un-links the other half (it becomes independent again, not left pointing at a deleted row).
Claude usage this week
Your plan's weekly allowance. It resets Wednesday at 6 PM Central (the service confirms the real time once it has run a call).
Admin
Site-level controls. Business Hours is the first one - added 2026-09-09 after an unattended background bug fired the Claude routine every 10 minutes overnight with nobody using the site (see the Usage tab's "Claude routine fires" card).
My sites
Every site and backend, live and local. Local links only work on this PC while that server is running. Live map with connections: willowwhse.com/map/.
Live sites (willowwhse.com)
- Hummingbird - this app: meetings, knowledge base, action items, Ask
- AI Business Improvement Platform - operational maturity assessment, services, quotes
- 2Do - checklist, scheduler, calendar, to-do list
- Chores - family chores, points and rewards (data stays in each browser)
- Workspace map - architecture diagram of everything, public
- Test space - French/English brand-name audio test page, no password
- Travel Bot (old live version) - outdated, ignore until the next deploy
Backends (Cloudflare Workers, live)
- hummingbird-worker - API + D1 + R2 for Hummingbird (needs the site password)
- ai-worker - API + D1 for the AI platform
- 2do-worker - API + D1 for 2Do (Google and email login)
- travel-bot-worker - API + D1 for Travel Bot (cron removed)
- chores-email-worker - sends Chores welcome and reset email via Resend (POST only, so a browser visit shows an error)
Local only (this PC)
Each one is a normal PowerShell prompt. Open PowerShell (you land at PS C:\Users\harca>), paste the whole line for that app, leave that window open, then click the link. To stop, press Ctrl+C in that window. Windows blocks plain npm/npx, so every line below already uses the .cmd form.
-
Hummingbird app (dev) - port 5174
cd C:\Users\harca\willowwhse-dev\hummingbird-app
npx.cmd serve . -l 5174 -
Chores app (dev) - port 5173
cd C:\Users\harca\willowwhse-dev\chores-app
npm.cmd run dev -
AI platform app (dev) - port 3000
cd C:\Users\harca\willowwhse-dev\ai-app
npx.cmd serve . -l 3000 -
Travel Bot worker (local) - port 8787, shows "Unauthorized" when it is up, that is normal
cd C:\Users\harca\willowwhse-dev\travel-bot-worker
npx.cmd wrangler dev --local --port 8787 -
Travel Bot app - port 5175, needs the worker above to be running too
cd C:\Users\harca\willowwhse-dev\travel-bot-app
npx.cmd serve . -l 5175
Not on the web at all: Hummingbird Android (native app installed on the phone) and Steal a Monster (Roblox game, opened from Roblox Studio). Neither has a local server.
Open Travel Bot (local test)
Travel Bot is in a local-only phase: it runs on this PC against test data and never touches real flight APIs or the cloud database. The link above only works on this PC, and only while both local servers below are running. The live page at willowwhse.com/travel-bot/ is an old version, ignore it until the next deploy.
- Open a terminal and start the worker (the backend, port 8787; http://localhost:8787 shows "Unauthorized" when it is up, that is normal). Leave the window open:
cd C:\Users\harca\willowwhse-dev\travel-bot-worker
npx.cmd wrangler dev --local --port 8787 - Open a second terminal and start the app (the page, port 5175; http://localhost:5175). Leave it open too:
cd C:\Users\harca\willowwhse-dev
npx.cmd serve travel-bot-app -l 5175 - Click the Travel Bot link above (or click http://localhost:5175). Log in with the site password if asked.
- To stop, press Ctrl+C in each terminal. Or just ask Claude to start them for you.
If the page says it can't reach the server, the worker (step 1) isn't running. If the page won't load at all, the app (step 2) isn't running. If the list is empty, the test data lives in the worker's local database, so the worker must be started from the travel-bot-worker folder as shown.
Failed login attempts (last 7 days)
5 wrong passwords from one address locks it out for 15 minutes. Anyone listed here typed a wrong password.
Background sync (10-minute cron)
Master switch for the worker's automatic 10-minute job: Google Drive sync, meeting pairing, overdue nudges and routine firing. Off = none of it runs until you turn it back on. Manual actions on the site (Submit, Reprocess, Run File Sync) still work.
Live accuracy, scored against Fireflies
Every meeting recorded by both Fireflies and Hummingbird, scored automatically (no labelling). Words: 1 minus the word error rate of our text against Fireflies' text (live = what you saw, saved = the rebuilt transcript). Speakers: how much of the talking time each of our labels maps to one Fireflies speaker (purity, merges hurt it) and how much of each Fireflies speaker lands on one of our labels (1-merge, splits hurt it); "live" is what you saw while recording, "saved" is the rebuilt transcript. RADD: how many live panel items the final pass kept (precision) and how many final items the live panel had (recall), wording match. Fireflies is the best truth available, not perfect.
Accounts and services
Every outside account the workspace depends on, what it does and which projects use it. No usage numbers here (see the Usage tab). Built from hummingbird-worker/src/usage-catalog.js, which is updated whenever an account, plan or dependency changes.
AI models
Status only: every AI and speech model the workspace uses, what it is for, whether it is working, its effort setting and which projects use it. Today's usage and how close each one is to its limit are on the Usage tab. Built from hummingbird-worker/src/ai-registry.js; a model that is called but missing from the registry is flagged in red. The same list is on the workspace map.
AI Synthesis Queue
Which engine writes new KB entries and enhanced summaries, and what it's doing right now - runs from the same 10-minute background cron, in the order things were approved/renamed/queued (oldest first), not by meeting date. Groq automatically falls back to Workers AI (same model, different free host) if it hits a rate/size limit - switch this manually only if both are having trouble, or if you can't reach Claude to ask for the switch yourself.
Speaker names: accuracy and voice memory
Every time you confirm or change a name the system suggested, it is counted here, and the wrong person's voice entry is weakened. Voice memory is everyone the system can recognise by voice; delete a bad entry or merge two names for the same person.
Live engines
checking...What each live action is using right now. Claude runs on this PC through your Max plan (start hummingbird-local\start-claude-live.cmd before recording); if it is off, capped or slow, that call uses the backup engine instead. A switch never lands mid-call: if a call is in flight it shows "switching after current call" and takes effect on the next one.
Post-meeting AI (Claude queue)
KB entries, enhanced summaries, action items / RADD and speaker naming are written by Claude on your Max plan. The Worker queues each prompt; this page, open on the laptop that runs start-claude-live.cmd, runs it and sends the answer back, then the meeting continues. If no answer arrives within the wait time, that step falls back to the free engines. Switching to "Free engines" takes effect on the next step that starts.
RADD gold set
Your own reference list. Claude lists candidate risks, actions, decisions and dependencies for past meetings with the words that prove each one; you accept or reject each (a short reason on rejects teaches the prompts) and add anything it missed. The score below is the only real measure of what the system catches and what it invents.
Business Hours
Confines the worker's unattended 10-minute background cron (Google Drive/pairing checks that would otherwise fire the Claude routine on their own) to the hours below. Anything YOU do on the site right now - Submit, Reprocess, approving a flag, Run File Sync, Refresh Everything - still works any time, this only stops the site from waking up the routine by itself while nobody's here. It does NOT change the separate once-daily 6 AM Central Mon-Fri cloud routine (ask to have that time changed directly if needed).
Timezone: America/Chicago
Claude Desktop won't reopen
Symptom: the app closes on its own, reopening says a file is already in use (or "another program is currently using this file"), and killing the one visible process in Task Manager doesn't help. Cause: the CoworkVMService sandbox-host service crash-loops (no auto-recovery configured) and leaves orphaned claude/cowork-svc processes plus a stale lockfile. Run this from an elevated or regular PowerShell window (it self-elevates via UAC) instead of rebooting:
powershell -ExecutionPolicy Bypass -File "C:\Users\harca\willowwhse-dev\claude-unstick.ps1"
Then reopen Claude Desktop normally. If it still won't come up, a reboot is the fallback, and check "Virtual Machine Platform" is still enabled in Windows Features.
Dev tool commands (opencode)
Quick reference for the free backup coding tool. opencode runs on your machine (Mistral / Gemini free tiers, see the Usage tab), separate from the Claude routine that runs the product. Git push and pull are automatic: opencode commits and pushes after every turn, Claude Code pushes on commit and pulls on start, so switching between them just works as long as GitHub has your latest.
oc
PowerShell, from any window. Pulls the latest from GitHub, then opens opencode on its default model (Big Pickle, free via opencode's own Zen gateway) in the willowwhse-dev repo.
/models
Inside opencode. Switch the model, e.g. to google/gemini-3.6-flash if the default is unavailable.
/catchup
opencode or Claude Code. Reads the memory index, AGENTS.md and CLAUDE.md, then briefs you on where things stand. Makes no changes. Add a topic to focus it, e.g. /catchup routine firing.
/wrapup
opencode or Claude Code. Saves decisions, current status and gotchas into the memory files and CLAUDE.md, then commits and pushes. Run it before you close a session. If you forget, the session is still saved: reopen and run it later.
/new-project
opencode or Claude Code. Scaffolds a new sub-project folder with a starter CLAUDE.md (same section structure as the existing ones), e.g. /new-project travel-bot-scraper "scrapes X for Y". Never runs git init in it — every sub-project is tracked by this one repo.
/clear / /new
/clear in Claude Code, /new in opencode. Starts a fresh session with empty context. Do /wrapup first so nothing worth keeping is left behind.
/exit
Quit opencode (or Ctrl+C twice). Any code the tool wrote is already committed and pushed.
Notifications
opencode pops a real Windows toast (stays on screen until you click Dismiss or the X) when it's waiting on a permission prompt, or when it finishes responding and is ready for your next message — same purpose as Claude Code's desktop notifications. Clicking the toast body itself doesn't do anything (no registered app to hand the click off to); switch back to the opencode window yourself. Plugin: .opencode/plugins/session-notify.mjs.
For the "opencode dev models" usage card to fill in, set the site password once on the machine that runs opencode: setx HUMMINGBIRD_KEY "the site password" (the real password, not this placeholder text — found set to the literal placeholder on 2026-09-13, which is why the card stayed at zero), then open a new shell. The reporting plugin also has to actually be registered in .opencode/opencode.json's plugin list (found unregistered 2026-09-13, fixed same day) or it silently never runs even with the key set. Without a correct key, opencode still works, the usage card just stays at zero.
Free opencode models, ranked by coding capability
All use keys already set (OpenRouter via env var, Google and Mistral via auth); nothing new to install. Switch with /models in opencode. Start on #1; if it is struggling or rate-limited, move down the list and ask again. Switching keeps your session and context, so no /wrapup first, and nothing here costs money. Order is by actual coding/agentic capability (public benchmarks: PinchBench, SWE-Bench, Terminal-Bench, plus opencode Zen's own curation), not "try this first" convenience — #1-6 are the ones capable of real coding work close to big-pickle's tier; #11 onward are light/fast models best for small edits, not heavy lifting. Not independently benchmarked on this codebase, just public numbers. Also free but NOT connected: Groq and Cerebras (add a key via opencode auth login; Cerebras keys at cloud.cerebras.ai). Keep in sync with the whitelists in ~/.config/opencode/opencode.jsonc.
opencode/big-pickle
Default, use it for almost everything. Free via opencode's Zen gateway. No published cap, but a shared throttle: "Rate limit exceeded" means wait a few minutes or move down the list. Labeled trial / limited time.
opencode/nemotron-3-ultra-free
NVIDIA's top agentic-coding tier. ~500B/50B-active. 91% on PinchBench Agent Productivity, matches Kimi K2.6. Zen gateway.
openrouter/nvidia/nemotron-3-ultra-550b-a55b:free
Same Ultra tier as #2, via OpenRouter instead of Zen. Confirmed working 2026-09-24.
openrouter/poolside/laguna-s-2.1:free
Punches way above its size. Only 118B/8B-active but 78.5% on SWE-Bench Multilingual, beats models 5-25x larger on Terminal-Bench 2.1. Confirmed working 2026-09-24.
opencode/space-bunny-free
Zen-curated specifically for coding agents (reasoning + tool-calling, 1M context) - same curation bar as big-pickle, no public benchmark number. Confirmed working 2026-09-24.
openrouter/nvidia/nemotron-3-super-120b-a12b:free
Best open model in its (smaller) class - 85.6% PinchBench, but a clear step below the Ultra tier above.
mistral/codestral-latest
Dedicated code-generation model. Solid mid-tier, confirmed free/working.
google/gemini-3.8-flash
Gemini backup. Own daily limit (about 250 goes, resets overnight) plus 250k input tokens per minute, which long sessions trip. 3.7-flash and 3.6-flash have separate quotas. Google renames models over time; if one 404s, check /models. Reasoning variants (fast = low, thinking = high) switch with the variant_cycle keybind.
google/gemini-3.7-flash
Gemini, separate quota from 3.8.
google/gemini-3.6-flash
Gemini, separate quota again. Also the manual fallback picked via /models when big-pickle errors out.
mistral/mistral-medium-latest
General-purpose Mistral, not code-specialized.
google/gemini-3.5-flash-lite
Cheap and light. Higher daily allowance, less capable.
mistral/mistral-small-latest
Lightest Mistral, small edits only. Confirmed free. mistral-large-latest errored "not available in your subscription tier" on this account - removed from the whitelist, don't re-add without retesting.
opencode/nemotron-3.5-lightning-free
Fast and light, small edits only. Not for heavy lifting.
opencode/mimo-v2.6-flash-free
Light, fast. Zen. Not for heavy lifting.
Re-ranked 2026-09-24 by coding capability (was previously ordered as a plain fallback/try-next list). Audit same day also removed qwen3-coder:free, kimi-k2:free, deepseek-v3.2-exp:free (OpenRouter killed these free slugs, paid-only now), z-ai/glm-5.2:free (no tool-use support, unusable for a coding agent), mistral-large-latest (subscription-tier error), and gemini-2.5-flash-lite (deprecated). Added space-bunny-free, nemotron-3-ultra-550b-a55b:free, poolside/laguna-s-2.1:free.
Claude Code dev plugins
These aren't billed or token-metered separately - they change how Claude behaves inside a session, so there's no live usage number to show. Status here is a manual snapshot; run claude.cmd plugin list to re-check (a plugin can be enabled in a memory note but not actually installed - that happened once, see below).
ponytail
Confirmed enabled. Forces the laziest working solution on coding tasks. Self-verifying every session: the "PONYTAIL MODE ACTIVE" line at session start is a real hook success message, not decoration - if it's missing or shows a hook failure instead, ponytail isn't running.
i-have-adhd
Confirmed enabled 2026-09-13 via claude.cmd plugin install i-have-adhd@i-have-adhd. Terser output. Was previously marked "installed" in a memory note but only the marketplace was registered, not the plugin itself - plugin list caught it. No passive per-session signal like ponytail's, so it needs a manual recheck if in doubt.
graphify
Confirmed working 2026-09-13. Not a Claude Code plugin - a separate uv-installed CLI/skill, registered per-project (this repo's knowledge graph, 522 nodes). Auto-triggers on codebase questions when graphify-out/ exists; verified with a real god-nodes query.