# KnownFix — full free tier > Verified fixes, priced below the tokens it takes to re-derive them. > Everything free about this store, in one fetch. Paid fix bodies are NOT here. Price: $0.05 USDC on Base, or the signed exact-ETH equivalent, to 0x064d15003e84eb6604a4c7f3745a135a588b6328. Remote MCP: https://knownfix-backend-28.b-hash88.deno.net/mcp HTTP: https://knownfix-backend-28.b-hash88.deno.net Smithery: https://smithery.ai/servers/knownfix/knownfix Buy: a paid search result or an unpaid get_fix/get_skill call includes signed USDC and ETH offers; get_offer / POST {backend}/offer is optional. Use the exact payment parameters; redeem with paymentTx + paymentOffer (or x-payment-tx + x-payment-offer). The bearer offer is product-bound, expires in one hour, and stays private. Honesty: "verified-in-production" = reproduced and fixed in a real session. "documented" = documentation-backed, not production-verified; local fixture tests are described separately. /match returns empty rather than pretending. ## Professional reviews - [KnownFix Evidence Audit: Focused](https://b-hash88.github.io/knownfix/services/website-first-look.html): $149.00 USDC; 3 business days; One public website: the homepage plus up to four key journey pages. - [KnownFix Evidence Audit: Comprehensive](https://b-hash88.github.io/knownfix/services/website-growth-audit.html): $399.00 USDC; 5 business days; One public website and up to 15 representative pages. - [Codebase Review](https://b-hash88.github.io/knownfix/services/codebase-review.html): $249.00 USDC; 4 business days; One public GitHub repository up to 50,000 source lines. Larger or private repositories require a scoped quote. - [Agent Commerce Audit](https://b-hash88.github.io/knownfix/services/agent-commerce-audit.html): $199.00 USDC; 3 business days; One public agent-facing service, API, MCP server, or paid endpoint. - [Release Pipeline Review](https://b-hash88.github.io/knownfix/services/release-pipeline-review.html): $129.00 USDC; 2 business days; One public GitHub repository and its checked-in CI/release configuration. Order and private ticket checkout: https://b-hash88.github.io/knownfix/services.html Agent API: https://knownfix-backend-28.b-hash88.deno.net/services ## Merch Store Collection: https://knownfix-backend-28.b-hash88.deno.net/go/merch?source=llms Catalog tool: list_merch Fourthwall handles localized price, product options, fulfillment, tax, shipping, and human checkout. KnownFix records only closed-vocabulary aggregate redirect counts; no identity, referrer, IP address, or checkout data is stored. ## Fix __dirname is not defined in ES module scope in Node.js [FREE SAMPLE — full body] Signature: ReferenceError: __dirname is not defined in ES module scope Also matches: __filename is not defined in ES module scope | Node.js ESM __dirname Windows path Tags: node, javascript, esm, modules, windows | Confidence: documented Cause: An ES module does not receive the CommonJS __dirname binding. This fixture uses a .mjs file, so Node loads it as ESM. Derive the directory from that module's file URL instead of substituting the process working directory. Fix: In a file-backed ES module, use dirname(fileURLToPath(import.meta.url)). This preserves native Windows paths and decodes URL characters. On the tested Node 22.23.2 runtime, import.meta.dirname is also available. Patch: import { fileURLToPath } from 'node:url'; import { dirname } from 'node:path'; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); console.log(__dirname); // Alternative on the tested Node 22.23.2 runtime: // console.log(import.meta.dirname); Verified: Local fixture verification, not a production incident: Windows, Node 22.23.2, 2026-09-05 UTC. Two fresh fixture directories and independent Node processes each reproduced the ReferenceError before the change, then exited 0 after the change. Both the URL conversion and import.meta.dirname matched a directory containing spaces and #. A .cjs control confirmed that CommonJS still supplies __dirname. Page: https://b-hash88.github.io/knownfix/fixes/node-esm-dirname-not-defined.html ## Fix ERR_UNSUPPORTED_DIR_IMPORT in Node.js ES modules [FREE SAMPLE — full body] Signature: Error [ERR_UNSUPPORTED_DIR_IMPORT]: Directory import is not supported resolving ES modules Also matches: Directory import is not supported resolving ES modules imported from | Node ESM import ./utils index.js Tags: node, javascript, esm, import, modules | Confidence: documented Cause: A relative ESM import points to a directory instead of the module file. In the tested native Node loader, './utils' does not automatically resolve './utils/index.mjs'. Name the actual file, including its extension. Fix: Replace the relative directory import with an explicit path to the existing module file. For the fixture below, change './utils' to './utils/index.mjs'. If your emitted file is index.js, use that actual filename instead. Patch: // utils/index.mjs export const answer = 42; // app.mjs: before (ERR_UNSUPPORTED_DIR_IMPORT) // import { answer } from './utils'; // app.mjs: after import { answer } from './utils/index.mjs'; console.log(answer); // 42 Verified: Local fixture verification, not a production incident: Windows, Node 22.23.2, 2026-09-05 UTC. In two fresh fixture directories, importing './utils' exited 1 with ERR_UNSUPPORTED_DIR_IMPORT. Importing './utils/index.mjs' exited 0 and printed 42. A contradictory-case check importing a nonexistent explicit file produced ERR_MODULE_NOT_FOUND instead. Page: https://b-hash88.github.io/knownfix/fixes/node-esm-unsupported-dir-import.html ## OpenZeppelin 5.x fails to compile: Function "mcopy" not found [FREE SAMPLE — full body] Signature: DeclarationError: Function "mcopy" not found Tags: solidity, hardhat, openzeppelin, compile | Confidence: verified-in-production Cause: OpenZeppelin Contracts 5.x uses the mcopy opcode, which only exists from the Cancun EVM target onward. Hardhat's default evmVersion for solc 0.8.24 targets an older fork. Fix: Set evmVersion to 'cancun' in your Hardhat solidity settings. Patch: solidity: { version: '0.8.24', settings: { evmVersion: 'cancun', optimizer: { enabled: true } } } Verified: hardhat compile succeeds; previously failed with four mcopy DeclarationErrors from Bytes.sol. Page: https://b-hash88.github.io/knownfix/fixes/oz5-mcopy-cancun.html ## npm ERESOLVE installing @nomicfoundation/hardhat-verify with Hardhat 2 [PAID] Signature: peer hardhat@"^3.12.0" from @nomicfoundation/hardhat-verify Tags: npm, hardhat, dependencies | Confidence: verified-in-production Cause and remedy are paid. Buy id "hardhat-verify-peer-conflict" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/hardhat-verify-peer-conflict Page: https://b-hash88.github.io/knownfix/fixes/hardhat-verify-peer-conflict.html ## Env var set for an MCP stdio server never arrives [PAID] Signature: MCP server ignores environment variable set in parent shell Tags: mcp, stdio, environment, secrets | Confidence: verified-in-production Cause and remedy are paid. Buy id "mcp-stdio-env-not-inherited" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/mcp-stdio-env-not-inherited Page: https://b-hash88.github.io/knownfix/fixes/mcp-stdio-env-not-inherited.html ## ethers v6 reports 'execution reverted (unknown custom error)' though the ABI defines it [PAID] Signature: execution reverted (unknown custom error) Tags: ethers, solidity, errors, testing | Confidence: verified-in-production Cause and remedy are paid. Buy id "ethers6-custom-error-unnamed" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/ethers6-custom-error-unnamed Page: https://b-hash88.github.io/knownfix/fixes/ethers6-custom-error-unnamed.html ## deploymentTransaction().wait(N>1) hangs forever on a local Hardhat node [PAID] Signature: wait(2) never resolves on localhost 31337 Tags: hardhat, deploy, localhost | Confidence: verified-in-production Cause and remedy are paid. Buy id "hardhat-wait-confirmations-hang" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/hardhat-wait-confirmations-hang Page: https://b-hash88.github.io/knownfix/fixes/hardhat-wait-confirmations-hang.html ## Node on Windows: 'Assertion failed: !(handle->flags & UV_HANDLE_CLOSING)' at exit [PAID] Signature: Assertion failed: !(handle->flags & UV_HANDLE_CLOSING), file src\win\async.c Tags: node, windows, ethers, process | Confidence: verified-in-production Cause and remedy are paid. Buy id "windows-libuv-assert-on-exit" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/windows-libuv-assert-on-exit Page: https://b-hash88.github.io/knownfix/fixes/windows-libuv-assert-on-exit.html ## node --test with a bare directory argument fails with a nameless failing 'test' [FREE SAMPLE — full body] Signature: test at test:1:1 ... 'test failed' with zero real tests run Tags: node, testing, windows | Confidence: verified-in-production Cause: Passing a directory path like test/ to node --test can be misinterpreted on Windows, producing a single synthetic failing entry instead of running the suite. Fix: Name the test file explicitly (node --test test/my.test.js) or use the default discovery by running node --test with no path argument from the project root. Verified: Same suite: 1 nameless failure via 'node --test test/', 7/7 passing via the explicit file path, Node 24.15 on Windows 11. Page: https://b-hash88.github.io/knownfix/fixes/node-test-dir-arg-windows.html ## Panic 0x32 (array out-of-bounds) in a view function that 'cannot' be wrong [PAID] Signature: reverted with panic code 0x32 Tags: solidity, arrays, fuzzing | Confidence: verified-in-production Cause and remedy are paid. Buy id "solidity-panic-0x32-derived-index" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/solidity-panic-0x32-derived-index Page: https://b-hash88.github.io/knownfix/fixes/solidity-panic-0x32-derived-index.html ## npm install 'succeeded' but the package is not there [PAID] Signature: Cannot find module 'X' immediately after npm i X appeared to succeed Tags: npm, dependencies, ci | Confidence: verified-in-production Cause and remedy are paid. Buy id "npm-install-silent-failure" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/npm-install-silent-failure Page: https://b-hash88.github.io/knownfix/fixes/npm-install-silent-failure.html ## PowerShell 5.1: '&&' and '||' are parser errors [PAID] Signature: The token '&&' is not a valid statement separator in this version Tags: powershell, windows, shell | Confidence: documented Cause and remedy are paid. Buy id "ps51-no-pipeline-chain-operators" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/ps51-no-pipeline-chain-operators Page: https://b-hash88.github.io/knownfix/fixes/ps51-no-pipeline-chain-operators.html ## ethers v6: 'nonce has already been used' on back-to-back transactions [PAID] Signature: nonce has already been used Tags: ethers, nonce, transactions | Confidence: verified-in-production Cause and remedy are paid. Buy id "ethers6-sequential-nonce-reuse" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/ethers6-sequential-nonce-reuse Page: https://b-hash88.github.io/knownfix/fixes/ethers6-sequential-nonce-reuse.html ## curl -w format strings mangled into C:/Program Files/Git/ paths on git-bash [PAID] Signature: C:/Program Files/Git/ prefixed onto strings that started with a forward slash Tags: windows, git-bash, msys, curl | Confidence: verified-in-production Cause and remedy are paid. Buy id "msys-curl-format-path-mangling" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/msys-curl-format-path-mangling Page: https://b-hash88.github.io/knownfix/fixes/msys-curl-format-path-mangling.html ## localtunnel started with & goes dead (408) after the launching shell exits [PAID] Signature: tunnel URL returns 408 minutes after working Tags: localtunnel, tunnels, processes | Confidence: verified-in-production Cause and remedy are paid. Buy id "localtunnel-dies-with-parent-shell" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/localtunnel-dies-with-parent-shell Page: https://b-hash88.github.io/knownfix/fixes/localtunnel-dies-with-parent-shell.html ## Search engines cannot index a site behind a free tunnel [PAID] Signature: crawler receives 'Tunnel website ahead!' page with meta robots noindex Tags: seo, tunnels, crawlers, indexing | Confidence: verified-in-production Cause and remedy are paid. Buy id "free-tunnel-noindex-interstitial" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/free-tunnel-noindex-interstitial Page: https://b-hash88.github.io/knownfix/fixes/free-tunnel-noindex-interstitial.html ## File 404s on GitHub Pages for a minute or two after a successful push [PAID] Signature: fresh push visible in repo but 404 on the pages URL Tags: github-pages, deploy, ci | Confidence: verified-in-production Cause and remedy are paid. Buy id "gh-pages-deploy-lag" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/gh-pages-deploy-lag Page: https://b-hash88.github.io/knownfix/fixes/gh-pages-deploy-lag.html ## Probing a dependency via require('X/package.json') throws ERR_PACKAGE_PATH_NOT_EXPORTED [FREE SAMPLE — full body] Signature: Package subpath './package.json' is not defined by "exports" Tags: node, npm, exports-map | Confidence: verified-in-production Cause: Packages with an exports map (ethers 6, many modern libs) do not expose package.json as an importable subpath, so the common install-check idiom crashes even though the install succeeded. Fix: Verify installs by requiring the module itself (e.g. require('ethers').version), not its package.json. Verified: ethers 6.17 install looked failed via the package.json probe; requiring the module directly confirmed it was fine. Page: https://b-hash88.github.io/knownfix/fixes/err-package-path-not-exported-probe.html ## Adding a second GitHub account to the gh CLI without touching credentials [PAID] Signature: gh auth switch says 'no accounts matched that criteria' for a browser-logged-in account Tags: github, gh-cli, auth, agents | Confidence: verified-in-production Cause and remedy are paid. Buy id "gh-cli-second-account-device-flow" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/gh-cli-second-account-device-flow Page: https://b-hash88.github.io/knownfix/fixes/gh-cli-second-account-device-flow.html ## npm publish EOTP/403: one-time password or authorized publishing path required [PAID] Signature: 403 Forbidden - PUT https://registry.npmjs.org/... Two-factor authentication or granular access token with bypass 2fa enabled is required to publish packages Also matches: npm ERR! code EOTP | This operation requires a one-time password from your authenticator. | You can provide a one-time password by passing --otp= to the command you ran. Tags: npm, publish, 2fa, tokens | Confidence: documented Cause and remedy are paid. Buy id "npm-publish-2fa-403" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/npm-publish-2fa-403 Page: https://b-hash88.github.io/knownfix/fixes/npm-publish-2fa-403.html ## npm Trusted Publishing returns ENEEDAUTH in GitHub Actions [PAID] Signature: npm error code ENEEDAUTH ... need auth This command requires you to be logged in to https://registry.npmjs.org/ Tags: npm, publish, oidc, trusted-publishing | Confidence: documented Cause and remedy are paid. Buy id "npm-trusted-publishing-eneedauth" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/npm-trusted-publishing-eneedauth Page: https://b-hash88.github.io/knownfix/fixes/npm-trusted-publishing-eneedauth.html ## npm publish E404 on a brand-new package with a granular access token [PAID] Signature: npm error 404 Not Found - PUT https://registry.npmjs.org/ - The requested resource could not be found or you do not have permission Tags: npm, publish, tokens, permissions | Confidence: verified-in-production Cause and remedy are paid. Buy id "npm-granular-token-new-package-404" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/npm-granular-token-new-package-404 Page: https://b-hash88.github.io/knownfix/fixes/npm-granular-token-new-package-404.html ## PowerShell Read-Host: secret pasted into the prompt string yields an empty variable [PAID] Signature: $t = Read-Host "" ... later auth fails with ENEEDAUTH / empty credential Tags: powershell, windows, secrets, shell | Confidence: verified-in-production Cause and remedy are paid. Buy id "powershell-readhost-prompt-secret" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/powershell-readhost-prompt-secret Page: https://b-hash88.github.io/knownfix/fixes/powershell-readhost-prompt-secret.html ## git push to your own private repo fails with 'repository not found' [FREE SAMPLE — full body] Signature: fatal: repository 'https://github.com/OWNER/REPO.git/' not found Tags: github, gh-cli, git, auth | Confidence: verified-in-production Cause: The gh CLI's active account silently reverted to a different logged-in account that has no access to the private repo. git uses gh as its credential helper, so it now presents the wrong account's token and the private repo appears not to exist (404, not 403). Fix: Confirm the active account with `gh api user --jq .login`; if it's the wrong one, `gh auth switch -u ` then `gh auth setup-git` and retry the push. A 404 (not 403) on a repo you own is the tell that it's an identity problem, not a missing repo. Verified: Reproduced this session: push 404'd on a private repo; gh api user showed the wrong account; switching accounts fixed the identical push immediately. Page: https://b-hash88.github.io/knownfix/fixes/gh-cli-account-revert-private-repo-404.html ## Deno Deploy returns 508 Loop Detected when a deployment fetches its own URL [FREE SAMPLE — full body] Signature: 508 (Loop Detected) on fetch to the app's own *.deno.net hostname Tags: deno, deno-deploy, serverless, fetch | Confidence: verified-in-production Cause: Deno Deploy blocks a deployment from making subrequests to its own public hostname (loop protection). A self-audit, self-health-check, or any fetch to your own *.deno.net URL from inside the same deployment returns 508. Fix: Never fetch your own public URL from within the deployment. Call the logic in-process (invoke the handler/function directly), and reserve fetch() for external hosts only. If you must probe self, do it from an external client. Verified: Reproduced this session: an audit tool fetching KnownFix's own deno.net host returned 508 on every subrequest; auditing any external host worked normally. Page: https://b-hash88.github.io/knownfix/fixes/deno-deploy-508-self-fetch-loop.html ## Deno KV reads empty on new Deno Deploy until you attach a database [FREE SAMPLE — full body] Signature: kv appears disabled / Deno.openKv() bound but reads and writes are empty on console.deno.com Tags: deno, deno-deploy, kv, serverless | Confidence: verified-in-production Cause: The new Deno Deploy (console.deno.com) does not auto-provision Deno KV the way Deploy Classic did. Deno.openKv() can succeed but stay unbound until a KV database is explicitly attached to the app. Fix: In the app's Databases tab, Provision a Deno KV database then Attach it. The binding applies to the running deployment with no redeploy. Expose a health field that reports whether KV is bound so you notice this immediately. Verified: This session: first deploy reported kv:false; attaching KV via the Databases tab flipped it to kv:true with zero code change. Page: https://b-hash88.github.io/knownfix/fixes/deno-deploy-kv-not-auto-enabled.html ## Deno.openKv() throws locally without the --unstable-kv flag [FREE SAMPLE — full body] Signature: Deno.openKv is not a function / requires --unstable-kv (works on Deploy, fails on local deno run) Tags: deno, kv, local-dev | Confidence: verified-in-production Cause: Deno KV is automatic on Deno Deploy but on a local `deno run` it needs the --unstable-kv flag; without it, Deno.openKv() is unavailable and throws. Fix: Run locally with `deno run --unstable-kv ...` (or add it to a deno task). Wrap the call in try/catch with an in-memory fallback so the server still boots where KV is absent. Verified: This session: the backend's Deno.openKv() failed locally until --unstable-kv was added; the try/catch fallback kept it running either way. Page: https://b-hash88.github.io/knownfix/fixes/deno-openkv-unstable-flag-local.html ## MCP Registry publish fails 422: description exceeds 100 characters [FREE SAMPLE — full body] Signature: validation failed: expected length <= 100, location body.description Tags: mcp, mcp-registry, publishing | Confidence: verified-in-production Cause: The MCP Registry server.json schema caps `description` at 100 characters; anything longer fails validation with HTTP 422. Fix: Trim server.json `description` to <= 100 chars (mcp-publisher validate names the exact field and value). Put the longer pitch in websiteUrl/README, not the registry description. Verified: This session: mcp-publisher validate returned 422 on a 103-char description; trimming to 92 passed. Page: https://b-hash88.github.io/knownfix/fixes/mcp-registry-description-100-char-422.html ## MCP Registry publish 401: Invalid or expired Registry JWT token [FREE SAMPLE — full body] Signature: publish failed: server returned status 401 ... token has invalid claims: token is expired Also matches: Invalid or expired Registry JWT token | failed to parse token: token has invalid claims: token is expired | mcp-publisher publish failed 401 Unauthorized Tags: mcp, mcp-registry, auth, github-actions, oidc | Confidence: verified-in-production Cause: The Registry JWT cached after `mcp-publisher login github` is short-lived. `mcp-publisher validate` checks manifest and package validity but does not refresh or prove that publish credential, so validation can pass immediately before publication returns 401. GitHub CLI authentication is a separate credential boundary and does not refresh the Registry JWT. Fix: For a one-off release, validate, run `mcp-publisher login github`, and publish immediately. For recurring GitHub-hosted releases, give only the publication job `contents: read` and `id-token: write`, then use `mcp-publisher login github-oidc` immediately before publish; no long-lived Registry token is needed. Pin the official publisher release and verify its checksum before execution. Verified: Reproduced on 2026-08-27: the official publisher validated the same server.json, then publish returned 401 with 'token is expired'. KnownFix moved publication to a checksum-pinned GitHub OIDC workflow; run 33091436542 authenticated with github-oidc, published version 0.3.15, and the public Registry API returned that exact version, remote endpoint, icon, and unchanged npm bridge. Page: https://b-hash88.github.io/knownfix/fixes/mcp-registry-jwt-expired-401.html ## Windows: an env var set with setx is missing in the shell that set it [FREE SAMPLE — full body] Signature: environment variable appears unset immediately after setx reported success Tags: windows, environment, shell, powershell | Confidence: verified-in-production Cause: setx writes the variable to the registry for FUTURE processes only. It does not update already-running shells — including the one that ran setx and any pre-existing terminals or agent processes. Fix: Open a NEW shell to pick it up, or set it in the current session ($env:VAR="..." in PowerShell, export in bash), or read the value from a file. Any process spawned before the setx will never see it. Verified: This session: a key set via setx was invisible to already-running processes; a new shell and a file-based read both resolved it. Page: https://b-hash88.github.io/knownfix/fixes/windows-setx-not-in-running-shell.html ## git push rejected: OAuth App cannot create/update workflow without workflow scope [PAID] Signature: ! [remote rejected] main -> main (refusing to allow an OAuth App to create or update workflow `.github/workflows/x.yml` without `workflow` scope) Tags: github, git, gh-cli, github-actions, auth | Confidence: verified-in-production Cause and remedy are paid. Buy id "gh-push-workflow-scope-rejected" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/gh-push-workflow-scope-rejected Page: https://b-hash88.github.io/knownfix/fixes/gh-push-workflow-scope-rejected.html ## GitHub Actions: Unable to resolve action, unable to find version [PAID] Signature: ##[error]Unable to resolve action `actions/checkout@v99`, unable to find version `v99` Tags: github-actions, ci, workflow | Confidence: verified-in-production Cause and remedy are paid. Buy id "gh-actions-unresolved-action-version" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/gh-actions-unresolved-action-version Page: https://b-hash88.github.io/knownfix/fixes/gh-actions-unresolved-action-version.html ## GitHub Actions: git push in a workflow fails 403 (exit code 128) [PAID] Signature: fatal: unable to access '...': The requested URL returned error: 403 ... Process completed with exit code 128 Tags: github-actions, ci, permissions, github-token | Confidence: verified-in-production Cause and remedy are paid. Buy id "gh-actions-token-permissions-403" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/gh-actions-token-permissions-403 Page: https://b-hash88.github.io/knownfix/fixes/gh-actions-token-permissions-403.html ## actions/setup-node cache fails: Dependencies lock file is not found [PAID] Signature: Dependencies lock file is not found in ... Supported file patterns: package-lock.json,npm-shrinkwrap.json,yarn.lock Tags: github-actions, ci, setup-node, cache, npm | Confidence: verified-in-production Cause and remedy are paid. Buy id "gh-actions-setup-node-cache-no-lockfile" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/gh-actions-setup-node-cache-no-lockfile Page: https://b-hash88.github.io/knownfix/fixes/gh-actions-setup-node-cache-no-lockfile.html ## GitHub Actions warns Node 20 is deprecated, running with Node 24 by default [PAID] Signature: Node 20 is being deprecated. This workflow is running with Node 24 by default. ... ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true Also matches: Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24 | actions/upload-artifact@v4 Node.js 20 is deprecated | pages-build-deployment Node 20 is deprecated Tags: github-actions, github-pages, ci, node, upload-artifact, deprecation | Confidence: verified-in-production Cause and remedy are paid. Buy id "gh-actions-node20-deprecation-runner" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/gh-actions-node20-deprecation-runner Page: https://b-hash88.github.io/knownfix/fixes/gh-actions-node20-deprecation-runner.html ## How to skip a GitHub Actions run for a commit ([skip ci]) [PAID] Signature: a pushed commit should NOT trigger any workflow run Tags: github-actions, ci, skip-ci | Confidence: verified-in-production Cause and remedy are paid. Buy id "gh-actions-skip-ci-no-run" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/gh-actions-skip-ci-no-run Page: https://b-hash88.github.io/knownfix/fixes/gh-actions-skip-ci-no-run.html ## GitHub Actions: workflow run is named by its file path and fails instantly (invalid YAML) [PAID] Signature: a run appears named `.github/workflows/x.yml` (the file path, not the workflow name) and fails immediately Tags: github-actions, ci, yaml, workflow | Confidence: verified-in-production Cause and remedy are paid. Buy id "gh-actions-invalid-workflow-yaml" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/gh-actions-invalid-workflow-yaml Page: https://b-hash88.github.io/knownfix/fixes/gh-actions-invalid-workflow-yaml.html ## Loading deferred MCP tools one at a time wastes a round-trip per tool [PAID] Signature: repeated ToolSearch select: calls for tools from the same server Tags: mcp, agents, performance | Confidence: documented Cause and remedy are paid. Buy id "mcp-tool-search-batching" via MCP get_fix or https://knownfix-backend-28.b-hash88.deno.net/fix/mcp-tool-search-batching Page: https://b-hash88.github.io/knownfix/fixes/mcp-tool-search-batching.html ## GitHub Pages serves 404 while the repo and index.html are both intact [FREE SAMPLE — full body] Signature: {"message":"Not Found","documentation_url":"https://docs.github.com/rest/pages/pages#get-a-apiname-pages-site","status":"404"} Tags: github, github-pages, deploy, hosting, 404 | Confidence: verified-in-production Cause: Pages is not enabled for the repository at all. The site 404s on every path while the repository is public, the branch is current, and index.html is present — because publishing is a repo SETTING, not a consequence of committing files. Disabling Pages (or never finishing its setup) leaves the content untouched and simply stops serving it, so every content-level check you run reports healthy. This is not a build failure and not propagation lag: a failed build serves the previous version and reports an error, and lag resolves itself within minutes. Here there is no Pages site object to report anything, which is exactly what the 404 above tells you. Fix: Ask the Pages API whether a site exists before debugging content. `gh api repos/OWNER/REPO/pages` returning 404 means Pages is unconfigured — re-enable it with `gh api -X POST repos/OWNER/REPO/pages -f "source[branch]=main" -f "source[path]=/"`, then poll `gh api repos/OWNER/REPO/pages/builds/latest` until status is "built". Patch: # 1. Is this a content problem or a settings problem? gh api repos/OWNER/REPO/pages # 404 => Pages is OFF, stop debugging content gh api repos/OWNER/REPO/contents/index.html --jq .name # proves the file is fine # 2. Turn it back on (source branch + path are required) gh api -X POST repos/OWNER/REPO/pages \ -f "source[branch]=main" -f "source[path]=/" # 3. Wait for the build, then confirm the site actually serves gh api repos/OWNER/REPO/pages/builds/latest --jq '.status + " " + (.error.message // "none")' curl -s -o /dev/null -w '%{http_code}\n' https://OWNER.github.io/REPO/ Verified: Reproduced and fixed in production this session. The site root, llms.txt and sitemap.xml all returned 404 while `gh api repos/OWNER/REPO/contents/index.html` returned the file at 45,231 bytes and the repo showed a push earlier the same day. `gh api repos/OWNER/REPO/pages` returned exactly the Not Found body above — no site object. The POST returned `"status":"building"`, the site served 200 roughly 16 seconds later, and `pages/builds/latest` reported `status: built` with no error. Two public records had meanwhile been pointing at the dead URL: the MCP registry websiteUrl and the npm package homepage, both of which recovered on their own once the site returned. Page: https://b-hash88.github.io/knownfix/fixes/gh-pages-disabled-site-404.html ## npm exec says the package command is not recognized inside its own source directory [FREE SAMPLE — full body] Signature: '' is not recognized as an internal or external command, operable program or batch file. Also matches: knownfix is not recognized as an internal or external command | npm exec --package=@ -- exits 1 in the matching package root | npx cannot find a package binary while testing from that package's source directory Tags: npm, npx, release, windows, package | Confidence: verified-in-production Cause: npm exec treats an exact package name and version already present in the local project as satisfying --package. Inside that package's own source root, its bin declaration exists but no installed node_modules/.bin shim places the command on PATH, so npm does not fetch a separate registry copy and the Windows shell reports that the command is not recognized. From a neutral consumer directory, no local match exists, so npm installs the requested package into its cache and adds the package executable to PATH. Fix: Test a published executable from a neutral directory outside the package source tree. Inside the source checkout, invoke the local bin entry directly or through a repository script; do not use that same checkout as proof that the registry artifact installs. Verified: Reproduced on Windows 11 with Node 24.15.0 and npm 11.12.1. A disposable package root named knownfix at version 0.3.13 with a matching bin declaration returned exit 1 and the exact not-recognized message. The identical npm exec command from a neutral consumer package returned exit 0 and ran the public knownfix@0.3.13 binary. npm's current official npm-exec documentation confirms exact local name/version matches satisfy --package, while fetched packages are installed into a cache directory that is added to PATH. Page: https://b-hash88.github.io/knownfix/fixes/npm-exec-local-bin-not-found.html