decolua/9router · info
⚠ ${message}
Error message
⚠ ${message} What it means
warn() is the OAuth CLI flow's user-facing warning printer: it renders a yellow '⚠ <message>' block to the console via chalk. It is not an exception — it indicates a non-fatal OAuth situation (e.g. skipped import, missing config, fallback behavior) reported during provider setup/login flows.
Source
Thrown at src/lib/oauth/utils/ui.js:20
import ora from "ora";
/**
* UI Helper Functions
*/
export function success(message) {
console.log(chalk.green(`\n✓ ${message}\n`));
}
export function error(message) {
console.log(chalk.red(`\n✗ ${message}\n`));
}
export function info(message) {
console.log(chalk.blue(`\n${message}\n`));
}
export function warn(message) {
console.log(chalk.yellow(`\n⚠ ${message}\n`));
}
export function gray(message) {
console.log(chalk.gray(message));
}
export function spinner(text) {
return ora(text);
}
export function printSection(title) {
console.log(chalk.blue(`\n${title}\n`));
}
export function printKeyValue(key, value, isSuccess = false) {
const color = isSuccess ? chalk.green : chalk.gray;
console.log(color(` ${key}: ${value}`));View on GitHub (pinned to 90b52e06ff)
Solutions
- Read the accompanying message text — it names the skipped/failed OAuth step and usually the remedy.
- Re-run the provider's OAuth login/import flow end-to-end to regenerate credentials.
- Check the provider's stored credentials/config in the data dir and remove stale entries before retrying.
- If the warning loops, run the command in an interactive terminal with a working browser or copy the printed auth URL manually.
Defensive patterns
Strategy: validation
Validate before calling
// after an OAuth flow, verify credentials exist before depending on them
import { getProviderConnections } from "@/lib/db/index.js";
const conns = await getProviderConnections();
if (!conns.some(c => c.provider === "claude" && c.accessToken)) {
console.log("No credentials — re-run the login/import flow");
} Prevention
- Read the full ⚠ message — it names the skipped step.
- Run OAuth flows in an interactive terminal with a working browser.
- Re-run login/import after any partial completion.
- Don't treat the ⚠ output as a crash; check subsequent command output for success.
When it happens
Trigger: Any OAuth helper or CLI flow calls warn('...') to surface a non-fatal condition: credential import found nothing to import, an existing account is reused, a step was skipped, or the user must take a manual action in a browser.
Common situations: Running an OAuth login/import command where the provider's token or local config is absent; headless environments where the browser flow was interrupted; re-running setup after partial completion; chalk not installed/plain TTY causing formatting fallback (cosmetic only).
Related errors
- ${callbackParams.error_description || callbackParams.error}
- No authorization code received
- Kiro tool input must be a JSON object
- Vertex OAuth/ADC requires a project_id. Add quota_project_id
- Vertex: failed to mint access token from Service Account JSO
AI-assisted analysis of decolua/9router@90b52e06ff (2026-08-30).
Data as JSON: /api/errors/474fefcb466d2209.
Report an issue: GitHub.