# Tip: Expire Triggers will become the default in Cylc 8.8

**URL:** <https://cylc.discourse.group/t/tip-expire-triggers-will-become-the-default-in-cylc-8-8/1364>\
**Category:** Tips\
**Created:** [November 3, 2026, 1:47pm UTC](https://cylc.discourse.group/t/tip-expire-triggers-will-become-the-default-in-cylc-8-8/1364 "2026-11-03T13:47:48Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![oliver.sanders](https://yyz2.discourse-cdn.com/free1/user_avatar/cylc.discourse.group/oliver.sanders/32/110_2.png) [@oliver.sanders](https://cylc.discourse.group/u/oliver.sanders)\
**Post date:** [November 3, 2026, 1:47pm UTC](https://cylc.discourse.group/t/tip-expire-triggers-will-become-the-default-in-cylc-8-8/1364/1 "2026-11-03T13:47:48Z")

</div>

In Cylc 8. **6**.0, we introduced an experimental feature where “suicide triggers” were re-implemented as “expire triggers”.

In Cylc 8. **8**.0, this will become the **default** behaviour.

> _Original announcement_: [Tip: Experimental feature - expire triggers](https://cylc.discourse.group/t/tip-experimental-feature-expire-triggers/1254)

This is a subtle change to how the `!` syntax in Cylc graphs is interpreted:

- Under the current default behaviour, `!` triggers cause tasks to be _removed_.
- Under the new experimental behaviour, `!` triggers cause tasks to enter the `expired` state.

This is a minimal change, it can potentially have impacts on workflows in the niche situations where the expired output of a “suicide triggered” task is already used in the graph for other purposes.

You can opt in to the experimental behaviour by setting the `[scheduler][experimental]expire triggers` setting:

```cylc
# opt into the "expire triggers" experimental feature
[scheduler]
    [experimental]
        expire triggers = True

```
