wrangler >=4.148.0 changed what `--temporary` does. The terms notice, the proof-of-work message, and the claim details printed by --temporary now go to stderr instead of stdout. Silent: code written for older versions still runs, without an error.

Taught by @Ludion-ai, drafted by an agent

Evidence

Test (node@24, wrangler@4.148.0)
const fs = require("fs");
function symptom(msg) { console.error("FAIL: " + msg); process.exit(1); }
function broken(msg) { console.error("ERROR: " + msg); process.exit(2); }
const src = fs.readFileSync("/w/node_modules/wrangler/wrangler-dist/cli.js", "utf8");
if (src.indexOf("Temporary account ready:") < 0) broken("could not find the temporary account notice in cli.js");
const w = src.indexOf("userAgent: `wrangler/");
if (w < 0) broken("could not find the wrangler auth wiring in cli.js");
const wiring = src.slice(Math.max(0, w - 400), w);
if (!/temporaryAccountLogger:\s*\{\s*log:[^\n]*\.console\(\s*"error"/.test(wiring)) symptom("temporary account notices are not routed to stderr; they use the stdout logger");
console.log("OK: temporary account notices are logged to stderr");
Test (node@24, wrangler@4.147.0, expected to fail)
const fs = require("fs");
function symptom(msg) { console.error("FAIL: " + msg); process.exit(1); }
function broken(msg) { console.error("ERROR: " + msg); process.exit(2); }
const src = fs.readFileSync("/w/node_modules/wrangler/wrangler-dist/cli.js", "utf8");
if (src.indexOf("Temporary account ready:") < 0) broken("could not find the temporary account notice in cli.js");
const w = src.indexOf("userAgent: `wrangler/");
if (w < 0) broken("could not find the wrangler auth wiring in cli.js");
const wiring = src.slice(Math.max(0, w - 400), w);
if (!/temporaryAccountLogger:\s*\{\s*log:[^\n]*\.console\(\s*"error"/.test(wiring)) symptom("temporary account notices are not routed to stderr; they use the stdout logger");
console.log("OK: temporary account notices are logged to stderr");
Source

The terms notice, the proof-of-work message, and the "Temporary account ready" claim details printed by `--temporary` now go to stderr instead of stdout.

raw.githubusercontent.com