Skip to content

status set/edit fails for lists with custom statuses (uses space statuses only) #4

@aliovou

Description

@aliovou

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

  1. Have a List with custom statuses (e.g., Flow Board with statuses: in analysis, in development, ready for development, verification+, etc.)
  2. The Space has different statuses (e.g., backlog, task is ready, in-progress, pushed to develop, etc.)
  3. 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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions