Loading documentation...
Complete reference for Stride YAML configuration files
This guide explains how to configure your project so you can move issues between status blocks on the Kanban board.
When you get an "invalid configuration error" when trying to move issues, it typically means one of these problems:
Every project must have a valid workflow configuration with at least these components:
workflow:
default_status: todo # Must match one of the status keys below
statuses:
- key: todo # Unique identifier (used in database)
name: To Do # Display name (shown in UI)
type: open # Must be: open, in_progress, or closed
yamlworkflow:
statuses:
- key: todo
name: To Do
type: open
- key: in_progress # ✅ Valid
name: In Progress
type: in_progress
- key: todo # ❌ ERROR: Duplicate key
name: Backlog
type: open
yamldefault_status Must Match a Status Keyworkflow:
default_status: todo # ✅ Must match one of the keys below
statuses:
- key: todo # ✅ Matches!
name: To Do
type: open
- key: in_progress
name: In Progress
type: in_progress
yamlThe type field controls what transitions are allowed:
open: Can transition to in_progress or closedin_progress: Can transition to other in_progress statuses or closedclosed: Terminal - Cannot transition back to open or in_progressworkflow:
statuses:
- key: todo
type: open # Can go to in_progress or closed
- key: done
type: closed # ❌ Cannot go back to open/in_progress
yamlHere's a minimal valid configuration that will allow moving issues:
project_key: APP
project_name: My Application
workflow:
default_status: todo
statuses:
- key: todo
name: To Do
type: open
- key: in_progress
name: In Progress
type: in_progress
- key: done
name: Done
type: closed
custom_fields: []
automation_rules: []
yamlProblem: Your issues have status values that don't exist in your workflow configuration.
How to Diagnose:
/projects/{projectId}/settings/configFix:
Add the missing status to your workflow.statuses array:
workflow:
statuses:
# If your issue has status="backlog", add this:
- key: backlog
name: Backlog
type: open
# ... other statuses
yamlProblem: Your project doesn't have a configuration at all.
Fix:
/projects/{projectId}/settings/configProblem: Status keys are case-sensitive. "Todo" ≠ "todo".
Example:
status = "Todo" (capital T)key: todo (lowercase t)Fix: Ensure your configuration uses lowercase, kebab-case, or snake_case consistently:
# ✅ Good - consistent lowercase
workflow:
statuses:
- key: todo
- key: in_progress
- key: in_review
# ❌ Bad - mixed case
workflow:
statuses:
- key: Todo # Mixed case
- key: InProgress # CamelCase
yamlProblem: Once an issue is in a closed status, it cannot be moved back to open or in_progress.
Fix:
If you need to reopen issues, create a separate status with type in_progress:
workflow:
statuses:
- key: done
name: Done
type: closed
- key: reopened # ✅ Allows reopening
name: Reopened
type: in_progress # Not closed, so can move freely
yamlProblem: A required custom field must be set before moving to certain statuses.
Example:
custom_fields:
- key: priority
name: Priority
type: dropdown
required: true # ❌ Must set before status change
yamlFix:
required: false if it's not truly requiredNavigate to Configuration Editor
/projects/{projectId}/settings/configVerify Your Configuration Has:
project_key (2-10 uppercase alphanumeric)project_nameworkflow.default_status (matches a status key)workflow.statuses array with at least 1 statuskey, name, and typeCheck Your Issues' Current Statuses
workflow.statusesValidate YAML Syntax
Save and Test
Run this query (if you have database access) or check the issue details:
SELECT DISTINCT status FROM "Issue" WHERE "projectId" = 'your-project-id';
sqlEnsure each unique status value has a corresponding entry in your workflow.statuses array.
The error messages tell you exactly what's wrong:
If you're unsure, start with the default configuration from generateDefaultConfig:
project_key: YOUR_PROJECT_KEY
project_name: Your Project Name
workflow:
default_status: todo
statuses:
- key: todo
name: To Do
type: open
- key: in_progress
name: In Progress
type: in_progress
- key: in_review
name: In Review
type: in_progress
- key: done
name: Done
type: closed
custom_fields:
- key: priority
name: Priority
type: dropdown
options: [Low, Medium, High, Critical]
required: false
automation_rules: []
yamlFrom packages/yaml-config/src/schema.ts:
^[A-Z0-9]{2,10}$ (uppercase, alphanumeric)open, in_progress, or closedworkflow.statusesdefault_status must match a status keytext, number, dropdown, date, or boolean/content/docs/configuration-reference.md for full schema reference/content/docs/configuration-troubleshooting.md for more error solutionspackages/ui/src/organisms/KanbanBoard.tsx (lines 249-319)Last updated: January 12, 2026