# Tips

**URL:** https://cylc.discourse.group/c/cylc/tips/16.md

[Latest](https://cylc.discourse.group/latest.md) · [Categories](https://cylc.discourse.group/categories.md)

---

## [About the Tips category](https://cylc.discourse.group/t/about-the-tips-category/580)

<div class="topic-metadata">

**Author:** [@oliver.sanders](https://cylc.discourse.group/u/oliver.sanders)\
**Replies:** 0

</div>

A category for posting hints, tips and details of new Cylc features.

---

## [Tip: Jinja2 Macros](https://cylc.discourse.group/t/tip-jinja2-macros/1321)

<div class="topic-metadata">

**Author:** [@hilary.j.oliver](https://cylc.discourse.group/u/hilary.j.oliver)\
**Replies:** 0\
**Last updated:** [May 24, 2026, 10:18pm UTC](https://cylc.discourse.group/t/tip-jinja2-macros/1321 "2026-05-24T22:18:35Z")

</div>

Jinja2 macros are great way to automatically construct parts of your workflow based on input parameters (macro arguments). Here’s an example macro that adds a task to print a given word (default “hello”) to stdout, afte…

---

## [Annotated Cylc examples (physics‑motivated, work in progress)](https://cylc.discourse.group/t/annotated-cylc-examples-physics-motivated-work-in-progress/1314)

<div class="topic-metadata">

**Author:** [@BHFock](https://cylc.discourse.group/u/BHFock)\
**Replies:** 1\
**Last updated:** [May 5, 2026, 8:40am UTC](https://cylc.discourse.group/t/annotated-cylc-examples-physics-motivated-work-in-progress/1314 "2026-05-05T08:40:36Z")

</div>

As I’ve been getting back into Cylc, I started collecting some annotated examples to help myself remember the syntax and common patterns. The examples are physics‑motivated, but the structure is general enough that they …

---

## [Using integer cycling to process many data files](https://cylc.discourse.group/t/using-integer-cycling-to-process-many-data-files/1310)

<div class="topic-metadata">

**Author:** [@hilary.j.oliver](https://cylc.discourse.group/u/hilary.j.oliver)\
**Replies:** 0\
**Last updated:** [April 21, 2026, 12:44am UTC](https://cylc.discourse.group/t/using-integer-cycling-to-process-many-data-files/1310 "2026-04-21T00:44:29Z")

</div>

If anyone’s interested, here’s a simple “Cylc 101” documented example - used for training at Earthsciences NZ recently - of how to automate the processing of many data files with Cylc. The full workflow config for pr…

---

## [Tip: UI Command Editor](https://cylc.discourse.group/t/tip-ui-command-editor/1284)

<div class="topic-metadata">

**Author:** [@oliver.sanders](https://cylc.discourse.group/u/oliver.sanders)\
**Replies:** 0\
**Last updated:** [January 22, 2026, 3:10pm UTC](https://cylc.discourse.group/t/tip-ui-command-editor/1284 "2026-01-22T15:10:25Z")

</div>

Added in version cylc-uiserver: 1.8.2 The “command editor” allows us to edit the options for a command before we issue it, it is opened from the context menu by pressing the pencil icon. There is now an option to open …

---

## [Trigger task at first and last Cycle point](https://cylc.discourse.group/t/trigger-task-at-first-and-last-cycle-point/1246)

<div class="topic-metadata">

**Author:** [@wxtim](https://cylc.discourse.group/u/wxtim)\
**Replies:** 0\
**Last updated:** [January 21, 2026, 11:22am UTC](https://cylc.discourse.group/t/trigger-task-at-first-and-last-cycle-point/1246 "2026-01-21T11:22:41Z")

</div>

:sparkles: Version Added: 8.6.0 The initial and final cycle points in a workflow can now be referenced in commands using the ^ and $ symbols, e.g: # trigger "mytask" at the initial cycle point cylc trigger mywork…

---

## [Tip: GUI searching and filtering](https://cylc.discourse.group/t/tip-gui-searching-and-filtering/1282)

<div class="topic-metadata">

**Author:** [@oliver.sanders](https://cylc.discourse.group/u/oliver.sanders)\
**Replies:** 0\
**Last updated:** [January 15, 2026, 5:12pm UTC](https://cylc.discourse.group/t/tip-gui-searching-and-filtering/1282 "2026-01-15T17:12:22Z")

</div>

The task filtering controls in the “Tree” and “Table” views have been overhauled in cylc-uiserver: 1.8.2 (for use with Cylc 8.6). Task name searching now supports globs, e.g foo\* matches all tasks beginning with foo and…

---

## [Tip: held and retry indicators in the workflows sidebar](https://cylc.discourse.group/t/tip-held-and-retry-indicators-in-the-workflows-sidebar/1280)

<div class="topic-metadata">

**Author:** [@oliver.sanders](https://cylc.discourse.group/u/oliver.sanders)\
**Replies:** 0\
**Last updated:** [January 12, 2026, 3:44pm UTC](https://cylc.discourse.group/t/tip-held-and-retry-indicators-in-the-workflows-sidebar/1280 "2026-01-12T15:44:37Z")

</div>

As of cylc-flow 8.6.2 and cylc-uiserver 1.8.2, the workflows sidebar in the GUI now displays indicators for held and retrying tasks. These icons will show if there are any held or retrying tasks in the active window …

---

## [Tip: New workflows sidebar in the GUI](https://cylc.discourse.group/t/tip-new-workflows-sidebar-in-the-gui/1270)

<div class="topic-metadata">

**Author:** [@oliver.sanders](https://cylc.discourse.group/u/oliver.sanders)\
**Replies:** 0\
**Last updated:** [December 3, 2025, 5:08pm UTC](https://cylc.discourse.group/t/tip-new-workflows-sidebar-in-the-gui/1270 "2025-12-03T17:08:06Z")

</div>

The display of task states in the sidebar has been decluttered and numbers have been added to indicate how many tasks are in each state. The tooltips now have a short delay to avoid many popping up while moving the mouse…

---

## [Tip: Job Script environment variables](https://cylc.discourse.group/t/tip-job-script-environment-variables/1220)

<div class="topic-metadata">

**Author:** [@wxtim](https://cylc.discourse.group/u/wxtim)\
**Replies:** 0\
**Last updated:** [November 26, 2025, 12:02pm UTC](https://cylc.discourse.group/t/tip-job-script-environment-variables/1220 "2025-11-26T12:02:27Z")

</div>

Cylc documentation provides a list of all the variables Cylc adds to Job scripts: My favourite reference page in the Cylc Documentation Possible use cases include: Use CYLC\_VERBOSE and/or CYLC\_DEBUG to help choose th…

---

## [Tip: Automatic Broadcast Expiry](https://cylc.discourse.group/t/tip-automatic-broadcast-expiry/1256)

<div class="topic-metadata">

**Author:** [@oliver.sanders](https://cylc.discourse.group/u/oliver.sanders)\
**Replies:** 0\
**Last updated:** [October 10, 2025, 12:28pm UTC](https://cylc.discourse.group/t/tip-automatic-broadcast-expiry/1256 "2025-10-10T12:28:39Z")

</div>

Broadcasts automatically expire (i.e, are deleted) once they are no longer required by upcoming tasks. This means that if you try to re-run a task from the previous cycle, its broadcasts will likely have been expired. I…

---

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

<div class="topic-metadata">

**Author:** [@hilary.j.oliver](https://cylc.discourse.group/u/hilary.j.oliver)\
**Replies:** 1\
**Last updated:** [October 7, 2025, 8:23am UTC](https://cylc.discourse.group/t/tip-experimental-feature-expire-triggers/1254 "2025-10-07T08:23:36Z")

</div>

A new experimental feature in Cylc 8.6 reimplements suicide triggers as expire triggers. R1 = “foo =\> !bar” # if foo succeeds, expire bar The only functional effects of this change should be: it fixes a bug that all…

---

## [Tip: Experimental features in Cylc 8.6+](https://cylc.discourse.group/t/tip-experimental-features-in-cylc-8-6/1253)

<div class="topic-metadata">

**Author:** [@hilary.j.oliver](https://cylc.discourse.group/u/hilary.j.oliver)\
**Replies:** 0\
**Last updated:** [October 7, 2025, 2:47am UTC](https://cylc.discourse.group/t/tip-experimental-features-in-cylc-8-6/1253 "2025-10-07T02:47:12Z")

</div>

You can now choose to preview experimental features that will become the default in future releases, without fully committing (in case problems become apparent). We encourage everyone to check new releases for experimen…

---

## [Tip: Selecting tasks at initial and final cycle point](https://cylc.discourse.group/t/tip-selecting-tasks-at-initial-and-final-cycle-point/1252)

<div class="topic-metadata">

**Author:** [@oliver.sanders](https://cylc.discourse.group/u/oliver.sanders)\
**Replies:** 0\
**Last updated:** [October 6, 2025, 11:55am UTC](https://cylc.discourse.group/t/tip-selecting-tasks-at-initial-and-final-cycle-point/1252 "2025-10-06T11:55:15Z")

</div>

As of Cylc 8.6.0, the initial and final cycle points in a workflow can now be referenced in commands using the ^ and $ symbols, e.g: # trigger "mytask" at the initial cycle point cylc trigger myworkflow//^/mytask # set…

---

## [Tip: Command using task matching](https://cylc.discourse.group/t/tip-command-using-task-matching/1251)

<div class="topic-metadata">

**Author:** [@wxtim](https://cylc.discourse.group/u/wxtim)\
**Replies:** 0\
**Last updated:** [October 2, 2025, 1:18pm UTC](https://cylc.discourse.group/t/tip-command-using-task-matching/1251 "2025-10-02T13:18:18Z")

</div>

:sparkles:Version Added: 8.6.0 Task Matching Various Cylc commands (e.g. cylc trigger, cylc set and cylc hold) allow us to select the tasks we want to operate on using cycle points, family names or globs, e.g: # …

---

## [Tip: Cycle Share Directory](https://cylc.discourse.group/t/tip-cycle-share-directory/1219)

<div class="topic-metadata">

**Author:** [@wxtim](https://cylc.discourse.group/u/wxtim)\
**Replies:** 0\
**Last updated:** [August 26, 2025, 8:57am UTC](https://cylc.discourse.group/t/tip-cycle-share-directory/1219 "2025-08-26T08:57:25Z")

</div>

A new per-cycle share directory has been added, share/cycle/\<cycle\> in Cylc 8.5.0. This directory is now automatically created and provides a convenient location for tasks to share cycle-specific data. See also Shared T…

---

## [Tip: setting xtriggers](https://cylc.discourse.group/t/tip-setting-xtriggers/1238)

<div class="topic-metadata">

**Author:** [@oliver.sanders](https://cylc.discourse.group/u/oliver.sanders)\
**Replies:** 0\
**Last updated:** [August 21, 2025, 10:24am UTC](https://cylc.discourse.group/t/tip-setting-xtriggers/1238 "2025-08-21T10:24:45Z")

</div>

The cylc set command can now be used to satisfy xtrigger prerequisites. For example if the task 2026/get\_data is clock triggered, you might satisfy this prerequisite like so: $ cylc set myworkflow//2026/get\_data --pre x…

---

## [Tip: Reload the global config](https://cylc.discourse.group/t/tip-reload-the-global-config/1237)

<div class="topic-metadata">

**Author:** [@oliver.sanders](https://cylc.discourse.group/u/oliver.sanders)\
**Replies:** 0\
**Last updated:** [August 21, 2025, 10:19am UTC](https://cylc.discourse.group/t/tip-reload-the-global-config/1237 "2025-08-21T10:19:25Z")

</div>

cylc reload now has a --global option to reload the global configuration while the server is running. This can be used to update platform settings for an in-progress workflow.

---

## [Tip: Cylc Tui - external log viewer](https://cylc.discourse.group/t/tip-cylc-tui-external-log-viewer/1236)

<div class="topic-metadata">

**Author:** [@oliver.sanders](https://cylc.discourse.group/u/oliver.sanders)\
**Replies:** 0\
**Last updated:** [August 20, 2025, 2:14pm UTC](https://cylc.discourse.group/t/tip-cylc-tui-external-log-viewer/1236 "2025-08-20T14:14:39Z")

</div>

cylc tui can now open log files in external tools. Configure your $EDITOR, $GEDITOR and $PAGER environment variables to change which tool is used. Note: Make sure your configured command waits for the tool to be c…

---

## [Tip: GUI Log View](https://cylc.discourse.group/t/tip-gui-log-view/1235)

<div class="topic-metadata">

**Author:** [@oliver.sanders](https://cylc.discourse.group/u/oliver.sanders)\
**Replies:** 0\
**Last updated:** [August 19, 2025, 11:44am UTC](https://cylc.discourse.group/t/tip-gui-log-view/1235 "2025-08-19T11:44:34Z")

</div>

As of 8.5.0, the GUI now picks the default job log file to display based on the task state: failed → job.err submit-failed → job-activity.log otherwise → job.out This speeds up the loading of the log file because the …

---

## [Tip: GUI Layout](https://cylc.discourse.group/t/tip-gui-layout/1233)

<div class="topic-metadata">

**Author:** [@oliver.sanders](https://cylc.discourse.group/u/oliver.sanders)\
**Replies:** 0\
**Last updated:** [August 14, 2025, 12:16pm UTC](https://cylc.discourse.group/t/tip-gui-layout/1233 "2025-08-14T12:16:03Z")

</div>

The Cylc GUI now preserves tab layout between sessions. When working on a workflow, we can open multiple tabs (tree, table, graph, etc) and tile them up in a layout. If you switch to another workflow, switch back, your …

---

## [Tip: How to unset mail events in Cylc 8.5](https://cylc.discourse.group/t/tip-how-to-unset-mail-events-in-cylc-8-5/1225)

<div class="topic-metadata">

**Author:** [@MetRonnie](https://cylc.discourse.group/u/MetRonnie)\
**Replies:** 4\
**Last updated:** [August 6, 2025, 8:25am UTC](https://cylc.discourse.group/t/tip-how-to-unset-mail-events-in-cylc-8-5/1225 "2025-08-06T08:25:17Z")

</div>

In Cylc 8.5, workflow and task handler events and mail events names are now validated. Some people may have been doing something like: mail events = None in order to override and unset the global config value. This wil…

---

## [Tip: Warning Triangles](https://cylc.discourse.group/t/tip-warning-triangles/1224)

<div class="topic-metadata">

**Author:** [@oliver.sanders](https://cylc.discourse.group/u/oliver.sanders)\
**Replies:** 0\
**Last updated:** [August 5, 2025, 10:16am UTC](https://cylc.discourse.group/t/tip-warning-triangles/1224 "2025-08-05T10:16:58Z")

</div>

The GUI now has warning triangles, these “light up” whenever warnings occur in the workflow. Cylc logs warnings for various things such as task failures, stalled workflows, and command errors. You can see these in the …

---

## [Tip: Cylc Set Xtriggers](https://cylc.discourse.group/t/tip-cylc-set-xtriggers/1218)

<div class="topic-metadata">

**Author:** [@wxtim](https://cylc.discourse.group/u/wxtim)\
**Replies:** 0\
**Last updated:** [August 1, 2025, 8:34am UTC](https://cylc.discourse.group/t/tip-cylc-set-xtriggers/1218 "2025-08-01T08:34:28Z")

</div>

Docs Link The cylc set command can now be used to satisfy xtrigger prerequisites. For example if the task 2026/get\_data is clock triggered, you might satisfy this prerequisite like so: cylc set myworkflow//2026/get\_dat…

---

## [Tip: Task info in the GUI](https://cylc.discourse.group/t/tip-task-info-in-the-gui/1215)

<div class="topic-metadata">

**Author:** [@wxtim](https://cylc.discourse.group/u/wxtim)\
**Replies:** 0\
**Last updated:** [July 30, 2025, 8:53am UTC](https://cylc.discourse.group/t/tip-task-info-in-the-gui/1215 "2025-07-30T08:53:22Z")

</div>

More task information in the GUI (and Tui) Task now icons in the GUI and TUI have badges for tasks waiting for: retries xtriggers wallclock Xtriggers, wallclock triggers, retry triggers and task run mode are now sh…

---

## [Tip: triggering multiple tasks](https://cylc.discourse.group/t/tip-triggering-multiple-tasks/1213)

<div class="topic-metadata">

**Author:** [@oliver.sanders](https://cylc.discourse.group/u/oliver.sanders)\
**Replies:** 0\
**Last updated:** [July 25, 2025, 9:59am UTC](https://cylc.discourse.group/t/tip-triggering-multiple-tasks/1213 "2025-07-25T09:59:03Z")

</div>

Cylc now respects the dependencies between tasks when triggering multiple tasks at the same time. This provides an easy way to re-run a group of tasks in order: This is generally easier than using a new flow. Technic…

---

## [Tip: Cylc install records version control info](https://cylc.discourse.group/t/tip-cylc-install-records-version-control-info/952)

<div class="topic-metadata">

**Author:** [@wxtim](https://cylc.discourse.group/u/wxtim)\
**Replies:** 0\
**Last updated:** [May 10, 2024, 9:06am UTC](https://cylc.discourse.group/t/tip-cylc-install-records-version-control-info/952 "2024-05-10T09:06:46Z")

</div>

If your workflow source is version controlled cylc install records information from the version control system in ~/cylc-run/workflow/log/version. For example if you wanted to run an experiment you might do: git checko…

---

## [Tip: Skip Mode Dummy Tasks](https://cylc.discourse.group/t/tip-skip-mode-dummy-tasks/1094)

<div class="topic-metadata">

**Author:** [@wxtim](https://cylc.discourse.group/u/wxtim)\
**Replies:** 0\
**Last updated:** [January 22, 2025, 3:14pm UTC](https://cylc.discourse.group/t/tip-skip-mode-dummy-tasks/1094 "2025-01-22T15:14:00Z")

</div>

Sometimes you need a dummy task in a workflow. (examples include making family to family triggers more efficient, and skipping occasional items in parameterized tasks) You can now use \[runtime\] \[\[my\_dummy\_task\]\] …

---

## [Tip: Skip Future Tasks](https://cylc.discourse.group/t/tip-skip-future-tasks/1093)

<div class="topic-metadata">

**Author:** [@wxtim](https://cylc.discourse.group/u/wxtim)\
**Replies:** 0\
**Last updated:** [January 20, 2025, 8:20am UTC](https://cylc.discourse.group/t/tip-skip-future-tasks/1093 "2025-01-20T08:20:15Z")

</div>

Future task can now be set to run in “skip” mode where they complete their required outputs instantly. Tasks can be configured to run in skip mode either in the workflow configuration or by broadcasting. Running tasks…

---

## [Tip: Removing old tasks](https://cylc.discourse.group/t/tip-removing-old-tasks/1092)

<div class="topic-metadata">

**Author:** [@wxtim](https://cylc.discourse.group/u/wxtim)\
**Replies:** 0\
**Last updated:** [January 13, 2025, 2:56pm UTC](https://cylc.discourse.group/t/tip-removing-old-tasks/1092 "2025-01-13T14:56:41Z")

</div>

cylc Remove now allows removing tasks which are no longer active, making it look like they never ran. Removing a running task will now kill that task. See Cylc interventions for a fuller explanation of this interventi…

[Next page](https://cylc.discourse.group/c/cylc/tips/16.md?page=1)
