-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Bug
clickup status set and clickup task edit --status fail when a task belongs to a List that has its own custom statuses (different from the Space-level statuses).
Steps to Reproduce
- Have a List with custom statuses (e.g., Flow Board with statuses:
in analysis,in development,ready for development,verification+, etc.) - The Space has different statuses (e.g.,
backlog,task is ready,in-progress,pushed to develop, etc.) - Run:
clickup status set "in development" <task-id>
Expected
The status should be set to "in development" (a valid status for the task's list).
Actual
no matching status found for "in development"
Available statuses: backlog, task is ready, in-progress, pushed to develop, tested by engineer, pushed to test, qa failed, qa passed, training support, pushed to production, complete
The CLI shows Space-level statuses, not the List's custom statuses.
Root Cause
In pkg/cmdutil/status.go, FetchSpaceStatuses() calls GET /api/v2/space/{id} which only returns space-level statuses. When a List overrides statuses (ClickUp's "Use custom statuses for this List" feature), those statuses are only available via GET /api/v2/list/{id}.
Suggested Fix
ValidateStatus() should first try fetching statuses from the task's List (GET /api/v2/list/{list_id}), and fall back to space statuses only if the list doesn't have custom overrides. The list ID is already available from the task object (task.list.id).
Environment:
- CLI version: 0.14.0
- OS: macOS (Darwin 25.3.0)