ErrLookup › garrytan/gstack
garrytan/gstack
Use Garry Tan's exact Claude Code setup: 23 opinionated tools that serve as CEO, Designer, Eng Manager, Release Manager, Doc Engineer, and QA · TypeScript · 236 source files
Analyzed at 94993f7401 on 2026-08-12. 333 documented errors.
| Code / Message | Type | Severity | Tags |
|---|---|---|---|
| browse-client: cannot find daemon port + token. Either spawn | exception | error | |
| browse-client: command "${cmd}" timed out after ${this.timeo | exception | error | |
| browse-client: daemon not running on port ${this.port} | exception | error | |
| browse-client: ${err.message ?? err} | exception | error | |
| browse-client: command "${cmd}" failed with status ${resp.st | exception | error | |
| Browser not launched | exception | error | |
| Tab ${tabId} not found | exception | error | |
| Tab ${id} not found | exception | error | |
| No active page. Use "browse goto <url>" first. | exception | error | |
| Cannot recreate context in headed mode. Use disconnect first | exception | error | |
| viewport --scale: value must be a finite number, got ${scale | validation | error | |
| viewport --scale: value must be between 1 and 3 (gstack poli | validation | error | |
| viewport --scale is not supported in headed mode — scale is | exception | error | |
| Unknown skill subcommand: "${sub}". Try: list, show, run, te | exception | error | |
| Usage: $B skill show <name> | exception | warning | cli-usage, skill-management, gstack |
| Skill "${name}" not found in any tier. | exception | error | skill-management, filesystem, gstack, browser-skills |
| Usage: $B skill run <name> [--arg k=v]... [--timeout=Ns] | exception | warning | cli-usage, skill-management, gstack |
| Skill "${name}" not found. | exception | error | skill-management, filesystem, gstack, browser-skills |
| Usage: $B skill test <name> | exception | warning | cli-usage, skill-management, testing, gstack |
| Skill "${name}" has no script.test.ts at ${testFile} | exception | error | skill-management, filesystem, testing, gstack |
| Skill "${name}" tests failed (exit ${exitCode}).\n${stderr} | exception | error | testing, bun, skill-management, gstack |
| Usage: $B skill rm <name> [--global] | exception | warning | cli-usage, skill-management, gstack |
| Skill "${opts.skill.name}" missing script.ts at ${scriptPath | exception | error | skill-management, filesystem, gstack, browser-skills |
| Skill name is empty. | validation | error | validation, skill-management, gstack |
| Invalid skill name "${name}". Must be lowercase letters/digi | validation | error | validation, security, skill-management, gstack |
| stageSkill: files map is empty. | exception | error | validation, skill-management, gstack |
| Invalid file path in stageSkill: "${relPath}". | exception | error | security, validation, filesystem, skill-management, gstack |
| commitSkill: tier "${opts.tier}" has no resolved path. | exception | error | filesystem, skill-management, gstack, configuration |
| commitSkill: staged dir "${opts.stagedDir}" not accessible: | exception | error | filesystem, skill-management, gstack, race-condition |
| commitSkill: staged dir "${opts.stagedDir}" is a symlink — r | exception | error | security, filesystem, skill-management, gstack |
| commitSkill: staged path "${opts.stagedDir}" is not a direct | exception | error | filesystem, validation, skill-management, gstack |
| commitSkill: destination "${dest}" escapes tier root. | exception | critical | security, filesystem, defense-in-depth, skill-management, gstack |
| commitSkill: a skill named "${opts.name}" already exists at | exception | error | filesystem, skill-management, gstack, configuration |
| SKILL.md missing frontmatter block (expected starting "---\n | exception | error | |
| SKILL.md frontmatter block not terminated (expected "\n---") | exception | error | |
| SKILL.md validation failed: ${errors.join('; ')} | exception | error | |
| tombstoneBrowserSkill: tier "${tier}" has no resolved path | exception | error | |
| tombstoneBrowserSkill: skill "${name}" not found in tier "${ | exception | error | |
| DENIED: ${qualified} is not on the CDP allowlist. Cause: den | exception | error | |
| Cannot dispatch: tab ${input.tabId} not found. Cause: tab wa | exception | error | |
| CDPSessionInvalidated: ${e.message} Cause: Playwright contex | exception | error | |
| Usage: $B cdp <Domain.method> [json-params] Cause: '${name}' | exception | error | |
| Cannot parse params as JSON: ${e.message} Cause: argument '$ | exception | error | |
| Element not found: ${selector} | exception | error | |
| Element not found: ${selector} — ${err.message} | exception | error | |
| Invalid CSS property name: ${property}. Only letters and hyp | validation | error | |
| CSS value rejected: contains potentially dangerous pattern. | validation | error | |
| Element not found: ${sel} | exception | error | |
| No modification at index ${idx}. History has ${modificationH | exception | error | |
| Cannot find server.ts. Set BROWSE_SERVER_SCRIPT env or run f | exception | error | |
| server-node.mjs not found. Run `bun run build` to generate t | exception | error | |
| Server failed to start: ${errorLog} | exception | error | |
| Server failed to start within ${MAX_START_WAIT / 1000}s | exception | error | |
| Timed out waiting for another instance to start the server | exception | error | |
| Authentication failed | exception | error | |
| [browse] Server unresponsive after retry — aborting | exception | error | |
| [browse] Server crashed twice in a row — aborting | exception | error | |
| --proxy requires a URL value | validation | error | |
| Cannot create state directory ${config.stateDir}: permission | exception | error | |
| Cannot create state directory ${config.stateDir}: a file exi | exception | error | |
unknown_browser Unknown browser '${nameOrAlias}'. Supported: ${supported} | exception | error | |
bad_request Invalid profile name: '${profile}' | validation | error | |
not_installed ${browser.name} is not installed (no cookie database at ${attempted.join(' or ') | exception | error | |
db_corrupt Cookie database for ${browserName} is corrupt | exception | error | |
db_locked Cookie database is locked (${browserName} may be running). Try closing ${browser | exception | error | |
keychain_error Cannot read Local State for ${browser.name} at ${localStatePath}${reason} | exception | error | |
keychain_not_found No encrypted key in Local State for ${browser.name} | exception | error | |
keychain_denied Keychain access denied. Click "Allow" in the macOS dialog for "${service}". | exception | error | |
v20_encryption Cookie uses App-Bound Encryption (v20). Use CDP extraction instead. | exception | error | |
| No decryption key available for ${prefix} cookies | exception | error | |
not_supported CDP extraction is only needed on Windows | exception | error | |
browser_running ${browser.name} is running. Close it first so we can launch headless with your p | exception | error | |
cdp_timeout ${browser.name} headless did not start within 15s | exception | error | |
| Save failed: empty body. Cause: no content provided via --fr | exception | error | |
| Save blocked: ${filterResult.message} Cause: skill body trip | exception | error | |
| Usage: $B domain-skill show <host> Cause: missing hostname a | exception | error | |
| Usage: $B domain-skill edit <host> | exception | error | |
| Cannot edit: no skill for ${host}. Cause: skill does not exi | exception | error | |
| Editor exited with status ${result.status}; no changes saved | exception | error | |
| Usage: $B domain-skill promote-to-global <host> | exception | error | |
| Usage: $B domain-skill rollback <host> | exception | error | |
| Usage: $B domain-skill rm <host> [--global] | exception | error | |
| Unknown subcommand: ${sub} Cause: not one of save|list|show| | exception | error | |
| Cannot save domain-skill: no top-level URL on active tab. Ca | exception | error | |
| Save blocked: classifier flagged content as potential inject | exception | error | security, classifier, injection, domain-skills |
| Cannot promote: no skill for ${normalized} in project ${proj | exception | error | domain-skills, promote, not-found |
| Cannot promote: skill for ${normalized} is in state "${curre | exception | error | domain-skills, promote, state-machine |
| Cannot rollback: ${normalized} has fewer than 2 versions in | exception | error | domain-skills, rollback, versioning |
| Cannot delete: no skill for ${normalized} in ${scope} scope. | exception | error | domain-skills, delete, not-found |
| pdf: --from-file requires a path | exception | error | pdf, cli, argument-parsing |
| Unknown pdf flag: ${a} | exception | error | pdf, cli, argument-parsing |
| pdf: --margins is mutex with --margin-top/--margin-right/--m | exception | error | pdf, cli, mutex |
| pdf: --format is mutex with --width/--height | exception | error | pdf, cli, mutex |
| pdf: --page-numbers is mutex with --footer-template (page-nu | exception | error | pdf, cli, mutex |
| pdf: --from-file ${payloadPath} must be under ${SAFE_DIRECTO | exception | error | pdf, security, path-validation, safe-dirs |
| pdf: --from-file ${payloadPath} is not valid JSON (${msg}). | exception | error | pdf, json, validation |
| pdf: --from-file ${payloadPath} must be a JSON object, got $ | exception | error | pdf, json, validation, type-mismatch |
| pdf: --${flag} requires a value | exception | error | pdf, cli, argument-parsing |
| Usage: browse tab <id> | exception | error | browse, cli, tabs |
| Usage: browse tab-each <command> [args...] Example: browse t | exception | error | browse, cli, tabs |
| tab-each rejected: subcommand "${innerRaw}" not allowed by y | validation | error | browse, security, authorization, tabs, scope |
| Usage: screenshot --selector <css> [path] | validation | error | screenshot, cli, argument-parsing |
| Usage: screenshot --clip x,y,w,h [path] | validation | error | screenshot, cli, argument-parsing |
| Usage: screenshot --clip x,y,width,height — all must be numb | validation | error | screenshot, cli, validation |
| Unknown screenshot flag: ${args[i]} | validation | error | screenshot, argument-parsing, cli |
| --selector conflicts with positional selector — choose one | validation | error | screenshot, argument-parsing, conflict |
| Cannot use --clip with a selector/ref — choose one | validation | error | screenshot, argument-parsing, conflict |
| Cannot use --viewport with --clip — choose one | validation | error | screenshot, argument-parsing, conflict |
| Screenshot too large for --base64 (>10MB). Use disk path ins | validation | error | screenshot, base64, memory, size-limit |
| Usage: echo '[["goto","url"],["text"]]' | browse chain or | validation | error | chain, argument-parsing, cli, usage |
| Chain rejected: subcommand "${c.rawName}" not allowed by you | validation | error | chain, security, authorization, token-scope |
| Unknown command: ${c.rawName} | exception | error | chain, command-dispatch, cli |
| Usage: browse diff <url1> <url2> | validation | error | diff, argument-parsing, usage |
| Usage: state save|load <name> | validation | error | state, argument-parsing, usage |
| State name must be alphanumeric (a-z, 0-9, _, -) | validation | error | state, validation, path-traversal, security |
| State not found: ${statePath} | exception | error | state, filesystem, not-found |
| Invalid state file: expected cookies and pages arrays | exception | error | state, validation, json-schema |
| Usage: frame <selector|@ref|--name name|--url pattern|main> | validation | error | frame, argument-parsing, usage |
| Usage: frame --name <name> | validation | error | frame, argument-parsing, usage |
| Usage: frame --url <pattern> | validation | error | frame, argument-parsing, usage |
| Frame not found: ${target} | exception | error | frame, not-found, playwright |
| skill command requires daemonPort in MetaCommandOpts (server | exception | error | skill, configuration, server-bug, daemon |
| Unknown meta command: ${command} | exception | error | meta-command, dispatch, unknown-command |
| Path must be within: ${SAFE_DIRECTORIES.join(', ')} | validation | error | security, symlink, path-traversal, filesystem, sandbox |
| Cannot resolve real path: ${filePath} (${err.code}) | exception | error | filesystem, permissions, symlink, errno, eacces, eloop |
| File not found | exception | error | filesystem, not-found, remote-serving, enoent, temp-dir |
| Cannot resolve path: ${filePath} | exception | error | filesystem, permissions, remote-serving, temp-dir, errno |
| Path must be within: ${TEMP_ONLY.join(', ')} (remote file se | validation | error | security, path-traversal, remote-serving, sandbox, exfiltration, temp-dir |
| invalid proxy URL — could not parse | validation | error | proxy, config, url-parsing, network, proxy-config-error |
| unsupported proxy scheme '${scheme}' | validation | error | proxy, config, unsupported-scheme, network, proxy-config-error |
| invalid proxy URL — missing host | validation | error | proxy, config, missing-host, network, proxy-config-error |
| invalid proxy URL — bad port | validation | error | proxy, config, invalid-port, network, proxy-config-error |
| proxy creds set in both env (BROWSE_PROXY_USER) and URL — pi | validation | error | proxy, config, credentials, env-conflict, security, proxy-config-error |
| --out specified more than once | validation | warning | cli, args, usage-error, out-flag, duplicate |
| --out requires a file path | validation | warning | cli, args, missing-value, out-flag |
| --raw must be true or false | validation | warning | cli, args, invalid-value, raw-flag, boolean |
| --out: malformed base64 in data URL (decode would corrupt ou | validation | error | base64, data-url, corruption-prevention, cli, out-flag |
| JS execution blocked: current page (${hostname}) does not ma | exception | error | security, cookies, cross-origin, exfiltration, js-execution, origin-guard |
| Usage: browse js <expression> [--out <file>] [--raw] | validation | error | |
| Usage: browse eval <js-file> [--out <file>] [--raw] | validation | error | |
| File not found: ${filePath} | exception | error | |
| Usage: browse css <selector> <property> | validation | error | |
| Usage: browse attrs <selector> | validation | error | |
| Usage: network --export <path> | validation | error | |
| Usage: browse is <property> <selector>\nProperties: visible, | validation | error | |
| Unknown property: ${property}. Use: visible, hidden, enabled | validation | error | |
| Usage: browse inspect [selector] [--all] [--history]\nOr pic | validation | error | |
| Unknown read command: ${command} | validation | error | |
| Failed to fetch ${url}: ${res.status} ${res.statusText} | exception | error | |
| sidecar-circuit-broken | exception | error | |
| payload-too-large | validation | error | |
| sidecar-spawn-failed | exception | error | |
| buildFetchHandler: cfg.authToken must be a non-empty string | validation | error | |
| buildFetchHandler: cfg.browserManager is required | validation | error | |
| Unknown snapshot flag: ${args[i]} | validation | error | |
| Usage: snapshot ${flag.short} <value> | validation | error | |
| Usage: snapshot -d <number> | validation | error | |
| Selector not found: ${opts.selector} | exception | error | |
| Cannot resolve real path: ${screenshotPath} (${err.code}) | exception | error | filesystem, permissions, path-resolution, screenshot, realpath |
| Path must be within: ${safeDirs.join(', ')} | validation | error | security, path-traversal, sandbox, screenshot, symlink-escape |
| Cannot resolve real path: ${heatmapPath} (${err.code}) | exception | error | filesystem, permissions, path-resolution, heatmap, realpath |
| Invalid heatmap JSON. Expected object: '{"@e1":"green","@e3" | validation | error | input-validation, json, heatmap, argument-parsing |
| Invalid heatmap color "${color}" for ${ref}. Valid: ${[...VA | validation | error | input-validation, heatmap, color-palette, allow-list |
| socks-bridge: unexpected listener address | exception | error | networking, invariant, socks-proxy, tcp, internal-error |
| Ref ${selector} not found. Run 'snapshot' to get fresh refs. | exception | error | refs, snapshot, stale-state, navigation, tab-session |
| Ref ${selector} (${entry.role} "${entry.name}") is stale — e | exception | error | refs, stale-dom, spa, navigation, tab-session |
| token-registry already initialized with a different token; e | validation | error | initialization, configuration, ordering, tokens, embedder |
| Invalid scope: ${s}. Valid: ${validScopes.join(', ')} | validation | error | input-validation, tokens, authorization, scopes, rbac |
| rateLimit must be >= 0 | validation | error | input-validation, tokens, rate-limiting, configuration |
| expiresSeconds must be >= 0 or null | exception | error | input-validation, tokens, ttl, configuration, time |
| Invalid file URL: file:/// has no path. Use file:///<absolut | exception | error | url-validation, file-url, directory-listing, navigation |
| Invalid file URL: ${url}. Use file:///<absolute-path> or fil | exception | error | url-validation, file-url, rfc-8089, navigation |
| Invalid file URL: file:// is empty. Use file:///<absolute-pa | exception | error | url-validation, file-url, empty-input, navigation |
| Invalid file URL: file://./ would list the current directory | exception | error | url-validation, file-url, directory-listing, cwd-relative |
| Invalid file URL: file://~/ would list the home directory. U | exception | error | url-validation, file-url, directory-listing, home-relative |
| Unsupported file URL host: ${segment}. Use file:///<absolute | exception | error | url-validation, file-url, unc-paths, windows, host-rejection |
| Invalid URL: ${url} | exception | error | url-validation, navigation, input-validation, scheme |
| Unsupported file URL host: ${parsed.host}. Use file:///<abso | exception | error | url-validation, file-protocol, security, unc-path, navigation |
| Invalid file URL: ${url} (${e.message}) | exception | error | url-validation, file-protocol, node-url, cross-platform, navigation |
| Blocked: scheme "${parsed.protocol}" is not allowed. Only ht | exception | error | url-validation, ssrf, scheme-allowlist, security, navigation |
| Blocked: ${parsed.hostname} is a cloud metadata endpoint. Ac | exception | critical | ssrf, cloud-metadata, security, url-validation, navigation |
| Blocked: ${parsed.hostname} resolves to a cloud metadata IP. | exception | critical | ssrf, dns-rebinding, security, url-validation, navigation |
| Cannot use goto inside a frame. Run 'frame main' first. | exception | warning | frames, navigation, write-commands, session-state |
| Usage: browse goto <url> | exception | warning | usage, arguments, navigation, write-commands |
| Cannot use back inside a frame. Run 'frame main' first. | exception | warning | frames, navigation, write-commands, session-state |
| Cannot use forward inside a frame. Run 'frame main' first. | exception | warning | frames, navigation, write-commands, session-state |
| Cannot use reload inside a frame. Run 'frame main' first. | exception | warning | frames, navigation, write-commands, session-state |
| Cannot use load-html inside a frame. Run 'frame main' first. | exception | warning | frames, load-html, write-commands, session-state |
| load-html: --from-file requires a path | exception | warning | usage, arguments, load-html, write-commands |
| load-html: --from-file ${payloadPath} must be under ${SAFE_D | exception | error | path-security, safe-dirs, load-html, security, write-commands |
| load-html: --from-file JSON parse failed: ${e.message} | exception | error | json, load-html, parsing, write-commands |
| load-html: --from-file JSON must have a "html" string field | exception | error | json, load-html, schema, write-commands |
| load-html: --from-file waitUntil '${json.waitUntil}' invalid | exception | error | load-html, waituntil, validation, write-commands |
| Invalid --wait-until '${val}'. Must be one of: load, domcont | exception | error | load-html, waituntil, validation, arguments, write-commands |
| Unknown flag: ${args[i]} | exception | warning | usage, arguments, load-html, write-commands |
| load-html: --from-file html too large (> ${MAX_BYTES} bytes) | exception | error | load-html, size-limit, configuration, write-commands |
| load-html: --from-file html does not start with a valid mark | exception | error | load-html, validation, content-sniff, write-commands |
| Usage: browse load-html <file> [--wait-until load|domcontent | exception | error | |
| load-html: file does not appear to be HTML. Expected .html/. | exception | error | |
| load-html: ${absolutePath} must be under ${SAFE_DIRECTORIES. | exception | error | |
| load-html: file not found at ${absolutePath}. Check spelling | exception | error | |
| load-html: ${absolutePath} is a directory, not a file. Pass | exception | error | |
| load-html: ${absolutePath} is not a regular file. | exception | error | |
| load-html: file too large (${stat.size} bytes > ${MAX_BYTES} | exception | error | |
| load-html: ${absolutePath} has ${ext} extension but content | exception | error | |
| Usage: browse click <selector> | exception | error | |
| Cannot click <option> elements. Use 'browse select <parent-s | exception | error | |
| Usage: browse fill <selector> <value> | exception | error | |
| Usage: browse select <selector> <value> | exception | error | |
| Usage: browse hover <selector> | validation | error | |
| Usage: browse type <text> | validation | error | |
| Usage: browse press <key> (e.g., Enter, Tab, Escape) | validation | error | |
| Usage: browse wait <selector|--networkidle|--load|--domconte | validation | error | |
| viewport --scale: missing value. Usage: viewport [WxH] --sca | validation | error | |
| viewport --scale: value '${val}' is not a finite number. | validation | error | |
| Unknown viewport flag: ${args[i]} | validation | error | |
| Unexpected positional arg: ${args[i]}. Usage: viewport [WxH] | validation | error | |
| Usage: browse viewport [<WxH>] [--scale <n>] (e.g. 375x812, | validation | warning | cli-usage, viewport, argument-validation, browse-command |
| Usage: browse viewport [<WxH>] [--scale <n>] (e.g., 375x812) | validation | warning | cli-usage, viewport, argument-parsing, browse-command |
| Usage: browse cookie <name>=<value> | validation | warning | cli-usage, cookies, argument-validation, browse-command |
| Usage: browse header <name>:<value> | validation | warning | cli-usage, headers, argument-validation, browse-command |
| Usage: browse useragent <string> | validation | warning | cli-usage, user-agent, argument-validation, browse-command |
| Usage: browse upload <selector> <file1> [file2...] | validation | warning | cli-usage, upload, argument-validation, browse-command |
| File not found: ${fp} | validation | error | filesystem, upload, file-not-found, browse-command |
| Path must be within: ${SAFE_DIRECTORIES.join(', ')} | validation | error | security, path-validation, filesystem, upload, safe-directories |
| Path traversal sequences (..) are not allowed | validation | error | security, path-traversal, filesystem, upload, safe-directories |
| Usage: browse cookie-import <json-file> | validation | warning | cli-usage, cookies, import, argument-validation, browse-command |
| File not found: ${filePath} | validation | error | filesystem, cookies, import, file-not-found, browse-command |
| Invalid JSON in ${filePath}: ${err?.message || err} | validation | error | json, cookies, import, parse-error, browse-command |
| Each cookie must have "name" and "value" fields | validation | error | cookies, import, validation, data-shape, browse-command |
| Cookie domain "${c.domain}" does not match current page doma | validation | warning | cookies, import, security, domain-mismatch, cross-site, browse-command |
| --domain "${domain}" does not match current page domain "${p | validation | warning | cookies, import, security, domain-mismatch, cross-site, browser-import, browse-command |
| Server port not available | exception | error | server, cookies, import, configuration, browser-import, browse-command |
| No Chromium browsers found. Supported: ${listSupportedBrowse | exception | error | environment, cookies, import, browser-detection, browser-import, browse-command |
| Usage: browse style <sel> <prop> <value> | style --undo [N] | validation | warning | cli-usage, style, css, argument-validation, browse-command |
| Invalid CSS property name: ${property}. Only letters and hyp | validation | warning | cli-usage, style, css, validation, security, browse-command |
| CSS value rejected: contains potentially dangerous pattern. | validation | error | |
| Unknown cleanup flag: ${arg}. Use: --ads, --cookies, --stick | validation | error | |
| --width must be a number | validation | error | |
| Unknown prettyscreenshot flag: ${args[i]} | validation | error | |
| Could not find element or text to scroll to: ${scrollTo} | exception | error | |
| Usage: download <url|@ref> [path] [--base64] [--navigate] | validation | error | |
| Expected @ref, got CSS selector: ${url} | validation | error | |
| Could not extract URL from ${filteredArgs[0]} (${tagName}) | exception | error | |
| This is an HLS/DASH stream. Use yt-dlp or ffmpeg for adaptiv | exception | error | |
| Blob too large (>100MB). Use a different approach. | exception | error | |
| Failed to decode blob data | exception | error | |
| Download failed: ${failure} | exception | error | |
| File too large (>200MB). | validation | error | |
| Download failed: HTTP ${status} ${response.statusText()} | exception | error | |
| File too large for --base64 (>10MB). Use disk download + GET | validation | error | |
| Usage: scrape <images|videos|media> [--selector sel] [--dir | validation | error | |
| Invalid type: ${mediaType}. Use: images, videos, or media | validation | error | |
| HTTP ${response.status()} | exception | error | |
| Disk write failed: ${writeErr.message} | exception | error | |
| MHTML archive requires Chromium CDP. Use 'text' or 'html' fo | exception | error | |
| Unknown write command: ${command} | validation | error | |
| Xvfb on ${display} exited during startup (code ${proc.exitCo | exception | error | |
| Xvfb on ${display} never became reachable within 3s timeout | exception | error | |
| browse-client: cannot find daemon port + token. Either spawn | exception | error | |
| browse-client: command "${cmd}" timed out after ${this.timeo | exception | error | |
| browse-client: daemon not running on port ${this.port} | exception | error | |
| browse-client: ${err.message ?? err} | exception | error | |
| browse-client: command "${cmd}" failed with status ${resp.st | exception | error | |
| Timed out waiting for concurrent daemon spawn | exception | error | |
| Daemon refused publish: ${errText} | exception | error | |
| Design daemon failed to start within ${MAX_START_WAIT_MS}ms. | exception | error | |
| API error (${response.status}): ${error.slice(0, 200)} | exception | error | |
| OpenAI organization verification required. Go to https://pla | exception | error | |
| API error (${response.status}): ${error.slice(0, 300)} | exception | error | |
| No image data in response | exception | error | |
| OpenAI organization verification required. Go to https://pla | exception | error | |
| API error (${response.status}): ${error.slice(0, 200)} | exception | error | |
| No image data in response. Output types: ${data.output?.map( | exception | error | |
| OpenAI organization verification required. Go to https://pla | exception | error | |
| API error (${response.status}): ${error.slice(0, 300)} | exception | error | openai-api, http, image-generation, network |
| No image data in threaded response | exception | error | openai-api, image-generation, response-shape, content-filter |
| No image data in fresh response | exception | error | openai-api, image-generation, response-shape, content-filter |
| Unknown host '${name}'. Valid hosts: ${ALL_HOST_NAMES.join(' | validation | error | config, registry, host-config, validation |
| Unknown host '${arg}'. Valid hosts: ${ALL_HOST_NAMES.join(', | validation | error | cli, config, registry, host-config, validation |
invalid_allowlist invalid_allowlist | validation | error | ios-qa, allowlist, security, json, config |
| gen-accessors: invalid @Snapshotable declaration(s): ${diagn | validation | error | ios-qa, codegen, swift, snapshot, validation |
| invalid mermaid render id: ${id} | validation | error | diagram-render, mermaid, validation, identifier |
| excalidraw scene has no elements array | validation | error | diagram-render, excalidraw, validation, json |
| targetWidthPx out of range: ${px} | validation | error | diagram-render, rasterization, validation, canvas |
| 2d canvas context unavailable | exception | error | diagram-render, rasterization, canvas, browser-env, headless |
| gbrain sources list returned no JSON | exception | error | gbrain, cli, json, config, destructive-op-guard |
| gbrain CLI not on PATH | exception | error | gbrain, cli, path, environment, setup |
| gbrain not configured (run /setup-gbrain) | exception | error | gbrain, config, database, setup |
| gbrain sources list returned non-JSON output: ${(err as Erro | exception | error | gbrain, cli, json, parsing |
| refusing drift re-register of ${id}: autopilot active (${ap. | exception | error | gbrain, destructive-op-guard, autopilot, drift, safety |
| refusing drift re-register of ${id}: ${decision.reason} | exception | error | gbrain, sync, drift, destructive-op, configuration |
| gbrain sources remove ${id} failed: ${rm.stderr || rm.stdout | exception | error | gbrain, subprocess, spawnsync, destructive-op, windows |
| gbrain sources add ${id} failed: ${add.stderr || add.stdout | exception | error | gbrain, subprocess, spawnsync, registration, windows |
| git ${args.join(' ')} failed (exit ${result.status}): ${stde | exception | error | git, subprocess, spawnsync, worktree, harvest |
127 browse resolve exited 127: browse binary not found.
make-pdf needs browse (the | exception | error | make-pdf, browse, binary-resolution, setup, environment |
| browse ${args[0] || "unknown"} exited ${exitCode}: ${stderr} | exception | error | make-pdf, browse, subprocess, execfilesync, daemon |
1 browse newtab exited 1: could not parse tab id from: ${out} | exception | error | make-pdf, browse, newtab, parsing, version-skew |
| diagram-render bundle did not become ready in the browse tab | exception | error | make-pdf, diagram, render, browse, timeout |
| ${bundleErrorMessage} | exception | error | make-pdf, diagram, render, mermaid, excalidraw |
| diagram-render bundle not found. Tried: ${candidates.map((c) | exception | error | make-pdf, diagram, bundle, binary-resolution, build |
| remote image blocked (offline posture): ${src} — re-run with | validation | warning | make-pdf, image, offline, strict-mode, network |
| image not found: ${src} (resolved to ${filePath}) | validation | warning | make-pdf, image, filesystem, strict-mode |
| image resolves OUTSIDE the input directory: ${src} → ${realF | validation | warning | make-pdf, image, security, symlink, strict-mode, path-traversal |
| image is not a regular file: ${src} | validation | warning | make-pdf, image, filesystem, strict-mode, security |
| image exceeds ${Math.round(MAX_IMAGE_BYTES / 1024 / 1024)}MB | validation | warning | make-pdf, image, memory, strict-mode, size-limit |
| input file not found: ${input} | validation | error | make-pdf, input, filesystem, validation |
| pdftotext not found. make-pdf needs pdftotext to run the co | exception | warning | make-pdf, pdftotext, binary-resolution, ci, poppler |
| pdftotext failed on ${pdfPath}: ${err.message} | exception | error | make-pdf, pdftotext, subprocess, execfilesync, pdf |
| gen-llms-txt: ${t.tmpl} is missing name or description in fr | validation | error | scripts, gen-llms-txt, frontmatter, yaml, build, validation |
| Unknown host: ${val}. Use ${ALL_HOST_NAMES.join(', ')}, or a | validation | error | cli, argument-validation, build, host |
| Unknown model: ${val}. Use ${ALL_MODEL_NAMES.join(', ')}, or | validation | error | cli, argument-validation, build, model |
| Unknown catalog mode: ${val}. Use 'trim' (default) or 'full' | validation | error | cli, argument-validation, build, catalog |
| Unknown explain level: ${val}. Use 'default' or 'terse'. | validation | error | cli, argument-validation, build, explain-level |
| --out-dir requires a directory path | validation | error | cli, argument-validation, build, out-dir |
| ${hostConfig.displayName} description for "${name}" is ${des | validation | error | build, frontmatter, template, validation |
| Unknown placeholder {{${resolverName}}} in ${relTmplPath} | exception | error | template, resolver, build |
| Unresolved placeholders in ${relTmplPath}: ${remaining.join( | exception | error | template, resolver, build, nested |
| Unknown page type: ${pageType} | exception | error | schema, gbrain, validation |
| Unsafe value for ${context}: ${val} | exception | error | security, validation, shell-injection, host-config |
| Codex description for "${name}" is ${description.length} cha | exception | error | build, codex, frontmatter, template |
| {{INVOKE_SKILL}} requires a skill name, e.g. {{INVOKE_SKILL: | exception | error | template, resolver, composition |
| {{LEARNINGS_SEARCH:query=...}} value must match ${QUERY_SAFE | exception | error | template, resolver, security, validation |
| Invalid preamble-tier: ${tier} in ${ctx.tmplPath}. Must be 1 | exception | error | template, resolver, preamble, validation |
| {{SECTION:${id}}} — no section "${id}" in ${skill}/sections/ | exception | error | template, resolver, sections, manifest |
| {{SECTION:id}} requires a section id | exception | error | template, resolver, sections |
| TASKS_SECTION_EMIT requires one of ${[...VALID_PHASES].join( | exception | error | template, resolver, tasks, autoplan |
| Shard count must be a positive integer. Received: ${shardCou | exception | error | test, sharding, validation |
| Missing value for --shards | exception | error | cli, argument-validation, test |
| Missing value for --shard | exception | error | cli, argument-validation, test |
| Unknown argument: ${arg} | exception | error | cli, argument-validation, sharding, ci |
| No free test files were discovered. | exception | error | test-discovery, filesystem, cwd, ci, sharding |
| --shard must be between 1 and ${shards.length}. Received: ${ | exception | error | sharding, ci, argument-validation, matrix |