clickup task search
Search tasks by name and description
Synopsis
Search ClickUp tasks across the workspace by name and description.
Returns tasks whose names or descriptions match the search query. Matching priority: name substring > name fuzzy > description substring.
ClickUp has no server-side text search, so matching happens locally. To avoid paginating the workspace on every search, the CLI keeps an index under ~/.cache/clickup (override with CLICKUP_CACHE_DIR) and tops it up with only what changed. The first search builds it and is slow — around 25s for 4,000 tasks; a workspace too large to build in one pass is continued by the next search rather than left incomplete. Later searches read every indexed task for about one request.
Limits, all of which are disclosed on stderr when they bite:
- at most 200 rows are returned
- descriptions are indexed to their first 4096 bytes
- with —comments, comments are checked on at most 100 tasks
- the index is reconciled weekly, so a task deleted upstream can linger until then; —refresh rebuilds it immediately
Use —no-cache to skip the index and sweep the API directly; that path reads only the most recently updated tasks. —comments and —assignee bypass the index too. —space and —folder search a specific part of the tree instead, reaching tasks of any age at the cost of walking every list.
The index holds task names and descriptions in plaintext. ‘clickup auth logout’ deletes it.
—json emits parent (empty for top-level tasks) and date_updated (epoch
milliseconds, as a string) alongside the task fields.
In interactive mode (TTY), if many results are found you will be asked whether to refine the search. Use —pick to interactively select a single task and print only its ID.
When no exact match is found, the search automatically tries individual words from the query and shows potentially related tasks.
If search returns no results, use ‘clickup task recent’ to see your recently updated tasks and discover which folders/lists to search in.
clickup task search [query] [flags]Examples
# Search for tasks mentioning "payload" clickup task search payload
# Search within a specific space clickup task search geozone --space Development
# Search within a specific folder clickup task search nextjs --folder "Engineering sprint"
# Also search through task comments clickup task search "migration issue" --comments
# Filter by assignee clickup task search --assignee me clickup task search "bug" --assignee "Isaac" clickup task search --assignee 54695018
# Interactively pick a task (prints selected task ID) clickup task search geozone --pick
# If search returns no results, find your active folders first clickup task recent clickup task search geozone --folder "Engineering Sprint"
# Include subtasks in results clickup task search "Phase 1" --include-subtasks
# JSON output clickup task search geozone --jsonOptions
--assignee string Filter by assignee (name, username, numeric ID, or "me") --comments Also search through task comments (slower) --exact Only show exact substring matches (no fuzzy results) --folder string Limit search to a specific folder (name, substring match) -h, --help help for search --include-subtasks Include subtasks in search results --jq string Filter JSON output using a jq expression --json Output JSON --no-cache Bypass the local task index and sweep the API directly (no effect with --space/--folder, which never use the index) --pick Interactively select a task and print its ID -r, --raw Output raw strings instead of JSON-encoded (use with --jq) --refresh Rebuild the local task index from scratch before searching --space string Limit search to a specific space (name or ID) --template string Format JSON output using a Go templateSEE ALSO
- clickup task - Manage ClickUp tasks