All Articles
After exporting a Gemini answer to Docs, check who can open it before you hit Share
Google's help page for "Export to Docs" covers creating the document, not its sharing state. Here are the three places to look right after exporting, what happens when you move the file into a shared folder, and an Apps Script audit for when exports pile up.
Hung Jobs Fail Quietly — Wrapping a Scheduled Gemini Call With a Timeout, an Empty-Output Check, and a Lock
An outer shell script that protects a cron-driven `gemini -p` call from three quiet failures: hanging on a response, exiting 0 with empty output, and overlapping with the previous run. Includes exit codes and timings measured with stand-in commands, and how far `timeout` reaches into child processes.
The Morning Flash Started Answering Differently, Your Prompt Is Not the First Thing to Check
When output length or format shifts although you never touched the model ID, compare the model you requested with the model that actually answered. A small three-prompt script logs modelVersion on every run, followed by the order I use to narrow down the cause.
The Day /models Returns 200 but generateContent Returns 403 — Decide Your Triage Order Before It Happens
A triage order for the case where listing models succeeds with 200 but generation fails with 403 permission_denied. Includes a small diagnostic script that checks key, project, and billing in turn, why you should not retry a 403, and how to assemble what support needs.
Before you turn on Meet's automatic notes: three things to settle in the calendar event
Some Meet note-taking settings can't be changed once someone has joined the call. Here is what to decide in the calendar event first — language, sharing scope, how it starts — and how to tell participants, following Google's help pages.
Keeping a Gemini Answer as a Dated PDF — Export to Docs, Then Freeze It with Apps Script
Gemini's Share & export menu has no PDF option. Here is how to export to Docs, freeze a dated PDF next to it with Apps Script, and avoid the getAs() file-naming trap.
Fine on Desktop, Blank on Safari: Four Things to Gather Before You Ask an AI to Diagnose It
After a shuffle, my lazy-loaded images never loaded again, but only in Safari on iPhone. Here is what to collect by hand before asking Gemini or any other model to diagnose a bug that does not reproduce on desktop, plus a request template you can paste.
Stop Re-Reading Every Crash Report: Grep a Known-Bug Table First and Keep Only an Index in GEMINI.md
A routine for investigating app crash reports without making the model read every past bug in full: a one-line-per-bug lookup table, what belongs in GEMINI.md, and a grep helper you can paste in.
When Your config Raises "Extra inputs are not permitted", Check the Spelling of Every Key
If a google-genai call fails with a pydantic ValidationError (extra_forbidden) the moment you pass a config, it is almost always a one-letter typo. Here is the output I reproduced, a small function that checks keys before the call, and how to tell why response.text came back as None.
When Gemini's Activity Setting Won't Change on a Work Account: Three Screens to Check First
If the Gemini app's Activity setting doesn't behave on a work or school account, check three places in order: your own screen, the admin console, and Vault. Includes a short message to send your admin and a line to draw before pasting customer details.
Deep Research's Old Agent Stops on October 23: Finding and Swapping the Name Across Code and Config
deep-research-pro-preview-12-2025 shuts down on October 23, 2026. A small script to find every use of the old agent name, how to choose between the standard and Max agents, and what to check after the swap.
Keeping Money and Health Questions Out of Your History: Gemini Temporary Chat and the Settings to Check
Before you ask Gemini about household spending or a health worry, here is the order I use to check Temporary Chat and the Activity setting, so you can decide what gets kept and what doesn't.