Run is stuck in `pending`
Run is stuck in `pending`
Cause: No online runner with a matching label.Fix:
- Check the runner process’s log for
Runner session registered— the dashboard does not list connected runners yet. - Verify your workflow’s
runner:label exactly matches a runner label (case-sensitive). - Ensure the runner process is running; a runner exits after its idle window unless
SHIPFOX_POLL_MAX_DURATION_MS=0is set. - In evaluation mode, remember the compose services do not execute jobs — a separate runner process must be started.
Workflow file not detected
Workflow file not detected
Cause: File is not in the correct location or has a YAML syntax error.Fix:
- Confirm the file is under
.shipfox/workflows/and has a.ymlor.yamlextension. - Run the file through a YAML linter (
npx js-yaml your-file.yml). - Check that the file extension is
.ymlor.yaml.
Validation error on push
Validation error on push
Cause: Workflow YAML contains invalid or unsupported keys.Common mistakes:
- Using
loop,matrix, orbranch— these are roadmap features not yet shipped. (${{ }}interpolation is shipped; writing{{ }}instead of${{ }}is the common mistake.) - Setting
envon an agent step —envis run-step only. - Using
model,thinking, orprovideron arunstep. - No
prompton an agent step. - Using the reserved
agent:key.
Agent step fails or produces no output
Agent step fails or produces no output
Cause: Missing API key on the runner, or model/provider mismatch.Fix:
- Verify the AI provider is configured in Settings → Agent providers with a valid API key.
- Check that
ANTHROPIC_API_KEY(or the relevant provider key) is set in the runner’s environment. - Confirm
modelandproviderIDs are valid (see Model Providers). - Check the step log in the dashboard for error messages from the provider.
Push trigger not firing
Push trigger not firing
Cause: GitHub integration not connected, wrong trigger
source, or repository is on GitLab.Fix:- Open Settings → Events. It lists every trigger event the workspace received. If your push appears with No workflows triggered, the workflow’s
sourcedoes not match the connection’s slug (see Integrations). If the push does not appear at all, the webhook never reached Shipfox. - In the project settings, verify the GitHub repository is connected.
- Push triggers only work with GitHub — GitLab is roadmap. Use
source: manual, event: firefor non-GitHub repos. - Verify the GitHub webhook is registered (visible in your GitHub repo’s Settings → Webhooks).
`restart_from` validation error
`restart_from` validation error
Cause: The step referenced by
restart_from doesn’t exist, appears after the gate step, or has no key:.Fix:- Add a
key:field to the step you want to restart from (restart_frommatches keys, notname:labels). - Ensure the keyed step appears before the gate step in the same job.
- Use the exact
namestring — it’s case-sensitive.
Sentry trigger not firing
Sentry trigger not firing
Cause: Sentry integration not configured.Fix:
- Go to Settings → Integrations → Sentry and complete the setup.
- Verify the
eventvalue is one of:issue.created,issue.resolved,issue.assigned,issue.archived,issue.unresolved.
If you’re still stuck, check the run’s step log in the dashboard — it often contains the exact error message. Still need help? Reach out to the Shipfox team.