# What does 'inherit = None' mean in task inheritance?

**URL:** https://cylc.discourse.group/t/what-does-inherit-none-mean-in-task-inheritance/250
**Category:** Cylc Support
**Created:** [June 4, 2020, 3:43am UTC](https://cylc.discourse.group/t/what-does-inherit-none-mean-in-task-inheritance/250 "2020-06-04T03:43:05Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![jonnyhtw](https://yyz2.discourse-cdn.com/free1/user_avatar/cylc.discourse.group/jonnyhtw/32/232_2.png) [@jonnyhtw](https://cylc.discourse.group/u/jonnyhtw)
#### Post date: [June 4, 2020, 3:43am UTC](https://cylc.discourse.group/t/what-does-inherit-none-mean-in-task-inheritance/250/1 "2020-06-04T03:43:06Z")

</div>

Hi there

Is there a simple way to understand what `inherit = None` means in task inheritance?

Are these things the same…

```auto
[[foo]]
    inherit = None
    [[[environment]]]
        host = myhost

```

… and …

```auto
[[foo]]
    [[[environment]]]
        host = myhost

```

It’s not entirely clear to me from the docs I’m afraid! 🙂

Thanks!

Jonny

CC @vv1610 FYI

---

<div class="post-metadata">

### Author: ![TomC](https://yyz2.discourse-cdn.com/free1/user_avatar/cylc.discourse.group/tomc/32/115_2.png) [@TomC](https://cylc.discourse.group/u/TomC)
#### Post date: [June 4, 2020, 4:24am UTC](https://cylc.discourse.group/t/what-does-inherit-none-mean-in-task-inheritance/250/2 "2020-06-04T04:24:47Z")

</div>

`inherit = None` I believe is relevant only to the GUI. If you do `inherit = FOO` your task will be shown under `FOO`, but if you do `inherit = None, FOO`, then it will be displayed under the cycle point instead.

In your example, yes, they would be equivalent because you are not inheriting anything else.

See [https://cylc.github.io/doc/built-sphinx-single/index.html#task-families-and-visualization](https://cylc.github.io/doc/built-sphinx-single/index.html#task-families-and-visualization)

---

<div class="post-metadata">

### Author: ![hilary.j.oliver](https://yyz2.discourse-cdn.com/free1/user_avatar/cylc.discourse.group/hilary.j.oliver/32/4_2.png) [@hilary.j.oliver](https://cylc.discourse.group/u/hilary.j.oliver)
#### Post date: [June 4, 2020, 5:29am UTC](https://cylc.discourse.group/t/what-does-inherit-none-mean-in-task-inheritance/250/3 "2020-06-04T05:29:16Z")

</div>

@TomC is right.

The reason (for the record) for this is the runtime hierarchy is primarily for inheritance of task runtime settings, but secondarily it defines the collapse/expand family hierarchy for dependency graph visualization. However, it’s a multiple inheritance hierarchy (a task or family can inherit from multiple families at once) and collapse/expand only makes sense for a single-parent hierarchy, so we use only the first parents, at each level, for that. These two purposes don’t usually conflict but sometimes the first parent is inherited for base technical reasons (e.g. platform settings) that don’t reflect the logical purpose of the task, so `inherit = None, parent1` can be used to nullify the first parent for visualization purposes without affecting the inheritance of settings.

This dual use of the inheritance hierarchy is supposed to be a convenience - when it works you get a nice visualization hierarchy for free. But this `inherit = None, ...` bodge is not exactly intuitive 😬 … so we’re planning to go for a separate, more flexible, visualization hierarchy in future.

---

<div class="post-metadata">

### Author: ![jonnyhtw](https://yyz2.discourse-cdn.com/free1/user_avatar/cylc.discourse.group/jonnyhtw/32/232_2.png) [@jonnyhtw](https://cylc.discourse.group/u/jonnyhtw)
#### Post date: [June 10, 2020, 6:18am UTC](https://cylc.discourse.group/t/what-does-inherit-none-mean-in-task-inheritance/250/4 "2020-06-10T06:18:21Z")

</div>

Thanks a lot for that, Tom! 🙂

---

<div class="post-metadata">

### Author: ![jonnyhtw](https://yyz2.discourse-cdn.com/free1/user_avatar/cylc.discourse.group/jonnyhtw/32/232_2.png) [@jonnyhtw](https://cylc.discourse.group/u/jonnyhtw)
#### Post date: [June 10, 2020, 6:20am UTC](https://cylc.discourse.group/t/what-does-inherit-none-mean-in-task-inheritance/250/5 "2020-06-10T06:20:14Z")

</div>

Thanks Hilary, very helpful.

I had convinced myself that the `None` was related to something else entirely so I’m happy to have been put straight by you and @TomC!

All the best

Jonny
