# Skip challenges

Tracks have an optional setting to allow challenge skipping. This is useful when learners are stuck on a certain challenge or have partially completed a track and want to pick up where they left off.

## **Who can skip challenges?**

Regardless of any configuration, the following people can always skip challenges:

* All team members
* Track authors

Instructors can only skip challenges if they are also a team member or a track author. Otherwise, they follow the same rules as learners.

Learners can only skip challenges if you specifically enable that functionality.

{% hint style="warning" %}
If you enable skipping, learners will be able to skip every challenge in a track. You cannot turn on skipping for specific challenges.
{% endhint %}

### Skip button visibility

The **Skip** button is shown when:

* You are a team member or track author (owners, content creators, and members always see it), **or**
* `Allow skipping` is enabled **and** every challenge that has a check script also has a solve script.

If a challenge has already been completed, the Skip button is hidden and **Next** is shown instead.

## Before you begin

There are two requirements to enable challenge skipping for a track:

* You need to be a track author of the track.
* All challenges that have [check scripts](/sandboxes/lifecycle-scripts.md#challenge-check-script) must also have [solve scripts](/sandboxes/lifecycle-scripts.md#challenge-solve-script).

The below is an example of a track, where the Skip button will not be available on any of the challenges:

<table><thead><tr><th width="129">Challenge</th><th width="168">Has a Check script</th><th width="166.5">Has a Solve script</th><th>Note</th></tr></thead><tbody><tr><td>1</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td></td></tr><tr><td>2</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td></td></tr><tr><td>3</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td>This challenge will prevent skipping</td></tr><tr><td>4</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td></td></tr><tr><td>5</td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td>This challenge would not prevent skipping as there is no check AND no solve script</td></tr></tbody></table>

{% hint style="warning" %}
The 'skip' functionality will be disabled for all challenges if even one challenge has a check script but is missing its corresponding solve script.
{% endhint %}

## Enable challenge skipping

You can enable challenge skipping using the Web UI or the Instruqt CLI.

{% tabs %}
{% tab title="🌐 Web UI" %}

1. Click the track you want to enable skipping on.
2. In the **Settings** section, turn on the **Allow skipping** toggle.

{% hint style="info" %}
If you cannot toggle **Allow skipping**, ensure that every challenge with a check script also has a solve script.
{% endhint %}
{% endtab %}

{% tab title="💻 Instruqt CLI" %}

1. Open the `track.yml` file of the track you want to enable skipping on.
2. Add or adjust the `skipping_enabled` property:&#x20;

   ```yaml
   skipping_enabled: true
   ```
3. Save `track.yml` and push the changes to Instruqt:

   ```xml
   instruqt track push
   ```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.instruqt.com/tracks/challenges/skipping-challenges.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
