Troubleshooting
Common errors and how to fix them
CFG_MISSING_BASE_URL / CFG_MISSING_CLUSTER_BASE_URL
Fix: Set the field to your Kubo RPC endpoint (e.g.
baseUrl (or clusterBaseUrl for Cluster/Storage operations) was blank or
missing.
Fix: Set the field to your Kubo RPC endpoint (e.g.
http://127.0.0.1:5001)
or Cluster REST endpoint (e.g. http://127.0.0.1:9094) — see Configuration.
baseUrl rejected — "in a denied range (link-local / cloud-metadata)"
The URL points at
Fix: Point at your actual Kubo/Cluster daemon. Loopback and private-LAN addresses are allowed — see Connecting for the full policy.
The URL points at
169.254.0.0/16, fe80::/10, or the cloud-metadata address —
the only targets this node's (deliberately permissive) SSRF policy blocks.
Fix: Point at your actual Kubo/Cluster daemon. Loopback and private-LAN addresses are allowed — see Connecting for the full policy.
Connection refused / timeout calling the daemon
Kubo or Cluster isn't running at the configured URL, or a firewall is blocking the request.
Fix: Confirm the daemon is up (
Kubo or Cluster isn't running at the configured URL, or a firewall is blocking the request.
Fix: Confirm the daemon is up (
ipfs daemon for Kubo,
ipfs-cluster-service daemon for Cluster) and reachable from wherever the workflow executes.
A system/id call is a good lightweight connectivity check.
CFG_CONFIRM_REQUIRED / CFG_CONFIRM_DESTRUCTIVE_REQUIRED
You called
Fix: These operations are deliberately blocked before any network call until you explicitly confirm — see Connecting. Add
You called
repo/garbageCollect, or bootstrap/remove with all=true,
without also setting confirmDestructive=true.
Fix: These operations are deliberately blocked before any network call until you explicitly confirm — see Connecting. Add
confirmDestructive=true once you're sure.
MISSING_CONTENT / MISSING_FILE_DATA
A binary-input operation (
Fix: Confirm the upstream node actually outputs bytes under the key you set for
A binary-input operation (
content/add, dag/put, files/write, etc.)
found nothing under InputData[inputDataKey] and no inlineContent fallback.
Fix: Confirm the upstream node actually outputs bytes under the key you set for
inputDataKey (default data), or set inlineContent directly.
INVALID_CONTENT_ENCODING / INVALID_FILE_DATA_ENCODING
The resolved string content could not be decoded per
Fix: If the upstream data is plain text, set
The resolved string content could not be decoded per
dataMode — usually malformed base64.
Fix: If the upstream data is plain text, set
dataMode=text instead of
the default base64; if it's meant to be base64, check the upstream node isn't
double-encoding or truncating it.
storage/verifyIntegrity reports
Usually a CID-version or chunker mismatch between the original add and the recompute, not actual corruption.
Fix: If you added the content with a non-default
matches: false for content you know is intactUsually a CID-version or chunker mismatch between the original add and the recompute, not actual corruption.
Fix: If you added the content with a non-default
chunker, pass the
same chunker value on verifyIntegrity. CID version is inferred automatically
from the expected CID's own prefix, so it usually needs no manual override — see
Storage Operations.
pin/remoteRemove fails asking for
Your
Fix: Narrow the filter to match exactly one pin, or set
force=trueYour
nameFilter/cidFilter/statusFilter combination matched more
than one remote pin, and Kubo refuses an ambiguous bulk removal by default.
Fix: Narrow the filter to match exactly one pin, or set
force=true if
removing all matches is intentional.
"Refusing to remove the MFS root path"
You called
Fix: This is blocked deliberately, before any network call — target a specific subpath instead.
You called
files/remove with mfsPath=/.
Fix: This is blocked deliberately, before any network call — target a specific subpath instead.
name/publish or key/rename fails referencing a key that "doesn't exist"
The
Fix: Run key/generate first, or confirm the exact name with key/list.
The
keyName/oldKeyName hasn't been created yet — only the implicit
self key exists by default.
Fix: Run key/generate first, or confirm the exact name with key/list.