{b}kanbn find{b} {b}kanbn f{b} Search all tasks in the index and show search results. If no filters are specified, this command will list all tracked tasks. String search terms are treated as case-insensitive regular expressions. Date filters match a single day, or a range if the option is repeated. Numeric filters match a single value, or a range if the option is repeated. Only tasks that match all of the filters will be returned. Filters ignore hidden columns - use --column to exclude them. See docs/filtering-and-sorting.md for a full description of the filter model. Options: {b}kanbn find --interactive{b} {b}kanbn find -i{b} Build search filters interactively. {b}kanbn find --quiet{b} {b}kanbn find -q{b} Only show task ids in the output. {b}kanbn find --json{b} {b}kanbn find -j{b} Output results in JSON format. If used with the --quiet option, this will return an array of task ids. {b}kanbn find --id "search term"{b} Find tasks that have an id containing "search term". {b}kanbn find --name "search term"{b} {b}kanbn find -n "search term"{b} Find tasks that have a name containing "search term". {b}kanbn find --description "search term"{b} {b}kanbn find -d "search term"{b} Find tasks that have a description containing "search term". {b}kanbn find --column "column"{b} {b}kanbn find -c "column"{b} Find tasks that are in a specific column. This option can be repeated to find tasks in any one of multiple columns. {b}kanbn find --created "date"{b} Find tasks that were created on a specific date. The time part of the date will be ignored, unless searching between multiple dates. This option can be repeated - if multiple dates are specified, find tasks that were created between the earliest and latest dates. The date can be in (almost) any format. {b}kanbn find --updated "date"{b} Find tasks that were updated on a specific date. The time part of the date will be ignored, unless searching between multiple dates. This option can be repeated - if multiple dates are specified, find tasks that were updated between the earliest and latest dates. The date can be in (almost) any format. {b}kanbn find --started "date"{b} Find tasks that have a started date that matches the specified date. The time part of the date will be ignored, unless searching between multiple dates. This option can be repeated - if multiple dates are specified, find tasks that were started between the earliest and latest dates. The date can be in (almost) any format. {b}kanbn find --completed "date"{b} Find tasks that have a completed date that matches the specified date. The time part of the date will be ignored, unless searching between multiple dates. This option can be repeated - if multiple dates are specified, find tasks that were completed between the earliest and latest dates. The date can be in (almost) any format. {b}kanbn find --due "date"{b} {b}kanbn find -e "date"{b} Find tasks that are due on a specific date. The time part of the date will be ignored, unless searching between multiple dates. This option can be repeated - if multiple dates are specified, find tasks that are due between the earliest and latest dates. The date can be in (almost) any format. {b}kanbn find --plannedStart "date"{b} Find tasks that have a planned start date that matches the specified date. The time part of the date will be ignored, unless searching between multiple dates. This option can be repeated - if multiple dates are specified, find tasks with a planned start date between the earliest and latest dates. The date can be in (almost) any format. {b}kanbn find --plannedFinish "date"{b} Find tasks that have a planned finish date that matches the specified date. The time part of the date will be ignored, unless searching between multiple dates. This option can be repeated - if multiple dates are specified, find tasks with a planned finish date between the earliest and latest dates. The date can be in (almost) any format. {b}kanbn find --assigned "name"{b} Find tasks assigned to a specific user. Use "^$" to find unassigned tasks, and {b}@me{b} for tasks assigned to you. {b}kanbn find --workload N{b} Find tasks with a specific calculated workload. If multiple values are specified, find tasks with a workload between the lowest and highest inputs. {b}kanbn find --progress N{b} Find tasks with a specific progress value (between 0 and 1). If multiple values are specified, find tasks with progress between the lowest and highest inputs. {b}kanbn find --overdue{b} {b}kanbn find --no-overdue{b} Find tasks that are (or are not) overdue. A task is overdue if it has a due date in the past and hasn't been completed. A task with no due date is never overdue. {b}kanbn find --is-started{b} {b}kanbn find --no-is-started{b} Find tasks that do (or don't) have a started date in their metadata. {b}kanbn find --is-completed{b} {b}kanbn find --no-is-completed{b} Find tasks that do (or don't) have a completed date in their metadata. {b}kanbn find --in-started-column{b} {b}kanbn find --no-in-started-column{b} Find tasks that are (or aren't) in one of the board's startedColumns. If the board declares no startedColumns, no task is in a started column. {b}kanbn find --in-completed-column{b} {b}kanbn find --no-in-completed-column{b} Find tasks that are (or aren't) in one of the board's completedColumns. {b}kanbn find --sub-task "search term"{b} {b}kanbn find -s "search term"{b} Find tasks that have sub-tasks matching the search term. {b}kanbn find --count-sub-tasks N{b} Find tasks that have a specific number of sub-tasks. If multiple counts are specified, find tasks with a number of sub-tasks between the lowest and highest inputs. {b}kanbn find --tag "search term"{b} {b}kanbn find -t "search term"{b} Find tasks that have tags matching the search term. {b}kanbn find --count-tags N{b} Find tasks that have a specific number of tags. If multiple counts are specified, find tasks with a number of tags between the lowest and highest inputs. {b}kanbn find --relation "search term"{b} {b}kanbn find -r "search term"{b} Find tasks that have relations matching the search term. {b}kanbn find --count-relations N{b} Find tasks that have a specific number of relations. If multiple counts are specified, find tasks with a number of relations between the lowest and highest inputs. {b}kanbn find --comment "search term"{b} Find tasks that have comments matching the search term. {b}kanbn find --count-comments N{b} Find tasks that have a specific number of comments. If multiple counts are specified, find tasks with a number of comments between the lowest and highest inputs. {b}kanbn find -- "search term"|N|date{b} Find tasks with a custom metadata field that matches the search filter. The custom field must be declared in the customFields project option. If the custom field is a string and multiple filters are specified, find tasks with a value that matches one of the inputs. If the custom field is numeric and multiple filters are specified, find tasks with a value between the lowest and highest inputs. If the custom field is a date and multiple filters are specified, find tasks with a value between the earliest and latest dates. If the custom field is a boolean, use {b}--{b} to match true and {b}--no-{b} to match false. Examples: {b}kanbn find --column Todo --column "In Progress" --assigned "^Ana$"{b} Find tasks assigned to exactly "Ana" that are in either the "Todo" or "In Progress" column. {b}kanbn find --tag "(^|\n)Bug($|\n)" --due "1 July 2026" --due "31 July 2026"{b} Find tasks with the exact tag "Bug" that are due in July 2026. Tags are matched against a newline-separated list, so anchoring on line breaks matches a whole tag. {b}kanbn find --count-sub-tasks 1 --count-sub-tasks 99 --progress 0 -q{b} List the ids of tasks that have sub-tasks but no progress yet. {b}kanbn find --overdue --no-in-started-column -q{b} List the ids of overdue tasks that nobody has picked up yet. {b}kanbn find --board "board-slug"{b} {b}kanbn find -b "board-slug"{b} Target a board other than the main one. Falls back to the KANBN_BOARD environment variable and then to the defaultBoard option. See {b}kanbn boards{b} for the list of boards. {b}kanbn find --all-boards{b} Search every board in the workspace. A task on several boards appears once, annotated with the board and column it occupies on each. Without this, the search is scoped to the target board. Computed values are evaluated per board, so a task matches {b}--in-started-column{b} if it is in a started column on any of them. This can't be combined with {b}--sprint{b}: sprint numbers and names are relative to one board's list, so there is no sensible answer across several.