Login & Authentication
sf login can't open a browser / SSH environments
sf login can't open a browser / SSH environments
--device-flow to log in with a device code: the CLI shows a short code; open the prompted URL in any device’s browser and enter it. For CI, use sf login --token <service token>.401 / expired token
401 / expired token
sf login again. Login state lives in ~/.forge/; multiple machines log in independently without affecting each other. A disabled account also shows up as 401 — check your account status first.Rejected Submissions
"Recipe exact-contract mismatch / runtime_id incompatible"
"Recipe exact-contract mismatch / runtime_id incompatible"
sf recipe status <exp> to see the differences, sf recipe upgrade <exp> to upgrade, or add --upgrade-recipe when submitting."Workspace has uncommitted changes"
"Workspace has uncommitted changes"
git commit and retry; if you really need to submit with dirty changes, use --allow-dirty (untracked files are listed as warnings — be careful not to include large or sensitive files)."Config validation failed"
"Config validation failed"
sf validate <exp> before resubmitting."HuggingFace resource preflight failed"
"HuggingFace resource preflight failed"
org/name is required). Request access on the HF website first, then confirm your account is linked on the console’s HuggingFace page."Image registry not on the allowlist" (custom)
"Image registry not on the allowlist" (custom)
--image may use a tag; pin @sha256:… for production. The registry host must be on FORGE_ALLOWED_IMAGE_REGISTRIES. An empty list rejects custom user images entirely. Custom images.custom external observability 要求 spec.framework.observability_url
custom external observability 要求 spec.framework.observability_url
custom/custom is external observability. Pass --observability-url on submit. Console charts still need starforge.report (install starforge-core in the image). Custom training.train.sh still exits 1 / 2
train.sh still exits 1 / 2
FORGE_WORK_DIR; run "${FORGE_EXP_DIR}/train.py".Insufficient quota
Insufficient quota
sf status. If you’re in a hurry, free capacity by stopping your own older jobs with sf job stop, or ask an admin to adjust your quota.Job Issues
Stuck in QUEUED, never dequeued
Stuck in QUEUED, never dequeued
sf status), idle GPUs on the cluster (console dashboard), whether the schedule window is closed (jobs are held when the remaining window is below the threshold), and whether maintenance mode is on.Stuck in PENDING (kuberay)
Stuck in PENDING (kuberay)
RUNNING but no data in the charts
RUNNING but no data in the charts
FORGE_INGEST_URL must be reachable from the training container (not 127.0.0.1). Custom jobs also need starforge.report in the training code; see Custom training.A new job appears automatically after FAILED
A new job appears automatically after FAILED
OOM / container killed
OOM / container killed
train_micro_batch_size, enable activation checkpointing, lower vLLM gpu_memory_utilization, or switch to a larger-shape profile. The AI analysis in the Diagnostics tab usually suggests the exact changes.Logs & Observability
sf job logs stream drops
sf job logs stream drops
/api). Historical logs can be replayed anytime: sf job logs <ID> -n 0.Validation samples are empty
Validation samples are empty
val_period > 0) and a validation step has been reached; GRPO/PPO samples are generated during validation rounds, so being empty early in training is normal.