Skip to content
Troubleshooting

Troubleshooting

Every message on this page is copied from the source. FORGE passes GitHub’s and the inference plane’s own error text through unparaphrased, so a … below stands for their words.

Access

MessageMeaningFix
FORGE is opened from CORE — sign in to COREThe request carried no valid X-Core-Identity: it was missing, expired, badly signed, meant for the wrong audience, or duplicatedOpen FORGE from CORE’s rail. Locally, go through forge dev proxy rather than the backend’s own port.
CORE did not vouch for you — sign in to CORE again.The studio got Unauthenticated mid-session, because CORE’s session endedSign in to CORE again
this account is not on this forge instance's allowlist (FORGE_OWNER_EMAIL)CORE vouched for you, but FORGE_OWNER_EMAIL is set and does not list youAdd the address, or unset the allowlist
forge cannot verify CORE's identity assertions: CORE_FORGE_IDENTITY_KEY is unset or invalid (base64 of at least 32 random bytes, shared with CORE's console)A deployment fault, answered on every RPCProvide the key, the same value CORE’s console uses
The studio’s assets fail to load at the backend’s /The bundle is built for /forge/Browse through CORE, or through forge dev proxy at /forge/

Configuration

MessageMeaningFix
the forge is not connected to GitHub yet — CORE_GH_APP_ID / CORE_GH_APP_PRIVATE_KEY are unset on this deploymentNo GitHub credentialsSet the App credentials. Locally, set FORGE_GITHUB_TOKEN.
FORGE's encrypted store (appfs) is not mounted, so chats cannot be kept — see the server log for why (usually CORE_ENVELOPE_KEK)appfs did not mountRead the startup line appfs not mounted: …. Usually CORE_ENVELOPE_KEK is missing, or an object store is set but broken.
the forge audit log (appfs var/log/forge) is not mounted, and the forge does not act unattributedThe same root cause, met on an approvalAs above
OBJECTSTORE_ENDPOINT is set but the object store did not open: …objectd is configured but unreachable. FORGE will not fall back to local disk.Fix the endpoint or keys, or unset them to use FORGE_APPFS_DIR
the planner is not connected to the platform's own model — INFERENCE_URL / INFERENCE_MODEL unset on this deploymentThe planner has no model. Typed commands still work.Set both. INFERENCE_MODEL has no default.

GitHub

MessageMeaningFix
GitHub refused the repository: …Creating the repo failed. GitHub’s reason follows.Read GitHub’s words. The App may lack repository-creation permission in the organisation.
… Resource not accessible by integrationThe App lacks a permission for that callGrant the permission to the platform App
the App has no installation on <org>The App is not installed on FORGE_GITHUB_ORGInstall it, or fix the organisation
repo created but not tagged: … / repo created and tagged but not seeded: …A partial create. Topics are written before the seed, so the repo can still be listed.Read the cause. The repo exists, so don’t re-create it under the same name.
<lane>: the work order failed to file: …The repo or manifest step worked, but one lane’s issue did notSend that lane’s brief again
forge.yaml could not be written: …The structure change did not commitRetry the approval
the repo's forge.yaml is invalid, so FORGE will not overwrite it blind: …Someone edited forge.yaml by hand and broke itFix the file on GitHub so it parses, then approve again. See the spec.
GitHub is not answering: …, could not read forge.yaml: …, GitHub: …GitHub could not be readTry again. Failures are never cached.
A chat shows lanes but no status, with a reasonstatus_error: GitHub could not be read for that chat. The status is left absent, never guessed.Try again or Re-read from GitHub

Chats and approvals

MessageMeaning
name the project first (the project needs a short machine name: lowercase letters, digits, hyphens — it becomes the repo)The first approval needs a project name. Type project <name>.
Name the project first — it becomes the repo: project <name>The same rule, from the studio before it sends
add a lane first — a project is its lanesAn approval with no lanes
the first approval needs at least one lane brief — it is what the coding agent buildsA first approval with only structure
lane "…": describe the change in at least a sentence — it is handed to the coding agent verbatimThe brief is shorter than 12 characters
lane "…": brief too long (8000 chars max)The brief is too long
no lane "…" in this project / one brief per lane: "…" has twoThe briefs do not match the lanes
the project's repo exists; its name no longer changesRenaming after the first approval
lane "…": setting "…" looks like a credential — credentials are set in CORE › Connections, never hereA secret-looking setting key
could not record this request in the forge audit log, so it was not sent: …The audit append failed, so nothing reached GitHub
no such chat / not a chat idAn unknown chat, or an id that is not c-<16 hex> or repo-<name>
chats: at most 500 chats per personThe per-person limit

Lane-structure errors (at most 12 lanes per project, folder "…" is inside folder "…", and so on) are listed under Projects and lanes.

Planner

MessageMeaning
the planner is still thinking about the previous message — the platform's own model decodes one plan at a time on CPU; wait for that plan, then ask againResourceExhausted: a plan is already decoding. It is not queued.
the planner forgot this plan (restart or expiry) — ask againNotFound: the server restarted, or the plan finished more than an hour ago
the model did not answer with a JSON plan: … / the model's plan is not valid JSON (…): …The model’s output could not be parsed as a plan
inference <code>: …The inference plane answered with an HTTP error. Its text follows.
N proposed step(s) failed validation and were dropped.Some steps broke the rules and were dropped, not repaired
A step marked judge dissentsThe judging gate disagreed. The step is offered only as Use anyway.

Verification

What you seeMeaning
No verification yetNo core/ci has been posted on the default-branch HEAD. CORE’s sweep has not reached the repo, or it is not posting.
Nothing built yetfailure with Nothing to verify yet: …. No code has landed in that lane folder. This is not a broken build.
forge.yaml is invalid: … on core/ci, and no lane statusesCORE could not read the manifest
Verification failed with Open the CORE runA real failure. The run link is target_url.
The coding agent stage stays WAITINGNo work order has been closed. No forged PR has landed yet anywhere, and the coding agent opens only draft PRs.

Sources

grpc/cmd/{auth_interceptor,chat_server,forge_server,plan_server,iterations_server}.go; grpc/internal/{auth,appstate,chats,ghforge,planner,project}/; flutter/lib/core/auth/core_gate_screen.dart; flutter/lib/core/grpc/channel_provider.dart; flutter/lib/features/forge/project/project_loop.dart.