tag
The tag command manages tags: short, colored labels you attach to tasks for categorization and filtering.
kasl tag [COMMAND]| Subcommand | Purpose |
|---|---|
add |
Add a new tag |
list |
List all available tags |
show |
Show a tag and the tasks that carry it |
edit |
Edit an existing tag’s name/color |
remove |
Remove a tag and unassign it from all tasks |
kasl tag add
Section titled “kasl tag add”kasl tag add <NAME> [OPTIONS]NAME: unique name for the tag. Required.-c, --color <COLOR>: optional color - a common name (“red”, “blue”, “green”, “yellow”, “purple”, “orange”) or a hex code (“#FF6B6B”).
kasl tag add "urgent" --color redkasl tag add "frontend" --color "#FF6B6B"Tags are also created implicitly: kasl task add --tags "new-tag,urgent" creates any tag in the list that does not already exist.
kasl tag list
Section titled “kasl tag list”kasl tag listDisplays a table of all tags with their ID, name, and color.
kasl tag show
Section titled “kasl tag show”kasl tag show <TAG>TAG: tag name or ID. Required.
Shows the tag and every task currently assigned to it.
kasl tag edit
Section titled “kasl tag edit”kasl tag edit [TAG]TAG: tag name or ID to edit. Omit it on a terminal to pick from the list.
Prompts interactively for a new name and color. This command is interactive only - it has no flags for scripting.
kasl tag remove
Section titled “kasl tag remove”kasl tag remove [TAG] [OPTIONS]TAG: tag name or ID to remove. Omit it on a terminal to pick from the list.-y, --yes: remove without asking for confirmation.
Removing a tag unassigns it from every task that carries it; the tasks themselves are untouched.
Assigning tags to tasks
Section titled “Assigning tags to tasks”Tags are assigned only when a task is created, via kasl task add --tags:
kasl task add --name "Fix login bug" --tags "urgent,bug"There is no way to add or remove tags on an existing task - kasl task edit only changes name, comment, and completeness.
Filtering by tag
Section titled “Filtering by tag”kasl task list --tag "urgent"Examples
Section titled “Examples”# Create a couple of tagskasl tag add "frontend" --color bluekasl tag add "urgent" --color red
# List themkasl tag list
# Create a task carrying bothkasl task add --name "Update UI" --tags "frontend,urgent"
# Filter tasks by tagkasl task list --tag "urgent"
# Rename a tag interactivelykasl tag edit "urgent"
# Remove a tag without confirmationkasl tag remove "urgent" -ySample Output
Section titled “Sample Output”$ kasl tag add urgent --color red✅ Tag 'urgent' created successfully.
$ kasl tag list
Tags:
+----+--------+-------+| ID | NAME | COLOR |+----+--------+-------+| 1 | urgent | red |+----+--------+-------+
$ kasl tag remove urgent -y✅ Tag 'urgent' deleted successfully.tag edit prints ✅ Tag '{new-name}' updated successfully. after its prompts; it has no other output to show statically since the prompts themselves depend on the terminal.