Next: Setting tags, Previous: Tags, Up: Tags [Contents][Index]

### 6.1 Tag inheritance

Tags make use of the hierarchical structure of outline trees. If a heading has a certain tag, all subheadings will inherit the tag as well. For example, in the list

    * Meeting with the French group      :work:
    ** Summary by Frank                  :boss:notes:
    *** TODO Prepare slides for him      :action:

the final heading will have the tags ‘`:work:`’, ‘`:boss:`’, ‘`:notes:`’, and ‘`:action:`’ even though the final heading is not explicitly marked with those tags. You can also set tags that all entries in a file should inherit just as if these tags were defined in a hypothetical level zero that surrounds the entire file. Use a line like this62:

    #+FILETAGS: :Peter:Boss:Secret:

To limit tag inheritance to specific tags, use `org-tags-exclude-from-inheritance`. To turn it off entirely, use `org-use-tag-inheritance`.

When a headline matches during a tags search while tag inheritance is turned on, all the sublevels in the same tree will (for a simple match form) match as well63. The list of matches may then become very long. If you only want to see the first tags match in a subtree, configure `org-tags-match-list-sublevels` (not recommended).

Tag inheritance is relevant when the agenda search tries to match a tag, either in the `tags` or `tags-todo` agenda types. In other agenda types, `org-use-tag-inheritance` has no effect. Still, you may want to have your tags correctly set in the agenda, so that tag filtering works fine, with inherited tags. Set `org-agenda-use-tag-inheritance` to control this: the default value includes all agenda types, but setting this to `nil` can really speed up agenda generation.

#### Footnotes

### (62)

As with all these in-buffer settings, pressing `C-c C-c` activates any changes in the line.

### (63)

This is only true if the search does not involve more complex tests including properties (see Property searches).

Next: Setting tags, Previous: Tags, Up: Tags [Contents][Index]