Skip to content

Error codes

Every user-facing error in Weld has a stable code, WELD-Exxxx. The CLI, the web dashboard, the MCP tools Claude uses and the hub API all show the same three things: what happened, why (the most likely cause) and the fix. This page lists all 213 codes and is generated from the same catalog the software uses.

Codes are never reused or renumbered. In a message, {name} stands for a detail filled in at the time (a path, a version, a node name). Severity is info, warning, error or fatal. An auto-fix means weld doctor can repair it for you.

Area Codes
Observability (06xx) 3
Hub (10xx server, 11xx as seen by clients) 28
Auth (20xx) 22
Node and coordination (21xx–29xx) 19
Git and version control (30xx hosting, 31xx vcs, 32xx client) 34
Jobs (4xxx) 42
Engine, assets and GPU (5xxx) 11
Agents and Claude Code (7xxx) 11
Releases, updates and provisioning (8xxx) 26
Doctor and environment (9xxx) 17
Code Title Severity
WELD-E0601 Invalid telemetry query error
WELD-E0602 Telemetry store error error
WELD-E0603 Trace not found error

  • Message: {detail}
  • Why: The request parameters are invalid.
  • Fix: Check the arguments, e.g. trace ids are 32 hex characters.
  • Severity: error · HTTP: 400

  • Message: telemetry store error
  • Why: The hub’s telemetry.db failed.
  • Fix: Check hub disk space and telemetry.db permissions; see hub logs.
  • Severity: error

  • Message: trace {trace} not found
  • Why: No spans or logs with this trace id are stored (older than retention or not forwarded yet).
  • Fix: Check the id, or search logs with weld ops logs.
  • Severity: error · HTTP: 404

Hub (10xx server, 11xx as seen by clients)

Section titled “Hub (10xx server, 11xx as seen by clients)”
Code Title Severity
WELD-E1000 Hub internal error error
WELD-E1001 Not authenticated error
WELD-E1002 Coordination database error error
WELD-E1003 Forbidden error
WELD-E1004 Not found error
WELD-E1005 Conflict error
WELD-E1006 Invalid request error
WELD-E1007 Protocol mismatch error
WELD-E1008 Secrets key unavailable error
WELD-E1009 Job is in the wrong state error
WELD-E1010 Not the assigned node error
WELD-E1011 Dev tokens are disabled error
WELD-E1012 WebSocket protocol error error
WELD-E1013 Secret not declared by job error
WELD-E1101 Hub unreachable error
WELD-E1102 Hub hostname does not resolve error
WELD-E1103 TLS handshake with the hub failed error
WELD-E1104 Hub reports unhealthy error
WELD-E1105 This weld is too old for the hub error
WELD-E1106 The hub is older than this weld error
WELD-E1107 Node and hub versions differ warning
WELD-E1108 Rate limited by the hub warning
WELD-E1109 Hub internal error error
WELD-E1110 Live connection to the hub lost warning
WELD-E1111 Hub URL is invalid error
WELD-E1112 That address is not a Weld hub error
WELD-E1113 Hub storage error fatal
WELD-E1114 Hub backups are behind warning

  • Message: {detail}
  • Why: Unexpected server-side failure.
  • Fix: Retry; if it repeats run weld doctor --share and check the hub logs.
  • Severity: error

  • Message: no or invalid credentials
  • Why: The request had no valid token or session.
  • Fix: Run weld doctor (it can refresh the device token) or re-join with weld node <join-url>.
  • Severity: error · HTTP: 401

  • Message: coordination database error
  • Why: The hub’s coord.db failed.
  • Fix: Check hub disk space and logs (journalctl -u weld-hub).
  • Severity: error

  • Message: forbidden: {detail}
  • Why: Authenticated, but not allowed (not a project member, not the owner, …).
  • Fix: Ask a project owner for access.
  • Severity: error · HTTP: 403

  • Message: {what} was not found.
  • Why: It does not exist or is not visible to you.
  • Fix: Check the id and your current project (weld status).
  • Severity: error · HTTP: 404

  • Message: {detail}
  • Why: The request conflicts with current state (duplicate, already taken, …).
  • Fix: Refresh and retry.
  • Severity: error · HTTP: 409

  • Message: The request was rejected: {detail}.
  • Why: Malformed or invalid request body, query or path; often a version mismatch.
  • Fix: Run weld update; if it persists run weld doctor --share.
  • Severity: error · HTTP: 400

  • Message: node and hub protocol versions are incompatible
  • Why: The hub accepts its current and previous protocol only.
  • Fix: Run weld update on the node (or update the hub).
  • Severity: error · HTTP: 426

  • Message: the secrets key is missing, unreadable or does not decrypt
  • Why: The hub’s age key file is missing or wrong.
  • Fix: Restore the key file from the offline recovery copy and restart the hub.
  • Severity: error

  • Message: {detail}
  • Why: The job is not in a state that allows this operation.
  • Fix: Refresh the job (weld jobs list) and retry.
  • Severity: error · HTTP: 409

  • Message: this node is not assigned to the job
  • Why: Only the node a job is assigned to may report on it.
  • Fix: Nothing to do; the assigned node will report.
  • Severity: error · HTTP: 403

  • Message: dev: tokens require a hub started with –dev
  • Why: A dev: token was used against a production hub.
  • Fix: Use a real device token (weld node <join-url>).
  • Severity: error · HTTP: 401

  • Message: {detail}
  • Why: Malformed WebSocket message or not allowed for this client.
  • Fix: Run weld update; if it persists this is a bug.
  • Severity: error · HTTP: 400

  • Message: {detail}
  • Why: The job did not declare the secret it asked to lease.
  • Fix: Declare the secret in the job definition.
  • Severity: error · HTTP: 403

  • Message: Can’t reach the Weld hub at {hub}.
  • Why: The hub server is down, restarting, or a firewall/proxy is blocking the connection. Your local work is safe and will be reconciled when the hub is back.
  • Fix: Ask whoever hosts the hub, or check the watchdog email. If you run the hub, check it on that machine with weld hub status (start it with weld hub start; on a provisioned server systemctl status weld-hub). Then re-run weld doctor.
  • Severity: error · HTTP: 502

WELD-E1102 · Hub hostname does not resolve

Section titled “WELD-E1102 · Hub hostname does not resolve”
  • Message: The hub hostname {host} could not be resolved.
  • Why: The DNS record is missing or still propagating, the domain is mistyped in your config, or this machine has no working DNS.
  • Fix: Check hub_url in your Weld config. Try nslookup {host}. If you just provisioned the hub, wait a few minutes for DNS to propagate.
  • Severity: error

WELD-E1103 · TLS handshake with the hub failed

Section titled “WELD-E1103 · TLS handshake with the hub failed”
  • Message: A secure connection to {hub} could not be established.
  • Why: The hub’s certificate is invalid, expired or for another name, the system clock is far off, or a corporate proxy intercepts TLS.
  • Fix: Run weld doctor to check clock skew. Open {hub}/health in a browser to inspect the certificate. If you use a Cloudflare Tunnel, check that it is connected.
  • Severity: error

  • Message: The hub at {hub} answered /health with {status}.
  • Why: The hub process is up but one of its subsystems (database, disk, background tasks) is failing.
  • Fix: Run weld ops health for details, or check the hub logs: weld hub logs on the hub machine (on a provisioned server journalctl -u weld-hub -n 200).
  • Severity: error · HTTP: 503

WELD-E1105 · This weld is too old for the hub

Section titled “WELD-E1105 · This weld is too old for the hub”
  • Message: This node speaks protocol {node_protocol}, but the hub requires protocol {hub_protocol} or newer.
  • Why: The hub was updated and accepts only the current and previous protocol versions.
  • Fix: Run weld update to install the latest release for your channel.
  • Severity: error · Auto-fix: weld doctor (self-update) · HTTP: 426

WELD-E1106 · The hub is older than this weld

Section titled “WELD-E1106 · The hub is older than this weld”
  • Message: The hub speaks protocol {hub_protocol}, which is older than this node’s minimum ({node_protocol}).
  • Why: This node was updated ahead of the hub (for example from the canary channel).
  • Fix: Ask the hub owner to update the hub, or roll this node back with weld update --rollback.
  • Severity: error

WELD-E1107 · Node and hub versions differ

Section titled “WELD-E1107 · Node and hub versions differ”
  • Message: This node runs weld {node_version} but the hub runs {hub_version}.
  • Why: Updates roll out at idle time, so short version differences are normal. Long-lived skew can hide bugs.
  • Fix: Run weld update when convenient.
  • Severity: warning

  • Message: The hub is rate limiting requests from this node.
  • Why: A loop or a misbehaving agent is sending too many requests.
  • Fix: Wait a minute and retry. If it persists, run weld doctor --share so the hub owner can see which client is looping.
  • Severity: warning · HTTP: 429

  • Message: The hub failed while handling {operation}.
  • Why: A bug or an unexpected condition on the hub. It has been logged with a fingerprint on the hub.
  • Fix: Retry the operation. If it keeps failing, run weld doctor --share and mention the time it happened.
  • Severity: error

WELD-E1110 · Live connection to the hub lost

Section titled “WELD-E1110 · Live connection to the hub lost”
  • Message: The live connection to the hub dropped; reconnecting.
  • Why: Network change, laptop sleep, or a hub restart. Events are replayed on reconnect so nothing is lost.
  • Fix: Nothing to do unless this persists for minutes; then run weld doctor.
  • Severity: warning

  • Message: “{hub}” is not a valid hub URL.
  • Why: The URL is missing the scheme (https://) or contains a typo.
  • Fix: Use the join URL you were given, e.g. weld node https://hub.example.com/join/<invite>.
  • Severity: error · HTTP: 400

WELD-E1112 · That address is not a Weld hub

Section titled “WELD-E1112 · That address is not a Weld hub”
  • Message: {hub} responded, but not like a Weld hub.
  • Why: The URL points at another web server, a captive portal, or a proxy error page.
  • Fix: Double-check the hub URL. Open {hub}/health in a browser; it should show JSON with a protocol field.
  • Severity: error

  • Message: The hub could not read or write its database.
  • Why: The hub disk is full, the database file is locked or corrupted, or permissions changed.
  • Fix: On the hub run df -h /var/lib/weld and journalctl -u weld-hub. Restore from backup with weld restore if the database is corrupted.
  • Severity: fatal · HTTP: 503

  • Message: The last successful backup to R2 was {age} ago.
  • Why: Litestream cannot reach R2 or its credentials expired.
  • Fix: On the hub run systemctl status litestream and check the R2 token in /etc/weld/hub.env.
  • Severity: warning
Code Title Severity
WELD-E2001 Not signed in error
WELD-E2002 Session expired error
WELD-E2003 Token is invalid or revoked error
WELD-E2004 CSRF check failed error
WELD-E2005 Cross-origin request rejected error
WELD-E2006 This node has no device token error
WELD-E2007 Device token expired error
WELD-E2010 Sign-in code is invalid error
WELD-E2011 Too many sign-in attempts warning
WELD-E2020 Not allowed error
WELD-E2021 Not found error
WELD-E2030 Invite is invalid or expired error
WELD-E2031 Account already exists error
WELD-E2032 No invite for this email error
WELD-E2033 Sign-in request expired error
WELD-E2034 Sign-in request denied error
WELD-E2040 Invalid auth request error
WELD-E2041 Auth conflict error
WELD-E2050 Passkey sign-in failed error
WELD-E2060 Email delivery failed error
WELD-E2070 Hub auth configuration error error
WELD-E2099 Auth internal error error

  • Message: not signed in
  • Why: The request had no session cookie and no bearer token.
  • Fix: Sign in in the browser, or run weld login / pass Authorization: Bearer <token>.
  • Severity: error · HTTP: 401

  • Message: session expired
  • Why: Your session was idle for more than 30 days or you logged out.
  • Fix: Sign in again.
  • Severity: error · HTTP: 401

  • Message: token is invalid or revoked
  • Why: The bearer token is unknown, malformed or has been revoked.
  • Fix: Create a new token (weld login) or re-join the node with a fresh invite.
  • Severity: error · HTTP: 401

  • Message: missing or wrong CSRF token
  • Why: Cookie-authenticated requests that change state must send the X-Weld-CSRF header with the value of the weld_csrf cookie.
  • Fix: Reload the page. API clients should use a bearer token instead of cookies.
  • Severity: error · HTTP: 403

WELD-E2005 · Cross-origin request rejected

Section titled “WELD-E2005 · Cross-origin request rejected”
  • Message: cross-origin request rejected
  • Why: The request’s Origin header does not match the hub’s public URL.
  • Fix: Use the hub from its configured public URL (--public-url).
  • Severity: error · HTTP: 403

WELD-E2006 · This node has no device token

Section titled “WELD-E2006 · This node has no device token”
  • Message: No device token is configured for {hub}.
  • Why: This node never joined, or the token was removed from the config.
  • Fix: Run weld node <join-url>.
  • Severity: error · HTTP: 401

  • Message: The hub rejected this node’s device token as expired.
  • Why: Device tokens expire after a period of inactivity.
  • Fix: Run weld doctor --fix to refresh it, or re-join with weld node <join-url>.
  • Severity: error · Auto-fix: weld doctor (refresh-token) · HTTP: 401

  • Message: code is invalid or expired
  • Why: The code is wrong, was already used, or is older than 10 minutes.
  • Fix: Request a new code and enter the latest one.
  • Severity: error · HTTP: 401

  • Message: too many attempts
  • Why: Too many sign-in attempts. Try again in about {retry_after_secs} seconds.
  • Fix: Wait a few minutes before retrying.
  • Severity: warning · HTTP: 429

  • Message: forbidden: {detail}
  • Why: You are not allowed to {detail}.
  • Fix: Ask a project owner to grant you access.
  • Severity: error · HTTP: 403

  • Message: not found: {detail}
  • Why: The {detail} does not exist or you cannot see it.
  • Fix: Check the id and your project membership.
  • Severity: error · HTTP: 404

WELD-E2030 · Invite is invalid or expired

Section titled “WELD-E2030 · Invite is invalid or expired”
  • Message: invite is invalid, expired or used up
  • Why: The invite code is unknown, expired, revoked or has no uses left.
  • Fix: Ask a project owner for a new invite link.
  • Severity: error · HTTP: 410

  • Message: an account with this email already exists
  • Why: This open invite cannot claim an email that already has an account.
  • Fix: Sign in first (browser or weld login) and open the invite again, or ask for an invite addressed to your email.
  • Severity: error · HTTP: 409

  • Message: no invite for {detail} on this hub
  • Why: This hub has no account and no pending invite for that address, and it does not allow self sign-up.
  • Fix: Ask a project owner to run weld invite <your email>, then run weld node again.
  • Severity: error · HTTP: 404

  • Message: this machine’s sign-in request expired or was already used
  • Why: Sign-in requests from weld node last 10 minutes and work once.
  • Fix: Run weld node again and approve the new request in the browser.
  • Severity: error · HTTP: 410

  • Message: adding this machine was denied in the browser
  • Why: Someone signed in to the hub chose Deny for this machine’s request.
  • Fix: If that was a mistake, run weld node again and choose Approve.
  • Severity: error · HTTP: 403

  • Message: bad request: {detail}
  • Why: {detail}
  • Fix: Fix the request and retry.
  • Severity: error · HTTP: 400

  • Message: conflict: {detail}
  • Why: {detail}
  • Fix: Fix the request and retry.
  • Severity: error · HTTP: 409

  • Message: passkey verification failed: {detail}
  • Why: The passkey ceremony failed: {detail}.
  • Fix: Retry; if it keeps failing, sign in with an email code instead.
  • Severity: error · HTTP: 400

  • Message: email delivery failed: {detail}
  • Why: The email provider rejected or failed the request: {detail}.
  • Fix: Check WELD_RESEND_API_KEY and the sender address, then retry.
  • Severity: error · HTTP: 502

WELD-E2070 · Hub auth configuration error

Section titled “WELD-E2070 · Hub auth configuration error”
  • Message: configuration error: {detail}
  • Why: {detail}
  • Fix: Fix the hub configuration and restart the hub.
  • Severity: error

  • Message: internal error: {detail}
  • Why: A database, migration or internal error in hub auth.
  • Fix: Check the hub logs, disk space and that coord.db is not from a newer hub version; this is a bug if it repeats.
  • Severity: error
Code Title Severity
WELD-E2101 Weld is not set up on this machine error
WELD-E2102 Weld config is invalid error
WELD-E2103 Config file is readable by others warning
WELD-E2104 Local port is taken error
WELD-E2105 Weld node service is not running error
WELD-E2106 Node is not registered with the hub error
WELD-E2107 Work item not found error
WELD-E2108 Overlapping work needs a decision warning
WELD-E2109 .weld/scopes.toml is invalid error
WELD-E2110 Working offline info
WELD-E2111 Weld crashed on a previous start error
WELD-E2112 A Claude Code hook failed (ignored) warning
WELD-E2113 Weld MCP server is unavailable error
WELD-E2114 Local work cache is corrupted warning
WELD-E2115 No Weld project selected error
WELD-E2116 Recipient is not a project member error
WELD-E2117 Could not install the node service error
WELD-E2118 Node daemon runs an older weld warning
WELD-E2150 Invalid command or arguments error

WELD-E2101 · Weld is not set up on this machine

Section titled “WELD-E2101 · Weld is not set up on this machine”
  • Message: No Weld config was found at {path}.
  • Why: This machine has not joined a hub yet, or the config directory was moved.
  • Fix: Run weld node <join-url> with the join URL from your hub invite.
  • Severity: error

  • Message: The config at {path} could not be read: {detail}.
  • Why: The file was edited by hand and has a syntax error, or it was written by a much newer weld.
  • Fix: Fix the line mentioned above, or move the file aside and re-run weld node <join-url>.
  • Severity: error

WELD-E2103 · Config file is readable by others

Section titled “WELD-E2103 · Config file is readable by others”
  • Message: {path} contains a device token but is readable by other users (mode {mode}).
  • Why: The file was copied or created with a permissive umask.
  • Fix: Run chmod 600 {path} (weld doctor can do this for you).
  • Severity: warning · Auto-fix: weld doctor (fix-config-permissions)

  • Message: Port {port} is already in use by another program.
  • Why: Another weld node is running, or an unrelated program uses the port.
  • Fix: Stop the other program, or find it with lsof -i :{port} (macOS/Linux) or netstat -ano | findstr {port} (Windows).
  • Severity: error

WELD-E2105 · Weld node service is not running

Section titled “WELD-E2105 · Weld node service is not running”
  • Message: The weld node service is installed but not running.
  • Why: It crashed, was stopped, or failed to start after an update.
  • Fix: Restart it with weld doctor --fix or start it manually; check crash reports with weld doctor.
  • Severity: error · Auto-fix: weld doctor (restart-service)

WELD-E2106 · Node is not registered with the hub

Section titled “WELD-E2106 · Node is not registered with the hub”
  • Message: The hub does not know node {node}.
  • Why: The node was removed from the hub, or the hub was restored from an older backup.
  • Fix: Re-join with weld node <join-url>.
  • Severity: error · HTTP: 404

  • Message: Work item {work} does not exist.
  • Why: It was merged and archived, or the id is mistyped.
  • Fix: List current work with weld work list.
  • Severity: error · HTTP: 404

WELD-E2108 · Overlapping work needs a decision

Section titled “WELD-E2108 · Overlapping work needs a decision”
  • Message: Your work overlaps with {other} ({scope}).
  • Why: Another person’s active Work item touches the same feature scope.
  • Fix: Choose coordinate, proceed or pivot when asked. You will only be asked once.
  • Severity: warning · HTTP: 409

WELD-E2109 · .weld/scopes.toml is invalid

Section titled “WELD-E2109 · .weld/scopes.toml is invalid”
  • Message: {path} could not be parsed: {detail}.
  • Why: A glob or scope name is malformed.
  • Fix: Fix the entry; scope kinds are system, ui-screen, cpp-module, asset, map-cell, doc and file.
  • Severity: error

  • Message: The hub is unreachable; {count} change(s) are queued locally.
  • Why: The node is offline or the hub is down.
  • Fix: Nothing to do. Queued work is reconciled automatically when the hub is reachable.
  • Severity: info

WELD-E2111 · Weld crashed on a previous start

Section titled “WELD-E2111 · Weld crashed on a previous start”
  • Message: weld crashed during startup at {time}; a crash report was saved to {path}.
  • Why: A bug, a corrupted local cache, or a plugin/hook that fails on load.
  • Fix: Start with weld --safe (hooks, jobs and plugins off), then run weld doctor --ai.
  • Severity: error

WELD-E2112 · A Claude Code hook failed (ignored)

Section titled “WELD-E2112 · A Claude Code hook failed (ignored)”
  • Message: The weld {hook} hook failed and was skipped.
  • Why: The node is not running or hit an internal error. Hooks fail open, so your Claude session continues.
  • Fix: Run weld doctor.
  • Severity: warning

WELD-E2113 · Weld MCP server is unavailable

Section titled “WELD-E2113 · Weld MCP server is unavailable”
  • Message: The local weld MCP server at {url} is not responding.
  • Why: The node daemon is not running or crashed.
  • Fix: Run weld doctor --fix to restart the node.
  • Severity: error · Auto-fix: weld doctor (restart-service)

WELD-E2114 · Local work cache is corrupted

Section titled “WELD-E2114 · Local work cache is corrupted”
  • Message: The local cache at {path} is unreadable.
  • Why: A crash or full disk interrupted a write.
  • Fix: Delete the cache file; it is rebuilt from the hub on the next connect.
  • Severity: warning

  • Message: {detail}
  • Why: The command needs a project and none was given or linked for this directory.
  • Fix: Run inside a linked repo (weld node link), pass --project <name|id>, or create one with weld project create <name>.
  • Severity: error

WELD-E2116 · Recipient is not a project member

Section titled “WELD-E2116 · Recipient is not a project member”
  • Message: {detail}
  • Why: No member of the project matches that email, name or user id (or several do).
  • Fix: List members with weld project members, or invite them with weld invite <email>.
  • Severity: error · HTTP: 400

WELD-E2117 · Could not install the node service

Section titled “WELD-E2117 · Could not install the node service”
  • Message: {detail}
  • Why: The OS service manager (launchd, systemd –user or Task Scheduler) rejected the unit.
  • Fix: Run weld node install-service again and read the error; you can always run weld node run in a terminal instead.
  • Severity: error

WELD-E2118 · Node daemon runs an older weld

Section titled “WELD-E2118 · Node daemon runs an older weld”
  • Message: The node daemon runs weld {daemon} but this weld is {cli}.
  • Why: weld was updated while the node was running, and the node was not restarted (e.g. it runs in another terminal).
  • Fix: Run weld doctor --fix to restart the node service, or stop weld node run (Ctrl-C) and start it again.
  • Severity: warning · Auto-fix: weld doctor (restart-service)

WELD-E2150 · Invalid command or arguments

Section titled “WELD-E2150 · Invalid command or arguments”
  • Message: {detail}
  • Why: The command line does not match what weld accepts (unknown command, missing or unexpected argument).
  • Fix: See weld --help or weld <command> --help for the exact usage.
  • Severity: error

Git and version control (30xx hosting, 31xx vcs, 32xx client)

Section titled “Git and version control (30xx hosting, 31xx vcs, 32xx client)”
Code Title Severity
WELD-E3000 Git hosting internal error error
WELD-E3001 Git authentication required error
WELD-E3002 No access to repository error
WELD-E3003 Invalid project or repo name error
WELD-E3004 Hosted repository not found error
WELD-E3005 Unknown git endpoint error
WELD-E3010 Invalid Git LFS request error
WELD-E3011 LFS storage error error
WELD-E3012 LFS objects are not served by the hub error
WELD-E3013 Ref or path not found error
WELD-E3014 Invalid ref or path error
WELD-E3015 Git took too long error
WELD-E3101 Could not run git error
WELD-E3102 git timed out error
WELD-E3103 git command failed error
WELD-E3104 Not a git repository error
WELD-E3105 git too old for weld-vcs error
WELD-E3106 Unexpected git output error
WELD-E3107 VCS I/O error error
WELD-E3108 Invalid VCS input error
WELD-E3201 git is not installed error
WELD-E3202 git is too old error
WELD-E3203 git-lfs is not installed error
WELD-E3204 git-lfs is too old warning
WELD-E3205 git-lfs hooks are not installed warning
WELD-E3206 Weld is not the git credential helper for the hub warning
WELD-E3207 Push rejected error
WELD-E3208 Merge conflict warning
WELD-E3209 Could not back up work in progress warning
WELD-E3210 LFS transfer failed error
WELD-E3211 Repository not found error
WELD-E3212 GitHub CLI not found error
WELD-E3213 GitHub CLI not signed in error
WELD-E3214 Could not add the GitHub collaborator error

  • Message: {detail}
  • Why: An unexpected error in the hub’s git hosting.
  • Fix: Check the hub log (weld doctor); retry the operation.
  • Severity: error

  • Message: authentication required for this git repository
  • Why: git sent no credentials or the device token was rejected.
  • Fix: Run weld git setup in the repo so git uses weld’s credential helper, or use your device token as the HTTP password.
  • Severity: error · HTTP: 401

  • Message: you don’t have access to this repository
  • Why: Your account is not a member of the project or lacks write access.
  • Fix: Ask a project owner to invite you (or grant write access).
  • Severity: error · HTTP: 403

WELD-E3003 · Invalid project or repo name

Section titled “WELD-E3003 · Invalid project or repo name”
  • Message: invalid {what} name {name}
  • Why: Names must be 1-100 chars of letters, digits, ‘.’, ‘_’ or ‘-’ and start with a letter or digit.
  • Fix: Rename it (e.g. my-game).
  • Severity: error · HTTP: 400

  • Message: repository {project}/{repo} does not exist
  • Why: Nobody has created or pushed it yet.
  • Fix: Push to it to create it, or create it with POST /api/v1/projects/<p>/repos.
  • Severity: error · HTTP: 404

  • Message: unknown git endpoint /git/{path}
  • Why: Only smart HTTP and the Git LFS batch API are served.
  • Fix: Use a URL like https://<hub>/git/<project>/<repo>.git.
  • Severity: error · HTTP: 404

  • Message: {detail}
  • Why: The LFS client sent a body the hub could not read or parse.
  • Fix: Update git-lfs to 3.x and retry.
  • Severity: error · HTTP: 400

  • Message: {detail}
  • Why: The object store behind LFS failed or is misconfigured.
  • Fix: Check hub disk space and storage settings (weld doctor).
  • Severity: error · HTTP: 502

WELD-E3012 · LFS objects are not served by the hub

Section titled “WELD-E3012 · LFS objects are not served by the hub”
  • Message: this hub does not serve LFS objects directly
  • Why: LFS objects are stored in object storage behind presigned URLs.
  • Fix: Use the hrefs returned by the LFS batch API.
  • Severity: error · HTTP: 404

  • Message: {detail}
  • Why: The ref or path does not exist in this repo.
  • Fix: Check the branch name and path (list branches with .../branches).
  • Severity: error · HTTP: 404

  • Message: {detail}
  • Why: Invalid ref or path parameter.
  • Fix: Use a branch name, tag or commit id for ref, and a repo-relative path.
  • Severity: error · HTTP: 400

  • Message: {detail}
  • Why: Reading this commit or diff took longer than the hub allows (very large change or a busy hub).
  • Fix: Retry; for huge changes open single files with “load full diff” or inspect the commit locally with git show.
  • Severity: error · HTTP: 504

  • Message: could not run git ({bin}): {detail}
  • Why: git is not installed or not on PATH.
  • Fix: Install git >= 2.38 (macOS: brew install git; Windows: git-scm.com) and rerun.
  • Severity: error

  • Message: git {cmd} timed out
  • Why: The network or hub is slow/unreachable, or a git lock is held.
  • Fix: Check weld doctor, then retry.
  • Severity: error

  • Message: git {cmd} failed: {detail}
  • Why: git reported an error (see message).
  • Fix: Read the git error; for authentication failures run weld git setup ..
  • Severity: error

  • Message: {path} is not inside a git repository
  • Why: The directory has no .git.
  • Fix: Run the command inside your game repo, or clone it first.
  • Severity: error

  • Message: git {version} is too old; weld needs git >= 2.38 (merge-tree –write-tree)
  • Why: An old system git is first on PATH.
  • Fix: Install git >= 2.38 and make sure it comes first on PATH.
  • Severity: error

  • Message: unexpected git output: {detail}
  • Why: An unsupported git version or locale.
  • Fix: Update git; run with LC_ALL=C if you use a non-English locale.
  • Severity: error

  • Message: I/O error: {detail}
  • Why: Filesystem permissions or disk space.
  • Fix: Check permissions and free space (weld doctor).
  • Severity: error

  • Message: {detail}
  • Why: Invalid input.
  • Fix: Fix the input and retry.
  • Severity: error

  • Message: git was not found on PATH.
  • Why: git is not installed, or it is installed somewhere not on PATH.
  • Fix: Run weld setup (installs it after asking: winget on Windows, Homebrew on macOS, apt/dnf on Linux). Manually: macOS xcode-select --install; Windows winget install --id Git.Git -e; Linux your package manager.
  • Severity: error · Auto-fix: weld doctor (install-prereqs)

  • Message: git {version} is installed but Weld needs {required} or newer.
  • Why: Weld uses git merge-tree --write-tree, added in git 2.38.
  • Fix: Run weld setup to update it (macOS brew install git, Windows winget upgrade --id Git.Git -e).
  • Severity: error · Auto-fix: weld doctor (install-prereqs)

  • Message: git-lfs was not found.
  • Why: Git LFS is a separate install from git on most systems.
  • Fix: Run weld setup (installs it after asking). Manually: macOS brew install git-lfs, Windows it ships with Git for Windows, Linux apt install git-lfs; then git lfs install.
  • Severity: error · Auto-fix: weld doctor (install-prereqs)

  • Message: git-lfs {version} is installed but Weld needs {required} or newer.
  • Why: Older git-lfs versions lack features the hub’s batch API relies on.
  • Fix: Update git-lfs with your package manager.
  • Severity: warning

WELD-E3205 · git-lfs hooks are not installed

Section titled “WELD-E3205 · git-lfs hooks are not installed”
  • Message: git-lfs is installed but its git hooks are not set up for this user.
  • Why: git lfs install was never run on this machine.
  • Fix: Run git lfs install.
  • Severity: warning · Auto-fix: weld doctor (git-lfs-install)

WELD-E3206 · Weld is not the git credential helper for the hub

Section titled “WELD-E3206 · Weld is not the git credential helper for the hub”
  • Message: git is not configured to use weld for {hub}.
  • Why: The credential helper was removed or weld node setup did not finish.
  • Fix: Run weld doctor --fix to register it again.
  • Severity: warning · Auto-fix: weld doctor (register-credential-helper)

  • Message: The hub rejected the push to {ref}.
  • Why: The branch moved on the hub, or protected refs can only be updated by the merge queue.
  • Fix: Pull and retry, or submit through the merge queue with weld merge.
  • Severity: error · HTTP: 409

  • Message: {a} and {b} conflict in {files}.
  • Why: Two branches changed the same lines or the same binary asset.
  • Fix: Resolve it on your branch and re-queue with weld merge <work> (a node with the merge role proposes a resolution automatically: weld node role add merge), or pick a side for binary assets.
  • Severity: warning · HTTP: 409

WELD-E3209 · Could not back up work in progress

Section titled “WELD-E3209 · Could not back up work in progress”
  • Message: Pushing the WIP ref for {work} failed.
  • Why: The hub is unreachable or git authentication failed.
  • Fix: This retries automatically. If it keeps failing run weld doctor.
  • Severity: warning

  • Message: Transferring LFS object {oid} failed: {detail}.
  • Why: The presigned storage URL expired, the network dropped, or the object store is unavailable.
  • Fix: Retry with git lfs push --all origin or git lfs pull. If it persists check the hub’s storage status.
  • Severity: error · HTTP: 502

  • Message: Repository {repo} does not exist on the hub.
  • Why: The repo name is mistyped or you are not a member of its project.
  • Fix: List repos with weld repo list.
  • Severity: error · HTTP: 404

  • Message: gh (the GitHub CLI) was not found: {detail}
  • Why: weld invite --github adds the collaborator with the GitHub CLI, which is not installed or not on PATH.
  • Fix: Install it (https://cli.github.com, e.g. brew install gh), run gh auth login, then retry; or drop –github and add them on github.com.
  • Severity: error

  • Message: gh is not signed in to GitHub: {detail}
  • Why: The GitHub CLI has no valid login, so it cannot add a collaborator.
  • Fix: Run gh auth login (an account with admin access to the repo), then retry.
  • Severity: error

WELD-E3214 · Could not add the GitHub collaborator

Section titled “WELD-E3214 · Could not add the GitHub collaborator”
  • Message: GitHub refused to add {login} to {repo}: {detail}
  • Why: The repo slug or GitHub login is wrong, or your GitHub account is not an admin of the repo.
  • Fix: Check the login and --repo <owner/repo>, and that gh auth status shows an admin of that repo; then retry (it is safe to repeat).
  • Severity: error
Code Title Severity
WELD-E4001 No node can run this job warning
WELD-E4002 Job signature is invalid error
WELD-E4003 Job timed out error
WELD-E4004 Job is waiting for approval info
WELD-E4005 Job process crashed error
WELD-E4006 Secret lease denied error
WELD-E4007 Job cancelled info
WELD-E4101 Unreal Engine not found error
WELD-E4102 Unreal Engine version mismatch error
WELD-E4103 Invalid Unreal project error
WELD-E4110 C++ compile failed error
WELD-E4111 Link failed error
WELD-E4112 Cook failed error
WELD-E4113 Platform SDK missing error
WELD-E4114 Packaging failed error
WELD-E4115 Xcode finalize step failed error
WELD-E4116 Wrong host platform for this target error
WELD-E4120 Smoke test could not start error
WELD-E4121 Smoke test timed out error
WELD-E4130 Asset import into Unreal failed error
WELD-E4140 Project template failed error
WELD-E4141 Destination already exists error
WELD-E4142 Invalid project or asset name error
WELD-E4150 Could not start an engine tool error
WELD-E4151 Engine tool timed out error
WELD-E4152 File error in the engine pipeline error
WELD-E4160 Not Epic’s Unreal MCP server warning
WELD-E4161 Unreal MCP toolsets missing error
WELD-E4162 Unreal MCP tool call failed error
WELD-E4163 Unreal MCP plugins not enabled warning
WELD-E4201 Blender not found error
WELD-E4202 Blender script failed error
WELD-E4203 No usable GPU for 3D generation error
WELD-E4204 3D generation failed error
WELD-E4205 Concept image generation failed error
WELD-E4210 Asset hub request failed error
WELD-E4211 Asset rejected at a gate error
WELD-E4212 Asset pipeline cannot continue error
WELD-E4213 A model needs license approval on Hugging Face error
WELD-E4214 Asset made with a model the project’s license policy does not allow error
WELD-E4215 GPU model setup step failed error
WELD-E4216 Build tools for the GPU models are missing error

  • Message: No online node has the role and capabilities for a {kind} job.
  • Why: The node with the right role (e.g. a Windows build PC) is offline or asleep.
  • Fix: Wake the machine, or add the role to another node with weld node role add <role>.
  • Severity: warning · HTTP: 409

  • Message: Job {job} was rejected because its signature does not verify.
  • Why: The job was tampered with or signed by an unknown key.
  • Fix: Re-submit the job from a trusted node. If you did not submit it, tell your hub owner.
  • Severity: error · HTTP: 403

  • Message: Job {job} ({kind}) exceeded its {timeout} timeout.
  • Why: The tool hung, or the machine was too slow or went to sleep.
  • Fix: Check the job logs with weld job logs {job} and retry; raise the timeout for large builds.
  • Severity: error

  • Message: Job {job} needs approval from the owner of {node}.
  • Why: Arbitrary commands from another person always need the node owner’s approval.
  • Fix: The node owner approves with weld job approve {job} or on the dashboard.
  • Severity: info · HTTP: 202

  • Message: The {kind} process for job {job} exited with {exit}.
  • Why: The tool crashed or was killed (for example out of memory).
  • Fix: Read the logs with weld job logs {job}; known crashes are matched automatically by weld doctor.
  • Severity: error

  • Message: Job {job} may not read secret {name}.
  • Why: The secret is not granted to this job kind, or the lease expired.
  • Fix: Grant the secret to the job kind in project settings.
  • Severity: error · HTTP: 403

  • Message: Job {job} was cancelled by {by}.
  • Why: Someone cancelled it.
  • Fix: Re-submit it if it is still needed.
  • Severity: info

  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Install the engine from the Epic Games Launcher, or set WELD_UE_ROOT to an engine folder.
  • Severity: error

WELD-E4102 · Unreal Engine version mismatch

Section titled “WELD-E4102 · Unreal Engine version mismatch”
  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Install the engine version the project asks for, or update the project’s EngineAssociation.
  • Severity: error

  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Check the .uproject file exists and is valid JSON.
  • Severity: error

  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Read the first compiler error in the job log (weld jobs logs <id>).
  • Severity: error

  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Read the linker error in the job log; a clean rebuild often helps.
  • Severity: error

  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Read the cook errors in the job log; usually a broken asset reference.
  • Severity: error

  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Install the platform SDK (Xcode, Windows SDK, Android SDK) on the build node.
  • Severity: error

  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Read the job log (weld jobs logs <id>).
  • Severity: error

  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Open the project once in Xcode, accept the license (sudo xcodebuild -license) and retry.
  • Severity: error

WELD-E4116 · Wrong host platform for this target

Section titled “WELD-E4116 · Wrong host platform for this target”
  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Run the job on a node with the right OS (--os).
  • Severity: error

  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Check the packaged build exists and runs on this node.
  • Severity: error

  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Raise the timeout or check the game for a hang at startup.
  • Severity: error

WELD-E4130 · Asset import into Unreal failed

Section titled “WELD-E4130 · Asset import into Unreal failed”
  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Read the import log in the job output; check the file format.
  • Severity: error

  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Check disk space and permissions, then retry weld game new.
  • Severity: error

  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Pick a new directory or remove the existing one.
  • Severity: error

WELD-E4142 · Invalid project or asset name

Section titled “WELD-E4142 · Invalid project or asset name”
  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Use letters, digits and _, starting with a letter.
  • Severity: error

WELD-E4150 · Could not start an engine tool

Section titled “WELD-E4150 · Could not start an engine tool”
  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Check the tool is installed and executable.
  • Severity: error

  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Raise the job timeout or check the tool for a hang.
  • Severity: error

WELD-E4152 · File error in the engine pipeline

Section titled “WELD-E4152 · File error in the engine pipeline”
  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Check the path exists and that you have permission to read/write it.
  • Severity: error

WELD-E4160 · Not Epic’s Unreal MCP server

Section titled “WELD-E4160 · Not Epic’s Unreal MCP server”
  • Message: {detail}
  • Why: Another MCP server (e.g. a community unreal-mcp) answers on the editor’s MCP port, so Weld won’t send it any changes.
  • Fix: Stop the other server or move it off the port, enable ModelContextProtocol + ToolsetRegistry (weld game doctor --fix), then weld game open.
  • Severity: warning

  • Message: {detail}
  • Why: The project doesn’t enable AllToolsets/EditorToolset or the Weld toolset, or the editor was opened before they were added.
  • Fix: Run weld game doctor --fix, then restart the editor (weld game open).
  • Severity: error

  • Message: {detail}
  • Why: The editor rejected the call, or is busy compiling or in Play-In-Editor.
  • Fix: Read the error and the editor’s Output Log (LogModelContextProtocol), then retry.
  • Severity: error

WELD-E4163 · Unreal MCP plugins not enabled

Section titled “WELD-E4163 · Unreal MCP plugins not enabled”
  • Message: {detail}
  • Why: The .uproject doesn’t enable the plugins Weld uses to talk to the editor.
  • Fix: Run weld game doctor --fix (enables them in the .uproject), then reopen the editor (weld game open).
  • Severity: warning

  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Install Blender or set WELD_BLENDER to its executable.
  • Severity: error

  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Read the Blender output in the job log.
  • Severity: error

WELD-E4203 · No usable GPU for 3D generation

Section titled “WELD-E4203 · No usable GPU for 3D generation”
  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Run the job on a node with a supported GPU (--tool gen3d).
  • Severity: error

  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Retry, or regenerate from a different concept image.
  • Severity: error

WELD-E4205 · Concept image generation failed

Section titled “WELD-E4205 · Concept image generation failed”
  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Retry; check the image provider key in the project secrets.
  • Severity: error

  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Check weld status (hub online?) and retry.
  • Severity: error

  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Regenerate with notes, or start over with a new brief.
  • Severity: error

WELD-E4212 · Asset pipeline cannot continue

Section titled “WELD-E4212 · Asset pipeline cannot continue”
  • Message: {detail}
  • Why: See the message and the job log.
  • Fix: Follow the message; resume with weld asset make --resume <dir>.
  • Severity: error

WELD-E4213 · A model needs license approval on Hugging Face

Section titled “WELD-E4213 · A model needs license approval on Hugging Face”
  • Message: {model} is gated on Hugging Face: this node can’t download it yet.
  • Why: The model’s license must be accepted on its Hugging Face page (DINOv3 waits for a manual approval by Meta) and this machine must be logged in to that account. Still waiting: {models}.
  • Fix: Accept the license at {url} (wait for the approval email), then on this machine run {login} and re-run weld setup --roles gpu-gen (it resumes; finished downloads are kept).
  • Severity: error

WELD-E4214 · Asset made with a model the project’s license policy does not allow

Section titled “WELD-E4214 · Asset made with a model the project’s license policy does not allow”
  • Message: {asset} was made with {model} ({license}), which this project’s model license policy does not allow.
  • Why: Its provenance ({file}) lists a model whose license is not in the allowlist: {allowed}.
  • Fix: Regenerate the asset with an allowed model (TRELLIS.2 + FLUX.1 [schnell] are), or remove it. If your jam’s rules permit that license, add it to [assets] model_licenses in .weld/project.toml.
  • Severity: error

  • Message: Setting up {part} failed at {step}: {command} exited with {exit}.
  • Why: Last output: {tail}
  • Fix: Read the step log {log}, fix the cause, then re-run weld setup --roles gpu-gen (finished steps are skipped).
  • Severity: error

WELD-E4216 · Build tools for the GPU models are missing

Section titled “WELD-E4216 · Build tools for the GPU models are missing”
  • Message: {tool} is needed to build TRELLIS.2’s CUDA extensions but was not found.
  • Why: The CUDA 12.4 toolkit (nvcc) and, on Windows, Visual Studio 2022 Build Tools with the C++ workload must be installed before the extensions can be compiled.
  • Fix: Run weld setup --roles gpu-gen: it installs the CUDA 12.4 toolkit (toolkit only, never the driver) and the Build Tools after asking.
  • Severity: error
Code Title Severity
WELD-E5001 Unreal Engine not found warning
WELD-E5002 Unsupported Unreal Engine version warning
WELD-E5003 Unreal editor MCP not reachable warning
WELD-E5004 Blender not found warning
WELD-E5005 Blender crashed error
WELD-E5006 NVIDIA driver not found warning
WELD-E5007 CUDA is not available error
WELD-E5008 Not enough GPU memory error
WELD-E5009 Unreal build failed error
WELD-E5010 Asset import failed error
WELD-E5011 Unreal build toolchain incomplete warning

  • Message: No Unreal Engine {version} install was found.
  • Why: UE is not installed, or installed in a non-default location.
  • Fix: Run weld setup --roles build (installs the Epic Games Launcher and prints the steps), then install UE {version} from the launcher; or set WELD_UE_ROOT to the engine folder.
  • Severity: warning

WELD-E5002 · Unsupported Unreal Engine version

Section titled “WELD-E5002 · Unsupported Unreal Engine version”
  • Message: Unreal Engine {version} is installed, but projects need {required}.
  • Why: Weld’s template and MCP integration target a specific UE version.
  • Fix: Install UE {required} alongside your current version from the Epic Games Launcher.
  • Severity: warning

WELD-E5003 · Unreal editor MCP not reachable

Section titled “WELD-E5003 · Unreal editor MCP not reachable”
  • Message: The Unreal editor MCP server at {url} is not responding.
  • Why: The editor is closed, the Model Context Protocol plugin is disabled, or it uses another port.
  • Fix: Open the project in the Unreal editor and enable the Model Context Protocol plugin.
  • Severity: warning

  • Message: Blender was not found.
  • Why: Blender is not installed or not on PATH.
  • Fix: Run weld setup --roles asset (installs Blender after asking), or install Blender 4.x yourself and set WELD_BLENDER to its executable.
  • Severity: warning

  • Message: Blender crashed while running step {step} (exit {exit}).
  • Why: Usually a bad mesh, an out-of-memory condition or a GPU driver issue.
  • Fix: Check the job log; the step will be retried once with CPU rendering. Known crash signatures are matched by weld doctor.
  • Severity: error

  • Message: nvidia-smi is not available, so the GPU cannot be used.
  • Why: The NVIDIA driver is not installed or is broken after an update.
  • Fix: Install the current NVIDIA Studio or Game Ready driver and reboot.
  • Severity: warning

  • Message: CUDA {required} is required for {kind} but was not found.
  • Why: The CUDA runtime is missing or the driver is too old for it.
  • Fix: Update the NVIDIA driver; the Python environment ships its own CUDA runtime.
  • Severity: error

  • Message: {kind} needs {required} of VRAM but only {available} is free.
  • Why: Another program (often the Unreal editor or a game) is using GPU memory.
  • Fix: Close GPU-heavy programs, or route the job to another node.
  • Severity: error

  • Message: Building {target} failed.
  • Why: A compile error, a missing SDK, or a stale intermediate folder.
  • Fix: Read the first error in the job log. For stale builds delete Intermediate/ and Binaries/ and rebuild.
  • Severity: error

  • Message: Importing {asset} into Unreal failed: {detail}.
  • Why: The file is malformed, uses an unsupported feature, or the editor is busy.
  • Fix: Open the asset in the library to inspect it, then re-run the import job.
  • Severity: error

WELD-E5011 · Unreal build toolchain incomplete

Section titled “WELD-E5011 · Unreal build toolchain incomplete”
  • Message: Unreal Engine {version} can’t build or package on this PC: missing {missing}.
  • Why: UnrealBuildTool needs Visual Studio 2022 Build Tools with MSVC 14.44 (14.44.35211 or newer), a Windows 11 SDK (10.0.22621) and the .NET Framework 4.8 SDK plus 4.6.2 targeting pack. Without the .NET Framework SDK packaging fails with “Could not find NetFxSDK install dir”.
  • Fix: Run weld setup --roles build: after asking, it adds the missing components to your Visual Studio install with Microsoft’s installer (Windows asks for permission). Manually: Visual Studio Installer → Modify → Individual components.
  • Severity: warning · Auto-fix: weld doctor (install-prereqs)
Code Title Severity
WELD-E7001 Claude Code is not installed error
WELD-E7002 Weld Claude Code plugin is not installed error
WELD-E7003 Claude Code telemetry is not routed to weld warning
WELD-E7004 Claude Code settings are invalid JSON error
WELD-E7005 Agent budget exceeded warning
WELD-E7006 Agent run failed error
WELD-E7007 Claude Code is too old warning
WELD-E7008 Claude Code hooks cannot find weld error
WELD-E7009 The Weld plugin’s MCP header helper is broken error
WELD-E7010 The node rejects the Weld plugin’s MCP token error
WELD-E7020 Claude Code is not signed in error

WELD-E7001 · Claude Code is not installed

Section titled “WELD-E7001 · Claude Code is not installed”
  • Message: The claude command was not found.
  • Why: Claude Code is not installed or not on PATH.
  • Fix: Run weld setup: it shows Anthropic’s official Claude Code installer command for your OS and runs it after asking. To install it yourself, follow Anthropic’s Claude Code setup instructions, then open a new terminal.
  • Severity: error · Auto-fix: weld doctor (install-prereqs)

WELD-E7002 · Weld Claude Code plugin is not installed

Section titled “WELD-E7002 · Weld Claude Code plugin is not installed”
  • Message: The weld plugin is not installed or not enabled in Claude Code.
  • Why: It was uninstalled or disabled, or weld node did not finish setup.
  • Fix: Run weld doctor --fix to reinstall it (asks first), then restart your Claude sessions.
  • Severity: error · Auto-fix: weld doctor (reinstall-plugin)

WELD-E7003 · Claude Code telemetry is not routed to weld

Section titled “WELD-E7003 · Claude Code telemetry is not routed to weld”
  • Message: ~/.claude/settings.json is missing {missing}.
  • Why: Claude Code ignores OTel settings in project files, so weld writes them into your user settings; they were removed or never written.
  • Fix: Run weld doctor --fix to merge them back in (asks first; other settings are preserved).
  • Severity: warning · Auto-fix: weld doctor (write-otel-settings)

WELD-E7004 · Claude Code settings are invalid JSON

Section titled “WELD-E7004 · Claude Code settings are invalid JSON”
  • Message: {path} is not valid JSON: {detail}.
  • Why: The file was edited by hand.
  • Fix: Fix the JSON syntax; weld never overwrites a file it cannot parse.
  • Severity: error

  • Message: Agent {agent} reached its budget of {budget}.
  • Why: The run used more tokens than its cap allows.
  • Fix: Raise the budget in the agent definition, or let it resume next period.
  • Severity: warning

  • Message: Agent {agent} failed: {detail}.
  • Why: Headless claude -p exited with an error, often due to auth or rate limits.
  • Fix: Run claude interactively once to check your login, then retry.
  • Severity: error

  • Message: Claude Code {version} is installed but weld needs {required} or newer.
  • Why: The weld plugin uses hook and plugin features from newer releases.
  • Fix: Update Claude Code (claude update).
  • Severity: warning

WELD-E7008 · Claude Code hooks cannot find weld

Section titled “WELD-E7008 · Claude Code hooks cannot find weld”
  • Message: The Weld hooks in Claude Code run {command}, which does not exist.
  • Why: weld moved or was reinstalled, or the plugin was installed before weld was on this machine’s PATH (apps started from the Dock/Start menu do not see your shell PATH).
  • Fix: Run weld node repair: it regenerates the plugin so the hooks call this weld by absolute path, then restart your Claude sessions.
  • Severity: error

WELD-E7009 · The Weld plugin’s MCP header helper is broken

Section titled “WELD-E7009 · The Weld plugin’s MCP header helper is broken”
  • Message: {command} (the plugin’s headersHelper) did not print the node’s Authorization header: {detail}
  • Why: Claude Code runs this command to get the local API token for the Weld MCP server; it must print exactly one JSON object on stdout. A moved or old weld, or extra output, breaks it, and Claude Code then reports the MCP server as failed.
  • Fix: Run weld node repair (regenerates the plugin with this weld’s absolute path), then restart your Claude sessions.
  • Severity: error · Auto-fix: weld doctor (reinstall-plugin)

WELD-E7010 · The node rejects the Weld plugin’s MCP token

Section titled “WELD-E7010 · The node rejects the Weld plugin’s MCP token”
  • Message: The node at {url} answered HTTP {status} to the header {command} prints.
  • Why: The node was started with a different local API token than the one the helper reads (another WELD_HOME, or the token file was recreated while the node kept running).
  • Fix: Restart the node (weld doctor --fix restarts the service, or stop weld node run and start it again), then restart your Claude sessions.
  • Severity: error · Auto-fix: weld doctor (restart-service)

WELD-E7020 · Claude Code is not signed in

Section titled “WELD-E7020 · Claude Code is not signed in”
  • Message: {bin} auth status reports that Claude Code is not signed in on this machine.
  • Why: Nobody has logged in to Claude Code as this user yet, the login expired, or the node runs as a different user (e.g. a service) than the one who signed in.
  • Fix: Run claude auth login (or start claude once and sign in) as the user that runs the Weld node, then weld doctor. Agent jobs (critic, merge agent, improver) fail until then.
  • Severity: error
Code Title Severity
WELD-E8001 Release manifest unavailable warning
WELD-E8002 Release signature is invalid fatal
WELD-E8003 Downloaded update is corrupted error
WELD-E8004 No build for this platform warning
WELD-E8005 Could not install the update error
WELD-E8006 Update rolled back warning
WELD-E8007 No previous version to roll back to error
WELD-E8008 Release signing key not available error
WELD-E8009 Release manifest is invalid error
WELD-E8010 Cloud provider API call failed error
WELD-E8011 Cloud credentials missing error
WELD-E8012 Restore failed error
WELD-E8013 An update is already in progress warning
WELD-E8014 Hub self-update failed error
WELD-E8015 Hub upgrade did not finish error
WELD-E8101 Ship configuration invalid error
WELD-E8102 butler not found error
WELD-E8103 No itch.io API key error
WELD-E8104 itch.io upload failed error
WELD-E8105 Packaged build failed its smoke test error
WELD-E8106 Packaging for ship failed error
WELD-E8107 Could not create the ship zip error
WELD-E8108 ffmpeg not found error
WELD-E8109 Remote ship step failed error
WELD-E8110 Release policy change failed error
WELD-E8111 Gameplay capture failed error

WELD-E8001 · Release manifest unavailable

Section titled “WELD-E8001 · Release manifest unavailable”
  • Message: Could not download the release manifest from {url}.
  • Why: The hub and the release mirror are unreachable.
  • Fix: Check your connection and retry weld update. Updates never interrupt work; they retry at idle.
  • Severity: warning

WELD-E8002 · Release signature is invalid

Section titled “WELD-E8002 · Release signature is invalid”
  • Message: The release manifest signature does not verify against the embedded release key.
  • Why: The manifest was tampered with, corrupted in transit, or signed with a different key.
  • Fix: Do not install it. Report this to the Weld maintainers with weld doctor --share.
  • Severity: fatal

WELD-E8003 · Downloaded update is corrupted

Section titled “WELD-E8003 · Downloaded update is corrupted”
  • Message: The downloaded weld {version} does not match its published SHA-256.
  • Why: The download was truncated or modified in transit.
  • Fix: Retry weld update; the bad download has been deleted.
  • Severity: error

  • Message: Release {version} has no build for {target}.
  • Why: This platform is not part of the release matrix, or the build failed for it.
  • Fix: Stay on your current version, or build from source with cargo install --path crates/weld-cli.
  • Severity: warning

WELD-E8005 · Could not install the update

Section titled “WELD-E8005 · Could not install the update”
  • Message: Replacing the weld binary at {path} failed: {detail}.
  • Why: The file is locked (Windows antivirus) or the directory is not writable.
  • Fix: Close other weld processes and retry, or reinstall weld manually.
  • Severity: error

  • Message: weld {version} failed its health check and was rolled back to {previous}.
  • Why: The new version did not start correctly on this machine.
  • Fix: Nothing to do; you are on the previous version. Run weld doctor --share to help fix the release.
  • Severity: warning

WELD-E8007 · No previous version to roll back to

Section titled “WELD-E8007 · No previous version to roll back to”
  • Message: There is no previous weld binary at {path}.
  • Why: No update has been installed since weld was installed, or the backup was deleted.
  • Fix: Reinstall the version you want manually.
  • Severity: error

WELD-E8008 · Release signing key not available

Section titled “WELD-E8008 · Release signing key not available”
  • Message: No release signing key was found in {source}.
  • Why: Signing needs the ed25519 private key, which is only available to release automation.
  • Fix: Set WELD_RELEASE_KEY (base64 32-byte seed) or pass --key-file; generate one with weld release keygen.
  • Severity: error

  • Message: The release manifest could not be parsed: {detail}.
  • Why: The manifest was edited by hand or written by an incompatible tool.
  • Fix: Regenerate it with weld release set and re-sign.
  • Severity: error

WELD-E8010 · Cloud provider API call failed

Section titled “WELD-E8010 · Cloud provider API call failed”
  • Message: {provider} API call {operation} failed with {status}: {detail}.
  • Why: Invalid credentials, quota limits, a name conflict, or a provider outage.
  • Fix: Read the provider message above. Provisioning is idempotent: fix the issue and re-run the same command.
  • Severity: error

  • Message: {variable} is not set.
  • Why: Provisioning needs API tokens for the compute provider (DigitalOcean or Hetzner) and Cloudflare.
  • Fix: Export {variable} (see docs/runbooks/provision.md) and re-run.
  • Severity: error

  • Message: Restoring the hub from {source} failed: {detail}.
  • Why: Backups are missing or unreadable, or the new server could not be prepared.
  • Fix: Check the bucket contents with your R2 dashboard and retry weld restore; the old hub (if any) is untouched.
  • Severity: error

WELD-E8013 · An update is already in progress

Section titled “WELD-E8013 · An update is already in progress”
  • Message: Another weld process is installing an update (lock at {path}).
  • Why: Two update checks overlapped.
  • Fix: Wait a minute and retry. Delete the lock file only if no weld process is running.
  • Severity: warning

  • Message: The hub could not update itself to {version}: {detail}
  • Why: The hub’s background updater (WELD_HUB_UPDATE_CHANNEL) or its privileged helper (weld-hub-update.path / weld-hub-update.service) could not stage, verify or install the release.
  • Fix: Check journalctl -u weld-hub-update -n 50 and journalctl -u weld-hub -n 50 on the hub. If the helper units are missing, install them (docs/hub-ops.md, “Automatic updates”) or update by hand with weld hub upgrade --ssh root@<hub>.
  • Severity: error

  • Message: Upgrading the hub at {host} failed: {detail}
  • Why: A step of weld hub upgrade (download, checksum, install, restart or health check) failed on the hub.
  • Fix: Read the step output above. The previous binary is kept as /usr/local/bin/weld-hub.prev; if the hub is down run weld hub upgrade --ssh <host> --rollback.
  • Severity: error

  • Message: .weld/ship.toml is invalid: {detail}
  • Why: The file has a typo, an unknown key, or a value Weld can’t use.
  • Fix: Fix the file (see docs/runbooks/jam-day.md#ship-config for a complete example), then rerun weld ship --dry-run.
  • Severity: error

  • Message: butler (itch.io’s upload tool) is not installed on this machine.
  • Why: weld ship uploads to itch.io with butler; it is not on PATH or in Weld’s tools folder.
  • Fix: Run weld ship butler --install (downloads the official build from broth.itch.zone), or install it from https://itch.io/docs/butler/ and put it on PATH.
  • Severity: error

  • Message: No itch.io credentials for butler.
  • Why: Neither BUTLER_API_KEY is set nor has butler login been run on this machine (remote builds lease the Weld secret BUTLER_API_KEY).
  • Fix: Create a key at https://itch.io/user/settings/api-keys, then export BUTLER_API_KEY=... (local) or weld secret set BUTLER_API_KEY (remote builds), or run butler login.
  • Severity: error

  • Message: butler push to {target} failed.
  • Why: butler exited with an error (network, wrong user/game, or a revoked key); its last output is shown above.
  • Fix: Check the itch target in .weld/ship.toml matches your itch.io page, that the game page exists, then retry weld ship --skip-package.
  • Severity: error

WELD-E8105 · Packaged build failed its smoke test

Section titled “WELD-E8105 · Packaged build failed its smoke test”
  • Message: The packaged build failed its smoke test: {detail}
  • Why: An automation test failed or the game crashed when launched from the packaged build.
  • Fix: Fix the failing test (weld game smoke --packaged <exe> reproduces it), or ship anyway with --allow-failing-smoke if you know the failure is harmless.
  • Severity: error

  • Message: Packaging {platform} for ship failed: {detail}
  • Why: BuildCookRun failed locally or on the build node.
  • Fix: Read the log path shown above; weld game package reproduces it locally, weld jobs logs <id> shows a remote build.
  • Severity: error

WELD-E8107 · Could not create the ship zip

Section titled “WELD-E8107 · Could not create the ship zip”
  • Message: Could not create the ship zip at {path}.
  • Why: Disk full, a file locked by a running game, or no write permission in .weld/out/ship.
  • Fix: Close the game, free disk space, and retry with weld ship --skip-package.
  • Severity: error

  • Message: ffmpeg is not installed on this machine.
  • Why: weld ship video records the screen with ffmpeg.
  • Fix: Install it (macOS: brew install ffmpeg; Windows: winget install Gyan.FFmpeg; Linux: sudo apt install ffmpeg), or record with OBS and trim to 30–60 s.
  • Severity: error

  • Message: The {step} step on the build node failed: {detail}
  • Why: The job could not be scheduled (no matching node online) or failed on the node.
  • Fix: Check weld jobs list and weld node status; make sure the Windows node is online with Unreal installed, then rerun weld ship --channel windows.
  • Severity: error

WELD-E8110 · Release policy change failed

Section titled “WELD-E8110 · Release policy change failed”
  • Message: Could not change the cluster’s release policy: {detail}
  • Why: The hub refused the change (not a hub admin, or hub flags override it) or has no release to pin.
  • Fix: Run as a hub admin; if WELD_HUB_RELEASE_PIN/CHANNEL are set in the hub’s env file, change them there instead.
  • Severity: error

  • Message: Gameplay capture failed: {detail}
  • Why: ffmpeg could not open the screen (missing Screen Recording permission on macOS, or no display).
  • Fix: macOS: allow your terminal in System Settings > Privacy & Security > Screen Recording, then retry; or record with OBS.
  • Severity: error
Code Title Severity
WELD-E9001 Low disk space warning
WELD-E9002 Out of disk space fatal
WELD-E9003 System clock is off warning
WELD-E9004 Permission denied error
WELD-E9005 Could not write the diagnostic bundle warning
WELD-E9006 No network connection warning
WELD-E9007 Known issue detected warning
WELD-E9008 Unsupported platform warning
WELD-E9009 Node service not installed info
WELD-E9010 Could not fetch Weld source warning
WELD-E9011 Unexpected internal error error
WELD-E9012 Required tool not found error
WELD-E9013 Installing a prerequisite failed error
WELD-E9014 No installer for a prerequisite warning
WELD-E9015 Prerequisites are missing warning
WELD-E9016 Installed, but not found yet warning
WELD-E9017 A tool is installed but not on your PATH warning

  • Message: Only {free} free on {mount} (Weld recommends at least {required}).
  • Why: LFS caches, builds and ML models are large.
  • Fix: Free space, or let weld evict old caches with weld cache prune.
  • Severity: warning

  • Message: {mount} is full ({free} free).
  • Why: Writes are failing, which can corrupt caches and builds.
  • Fix: Free space now: weld cache prune, then remove old builds and DDC folders.
  • Severity: fatal · HTTP: 507

  • Message: This machine’s clock differs from the hub by {skew}.
  • Why: Time sync is disabled or failing. Large skew breaks TLS, token expiry and event ordering.
  • Fix: Enable automatic time sync (macOS: System Settings → General → Date & Time; Windows: Settings → Time → Sync now; Linux: timedatectl set-ntp true).
  • Severity: warning

  • Message: Weld cannot {action} {path}.
  • Why: The file is owned by another user (often after running weld with sudo).
  • Fix: Fix ownership, e.g. sudo chown -R $(whoami) {path}.
  • Severity: error

WELD-E9005 · Could not write the diagnostic bundle

Section titled “WELD-E9005 · Could not write the diagnostic bundle”
  • Message: Writing the diagnostic bundle to {path} failed: {detail}.
  • Why: The directory is not writable or the disk is full.
  • Fix: Pass another location with weld doctor --bundle <path>.
  • Severity: warning

  • Message: This machine appears to be offline.
  • Why: Wi-Fi/Ethernet is down or DNS is not working.
  • Fix: Reconnect. Weld keeps working offline and syncs when you are back.
  • Severity: warning

  • Message: This matches known issue {id}: {title}.
  • Why: {cause}
  • Fix: {fix}
  • Severity: warning

  • Message: {os}/{arch} is not a supported platform.
  • Why: Weld ships for macOS arm64, Windows x64 and Linux x64/arm64.
  • Fix: Use a supported machine, or build from source.
  • Severity: warning

  • Message: The weld node is not installed as a background service.
  • Why: Service installation is opt-in for nodes, so the node only runs while weld node run is open.
  • Fix: Run weld node install-service to start the node at login and keep it running.
  • Severity: info · Auto-fix: weld doctor (install-service)

  • Message: Downloading the Weld source for {version} failed: {detail}.
  • Why: GitHub is unreachable or the release tag does not exist.
  • Fix: Claude can still debug with the diagnostic bundle alone. Ask your hub owner for the Weld source at {version} if you need it.
  • Severity: warning

  • Message: Weld hit an unexpected error: {detail}.
  • Why: This is a bug in Weld.
  • Fix: Run weld doctor --ai to investigate, or weld doctor --share to report it.
  • Severity: error

  • Message: {tool} was not found on PATH.
  • Why: The tool is not installed or not on PATH for this shell or service.
  • Fix: Install {tool} and make sure it is on PATH.
  • Severity: error

WELD-E9013 · Installing a prerequisite failed

Section titled “WELD-E9013 · Installing a prerequisite failed”
  • Message: Installing {name} failed: {command} exited with {exit}.
  • Why: {detail}
  • Fix: Run it yourself: {command} (or {manual}), then weld setup. The full installer output is in {log}.
  • Severity: error

WELD-E9014 · No installer for a prerequisite

Section titled “WELD-E9014 · No installer for a prerequisite”
  • Message: Weld can’t install {name} on this machine: {why}.
  • Why: Weld installs prerequisites with winget (Windows), Homebrew (macOS) or apt/dnf (Linux), or the vendor’s official installer.
  • Fix: Install it yourself: {manual}. Then run weld setup.
  • Severity: warning

  • Message: {count} prerequisite(s) are missing and were not installed: {names}.
  • Why: {why}
  • Fix: Run weld setup --yes to install them (the commands are printed above), or run those commands yourself.
  • Severity: warning · Auto-fix: weld doctor (install-prereqs)

WELD-E9016 · Installed, but not found yet

Section titled “WELD-E9016 · Installed, but not found yet”
  • Message: The {name} installer finished, but Weld still can’t find {name}.
  • Why: Some installers only update PATH for new terminals, or need a restart; or the install was cancelled in its own window.
  • Fix: Open a new terminal and run weld setup again. If it is still missing: {manual}. Installer output: {log}.
  • Severity: warning

WELD-E9017 · A tool is installed but not on your PATH

Section titled “WELD-E9017 · A tool is installed but not on your PATH”
  • Message: {tools} is installed in {dir}, but that folder is not on your PATH, so new terminals can’t find it.
  • Why: Its installer put it in a per-user folder and did not add that folder to the PATH new terminals get (or the change was undone).
  • Fix: Run weld setup (or weld doctor --fix) to add {dir} to your PATH, then open a new terminal. Manually: {manual}.
  • Severity: warning · Auto-fix: weld doctor (install-prereqs)