Skip to content
[bmdpat]
All writing
5 min read

Ten Fallback Runs and Zero Broker Reads on 2026-11-09

On 2026-11-09, Claude ran ten times and failed ten times because cron jobs lack OAuth. Here is how unattended agents fail silently.

ShareLinkedIn

Key decisions from Ten Fallback Runs and Zero Broker Reads on 2026-11-09Open full-size image (opens in new tab)

On 2026-11-09, my fallback agent ran ten times and failed on every attempt. Markets opened, so the position manager ran throughout the session. Codex executed eleven successful checks. Claude handled the fallback lane and hit ten identical BROKER_STATE_UNAVAILABLE blocks. The scheduler launched each run without a terminal window. Steps three through six stalled because the trading tool required interactive authorization. A broken fallback leaves your system exposed while generating empty logs.

Why did the Claude trading fallback fail ten times?

The Claude fallback failed because scheduled background runs lack interactive browser access for OAuth. The runner started on schedule, but steps three through six lacked tool access. The agent logged ten clean receipts while Codex handled all market execution alone.

The position manager depended on the robinhood-trading MCP server. That server requires browser authorization once an access token expires. Codex held an active session and completed eleven broker reads. Claude lacked a stored token and had an empty terminal. Each scheduled run launched, encountered missing tools, wrote a receipt file, and exited clean with status code 0.

A green exit code only reports process termination. Unattended cron jobs often return status 0 after writing an error receipt. You should verify what an agent actually produced to confirm real work happened. Ten runs produced ten text receipts on disk. Each receipt recorded an authentication block instead of reading a market position.

What happens when an automated stop renews as a day order?

An automated stop order set as a day order expires at the closing bell. On 2026-11-09, my trade review renewed an ERIC stop order at 9.66 for regular hours only. That order expired at 4:00 PM, leaving the shares exposed overnight.

On 2026-11-08, I recorded a note to convert the ERIC stop to good-til-cancelled. The agent overlooked that instruction on 2026-11-09. It placed order 6af2397b as a good-for-day stop_market order for 3 shares at 9.66. The local test suite passed 23 out of 23 tests and 36 assertions. Claim verification marked the pull request GREEN at commit 9732c601ec.

The code satisfied its explicit unit checks. The assertions verified schema formatting and broker arguments. They ignored overnight market protection. You should give an agent a file, not a memory to preserve execution flags across sessions. When trade rules live in scratch notes, automated runs revert to default values.

How can you detect silent failures across scheduled agents?

You detect silent failures by tracking file changes outside internal logs and auditing tool availability. On 2026-11-09, most completed background tasks created files inside the git vault alone. Process logs can easily disguise stalled external work.

Here is the operational breakdown for the two trading lanes on 2026-11-09:

MetricCodex LaneClaude Fallback Lane
Scheduled runs1110
Completed broker reads110
MCP tool stateConnectedBlocked on OAuth step 3
Error code output010 BROKER_STATE_UNAVAILABLE
Files modified outside vault00

Other background routines showed similar patterns on 2026-11-09. Doctor ran RED: 81 expected, 13 fired, 54 paused, and 1 missing. The spend guard remained set to fail_open_no_data, disabling the kill switch. SecurityAnalyst reported RED with 5 P0, 29 P1, and 41 P2 items, while opening 0 tickets. Both autotrader private keys remained inside git history on day twenty-one. A vault sweep routine wrote 21 fail rows on one bad pathspec, expanding the pending backlog from 13,245 to 13,562 files.

I rely on BMD, see what your agents actually did to compare runtime traces against reported completions. My asset ledger recorded 8 assets in seven days against 731 reports across fourteen days. The fallback lane mirrors that ratio: ten runs, ten honest receipts, zero broker reads. On 2026-11-08, the instruments misread what they counted. On 2026-11-09, the receipt became the only output.

Production work continued elsewhere. One public post went live at bmdpat.com/blog/llm-gpu-costs-unexpectedly-high-how-to-diagnose-the-bill-2026 with SHA-256 b51679caa89b9479. Loops logged 221 human sessions, 1 CTA click, and 0 installs.

What should you do with this?

  1. Audit every scheduled agent configuration to verify that tools rely on service tokens rather than interactive browser prompts.
  2. Check duration parameters on automated order placements to ensure trade stops stay active after market close.
  3. Add an automated assertion that marks any job failed if it writes internal status receipts while skipping external actions.

Accompanying prompt

What the prompt does: Audits background agent configurations to identify interactive authentication requirements that cause silent failures during scheduled runs.

Copy/paste this prompt:

Copy-ready prompt

Paste the exact block into your coding agent.

No article chrome, no footnotes, no formatting drift.

Role: Systems Reliability Engineer Context: I run automated background AI agents on cron schedules. Some tools fail silently during scheduled execution because they expect an interactive login or browser window to renew authentication. Inputs: - Agent config file: __ - Tool list or MCP server names: __ - Execution runner type: __ Task: 1. Review the provided agent config file and tool list. 2. Identify every tool or MCP server that relies on interactive OAuth, browser redirects, or short-lived session tokens. 3. Flag any step in the execution sequence that halts or fails when running without a terminal or graphical session. 4. Provide non-interactive alternatives, such as service account tokens or pre-authenticated API keys, to prevent silent execution blocks. Output: - A table listing each tool, its auth type, interactive status, and failure behavior. - Specific configuration changes required to run unattended. Constraints: - Assume an unattended execution environment with zero manual browser input. - Require external side effects or state reads rather than status receipt files as proof of completion.
23 lines1124 chars
Ready

This prompt and every other one we publish live in the free prompt library.

Copy the block above.

Weekly measured local runs: https://bmdpat.com/5090-reports

Get the Local AI Field Kit

Four copy-ready tools now, then one evidence-backed Local AI Lab Note on Friday when there is something worth sharing.

Try the free agent run check first

Get the requested artifact now, then at most one evidence-backed Local AI Lab Note on Friday when there is something worth sharing. One-click unsubscribe. No sponsored placements. Privacy.

Written by

Patrick Hughes

I build BMD and publish measured AI runs, failure reports, and reusable checks. Nashville, Tennessee.

More writing