Skip to main content

Troubleshooting

This guide covers common errors you might encounter when importing custom plans into OwnLift, along with their solutions.

Parse Errors

"Failed to parse YAML file"

Cause: The YAML syntax is invalid. YAML is sensitive to indentation and formatting.

Common issues:

  • Inconsistent indentation (mixing tabs and spaces)
  • Missing colons after field names
  • Special characters in strings that need quoting

Solution:

  1. Use spaces (not tabs) for indentation — 2 spaces per level is standard
  2. Ensure all field names end with a colon
  3. Wrap strings containing special characters (:, #, -) in quotes
  4. Use a YAML validator to check syntax: yamllint.com

Version Errors

"Plan file missing required 'plan_version' as a number"

Cause: The plan_version field is missing or not a number.

Solution: Add plan_version: 1 as the first line of your file:

valid-plan.yaml
plan_version: 1
meta:
  title: My Plan
cycle:
  days:
    - order: 0
      exercises:
        - name: Push-ups
          modality: strength
          target_sets: 3
          target_reps: 10

"Plan version X not supported. Expected 1."

Cause: The plan uses a version number that OwnLift doesn't recognize.

Solution: Change plan_version to 1. This is currently the only supported version.

Metadata Errors

"Plan meta.title is required"

Cause: Every plan needs a title.

Solution: Add a title under the meta section:

meta:
  title: My Workout Plan

"Plan meta.title must be 80 characters or fewer"

Cause: The plan title is too long.

Solution: Shorten your title to 80 characters or less. Use the description field for additional details.

Day Errors

"Plan must include at least one day"

Cause: The cycle.days array is empty or missing.

Solution: Add at least one day with at least one exercise:

cycle:
  days:
    - order: 0
      exercises:
        - name: Exercise Name
          modality: strength

"Day X missing numeric 'order'"

Cause: The order field is missing or not a number.

Solution: Add an order field to each day. Order starts at 0:

days:
  - order: 0
    focus: Day 1
  - order: 1
    focus: Day 2

"Day X has invalid order; must be >= 0"

Cause: The order value is negative.

Solution: Use non-negative integers (0, 1, 2, ...).

"Duplicate day order detected: X"

Cause: Two or more days have the same order value.

Solution: Ensure each day has a unique order number.

"Day X must include at least one exercise"

Cause: A day's exercises array is empty or missing.

Solution: Add at least one exercise to each day.

Exercise Errors

"Exercise 'X' has unsupported modality 'Y'"

Cause: The modality isn't one of the four supported types.

Solution: Use one of: strength, countdown, stopwatch, or interval.

exercises:
  - name: Plank
    modality: countdown  # Valid values: strength, countdown, stopwatch, interval
    target_duration_sec: 60

"Exercise 'X' duration must be positive"

Cause: target_duration_sec is zero or negative.

Solution: Use a positive number for duration (in seconds):

- name: Plank
  modality: countdown
  target_duration_sec: 60  # Must be > 0

"Exercise 'X' distance must be positive"

Cause: target_distance_meters is zero or negative.

Solution: Use a positive number for distance (in meters).

Link Errors

Link field is ignored

Cause: The URL doesn't use HTTPS protocol.

Solution: Only HTTPS URLs are accepted for security. Change http:// to https://:

- name: Squat
  modality: strength
  link: https://www.youtube.com/watch?v=example  # Must be https://

Validation Checklist

Before importing, verify your plan meets these requirements:

  • plan_version — Must be 1
  • meta.title — Required, max 80 characters
  • cycle.days — At least one day
  • day.order — Unique non-negative integer for each day
  • day.exercises — At least one exercise per day
  • exercise.name — Required for each exercise
  • exercise.modality — One of: strength, countdown, stopwatch, interval
  • Durations/distances — Must be positive numbers
  • Links — Must use HTTPS

Still Having Issues?

If you're still encountering problems:

  1. Compare your file against the Example Plans
  2. Validate your YAML syntax at yamllint.com
  3. Check the PWF specification for the complete format reference
  4. Contact support at support@ownlift.app