# Hiding Brushes with Brush Tags

Currently the brush panel is cluttered with a large number of brushes and is likely to grow larger in the future. As a first step toward better organizing them, this feature serves to classify each brush with a list of tags and a couple of filtering options.

Via OpenBrush.cfg (UserConfig), the brushes that show up in the panel can be limited by using the following options:

1. IncludeTags - specifies all of the brushes that may be included included in the panel
2. ExcludeTags - specifies all of the brush that must be excluded (even if they are also in "include").

To test, try the following:

* Declare include\
  `{ "User": { }, "Brushes": { "IncludeTags": ["classroom"], }, "Video": { }, "Flags": { }, "Export": { }, }`\
  Result should be only a single page of brushes that have been tagged with "classroom".
* Add a new tag called "test" to a few brush descriptors that also have "classroom" and then declare inlude and exclude\
  `{ "User": { }, "Brushes": { "IncludeTags": ["classroom"], "ExcludeTags": ["test"] }, "Video": { }, "Flags": { }, "Export": { }, }`\
  Result should be only a single page of brushes that have been tagged with "classroom" minus the brush tagged with "test".
* Exclude only case\
  `{ "User": { }, "Brushes": { "ExcludeTags": ["classroom"] }, "Video": { }, "Flags": { }, "Export": { }, }`\
  Result should be all of the brushes minus those tagged with classroom.

In addition, tags can be added and removed. Here is an example that includes this usage:

```
{
	"User": {
	},
	"Brushes": {
		"AddTagsToBrushes": {
			"Rainbow": ["classroom", "bedazzling"],
			"Plasma": ["classroom", "bedazzling"],
			"testBrushNotFound": ["classroom"]
		},
		"RemoveTagsFromBrushes": {
			"Rainbow": ["default", "test"],
			"Plasma": ["default", "test"],
			"testBrushNotFound": ["classroom"]
		},
		"IncludeTags": ["classroom"],
		"ExcludeTags": ["test"] 
	},
	"Video": {
	},
	"Flags": {
	},
	"Export": {
	},
}
```


---

# 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.openbrush.app/user-guide/brushes/hiding-brushes-with-brush-tags.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.
