Sprite
Troubleshooting
Diagnose the Sprite wake origin, managed services, canonical Worker, MCP capability, GitHub reader, publisher, push grants, and YOLO policy.
Start with the end-to-end check:
zodex sprite health --sprite dev
Then isolate the first failing layer instead of repeatedly retrying the whole workflow.
1. Sprite identity / raw origin
sprite info dev
The canonical Worker needs url auth: public. Repair with:
sprite config update --url-auth public dev
sprite info dev
The raw URL is only the Worker upstream/wake origin; do not register it directly in ChatGPT.
2. Managed service state
zodex sprite status --sprite dev
zodex sprite logs --sprite dev --service zodex-prd --lines 100
zodex sprite logs --sprite dev --service zodexd --lines 100
If definitions drift:
zodex sprite sync --sprite dev
If definitions are correct but a service needs repair:
zodex sprite restart --sprite dev
Neither command changes persistent VM power state.
3. Cloudflare Worker
zodex sprite proxy status --sprite dev
zodex sprite proxy verify --sprite dev
Common cases:
Worker is stale or foreign
zodex sprite proxy deploy --sprite dev
zodex sprite proxy verify --sprite dev
Several Cloudflare accounts are available
Choose explicitly:
zodex sprite proxy deploy --sprite dev --cloudflare-account <id-or-name>
Temporary claim expired
Rerun deploy to create a fresh temporary deployment/claim URL. Treat the new claim URL as a secret and claim it within the displayed 60-minute window.
Temporary Worker was claimed but not permanently registered
wrangler login --use-keyring
zodex sprite proxy deploy --sprite dev
The claim step and normal Wrangler authentication are separate. Zodex never persists the claim URL.
No Wrangler-capable runner
Install/provide a supported Node/Wrangler environment or make wrangler, bunx, or npx available on PATH. Zodex intentionally does not install a general-purpose JS toolchain itself.
4. ChatGPT endpoint
zodex sprite connect --sprite dev
If the Worker is current/reachable, this copies the secret capability URL. Use --show-url only when you want it printed.
If ChatGPT sees no tools, check:
- the app endpoint came from
zodex sprite connect; - Developer Mode/custom apps are enabled for the account/workspace;
- current plan/workspace policy supports the required MCP behavior;
- tools were rescanned after endpoint changes.
Most OpenAI paid plans support custom MCP servers.
5. Reader GitHub failures
Recheck the reader App:
- Contents: Read-only;
- installed for the exact repository;
- App ID/installation correspond to its PEM;
- reader PEM ownership remains intact.
Setup/upgrade health checks should catch most of these failures.
6. PR publishing fails
zodex sprite logs --sprite dev --service zodex-prd --lines 100
Check:
- worktree is clean/committed;
- requested
owner/repomatches the checkout origin; - writer App is installed for that repository;
- writer permissions include Contents, Pull requests, and Workflows read/write;
- writer PEM remains readable only by the publisher boundary;
- bundle is within the default 128 MiB ceiling.
Do not fix this by making the writer PEM readable to zodex-agent.
7. Direct push fails
Inspect both explicit grants and YOLO policy:
zodex sprite github list-grants --sprite dev
zodex sprite github status --sprite dev
A valid push needs the exact repo to be covered by the active grant/YOLO path and by the writer App installation/target configuration.
Open a grant deliberately:
zodex sprite github grant-push --sprite dev --repo owner/repo
Or scoped YOLO:
zodex sprite github yolo --sprite dev --repo owner/repo --ttl 2h
8. Setup failed after runtime became healthy
Setup is resumable. A Cloudflare deployment/auth failure does not require you to wipe or rebuild the healthy guest runtime. Fix the reported Worker/auth prerequisite and rerun setup or:
zodex sprite proxy deploy --sprite dev
Before invasive manual repair
Inspect active work first, then consider a checkpoint:
sprite checkpoint create -s dev --comment "before manual recovery"