Skip to content

Releases: krodak/clickup-cli

v1.5.0

21 Mar 11:46

Choose a tag to compare

Bug Fixes

  • Duplicate priority bug - cup duplicate was producing NaN for task priorities (mapping "urgent" through Number() instead of a lookup table)
  • API client deduplication - request() and requestV3() shared 50 lines of identical error handling logic, now extracted into a shared _fetch() method
  • Shell completions - time update and time delete were missing from tab completion in all 3 shells
  • Bulk error reporting - cup bulk status now reports the specific error reason for each failed task instead of just the ID

New Commands

Delete operations

cup goal-delete <goalId>
cup key-result-delete <keyResultId>
cup doc-delete <docId>
cup doc-page-delete <docId> <pageId>

Tag rename

cup tag-update <spaceId> <tagName> --name "new name"

Task types

cup task-types                     # list available custom task types

Task templates

cup templates                      # list available task templates
cup create --list <id> --name "New Task" --template <templateId>

The README previously said templates had no public API - turns out they do.

Other

  • API coverage table updated with new "won't add" entries (list/folder/space CRUD, view/chat comments, user groups)
  • 666 tests across 54 files

v1.4.0

21 Mar 03:52

Choose a tag to compare

Workspace Members

cup members                    # list all workspace members with IDs and emails
cup members --json             # get member data for scripting

Agents can now look up user IDs for assignments without guessing.

Custom Fields Discovery

cup fields <listId>            # show available fields with types and options

See what fields exist on a list before setting them with cup field.

Duplicate Tasks

cup duplicate <taskId>         # copy a task (name, description, priority, tags)

No native duplicate API in ClickUp, so this reads the task and creates a copy.

Space Tag Management

cup tag-create <spaceId> <name>     # create a tag in a space
cup tag-delete <spaceId> <name>     # delete a tag from a space

Bulk Status Updates

cup bulk status "done" task1 task2 task3

Update status on multiple tasks in one command.

Goals and Key Results

cup goals                                       # list all goals
cup goal-create "Q2 Target"                      # create a goal
cup goal-update <goalId> --name "Updated"        # update a goal
cup key-results <goalId>                         # list key results
cup key-result-create <goalId> "Ship v2" --target 100
cup key-result-update <krId> --progress 42

Other Changes

  • "Create from template" moved to Won't Add (no public API for task templates)
  • 639 tests across 52 files

v1.3.0

21 Mar 03:15

Choose a tag to compare

Full Changelog: v1.2.0...v1.3.0

v1.2.0

21 Mar 03:09

Choose a tag to compare

Full Changelog: v1.1.0...v1.2.0

v1.1.0

21 Mar 01:17

Choose a tag to compare

What's Changed

  • Add ClickUp Docs API v3 support by @krodak in #22

New Contributors

Full Changelog: v1.0.0...v1.1.0

v1.0.0

20 Mar 03:26

Choose a tag to compare

1.0.0

First major release. The binary is now cup (the cu name is retired).

Breaking Changes

  • Binary renamed: cu -> cup. Update scripts and aliases.
  • Config directory moved: ~/.config/cu/ -> ~/.config/cup/. Automatic migration handles this on first run.

Sprint Detection Overhaul

Sprint auto-detection is now much more flexible:

cup sprint                                    # auto-detect active sprint
cup sprint --folder 12345                     # use specific folder
cup config set sprintFolderId 12345           # save default folder
  • Searches for folders named "sprint", "iteration", "cycle", or "scrum"
  • Parses multiple date formats: (2/12 - 2/25), (2025-02-12 - 2025-02-25), (Feb 12 - Feb 25), (12.02 - 25.02)
  • Falls back to ClickUp list start_date/due_date when names don't have dates
  • Prompts to pick when multiple sprints match (TTY mode)

Code Quality

  • All date/time formatters consolidated into date.ts using local time (fixed UTC midnight bug)
  • cup replies, cup checklist view, cup time now output clean markdown when piped
  • Fixed parseDueDate UTC midnight issue (dates no longer shift by a day)
  • Removed unused @inquirer/testing dependency
  • 556 tests across 43 files

v0.21.0

20 Mar 02:26

Choose a tag to compare

Binary renamed: cu -> cup

The cu binary has been retired. The CLI is now cup only.

The previous name conflicted with the Unix cu(1) serial communication utility, causing issues on systems where it's installed. cup is short, memorable, and conflict-free.

npm install -g @krodak/clickup-cli && cup init

All commands use cup now:

cup tasks
cup task abc123
cup sprint
cup update abc123 -s done

Config directory (~/.config/cu/) and environment variables (CU_API_TOKEN, CU_TEAM_ID) are unchanged - no migration needed for existing users.

API Limitations documented

README now lists features that exist in the ClickUp UI but aren't possible via API: comment-level attachments, @mention targeting, reactions, Brain/AI, in-comment checklists, voice/video.

Changes

  • Binary: cu removed, cup is the only binary
  • All docs updated (README, SKILL.md, commands.md, AGENTS.md, shell completions)
  • 514 tests across 43 files

v0.20.0

19 Mar 23:43

Choose a tag to compare

Task Detail View: Dependencies and Linked Tasks

cu task <id> now shows dependencies (waiting on / blocking) and linked tasks in the detail output, in both TTY and markdown modes.

--notify-all Flag

cu comment and cu reply now accept --notify-all to ping all assignees when posting.

cu comment abc123 -m "Ready for review" --notify-all
cu reply <commentId> -m "Fixed" --notify-all

What's not possible via API

  • Comment-level attachments (only task-level via cu attach)
  • @mention targeting individual users (use --notify-all instead)
  • Comment reactions (no API endpoint)
  • ClickUp Brain / AI features (no public API)

Changes

  • 514 tests across 43 files

v0.19.0

19 Mar 15:09

Choose a tag to compare

Custom Task ID Support

All commands that accept task IDs now work with ClickUp custom task IDs (the PREFIX-DIGITS format like PROJ-123 or DEV-42). Detection is automatic based on format - no flags or config changes needed.

cu task PROJ-123
cu update DEV-42 --status done
cu comment ENG-100 "shipping it"
cu time start PROJ-456
cu open PROJ-123

When a custom task ID is detected, the CLI appends custom_task_ids=true and team_id to the API request. The teamId from your config (already required) is used for resolution. Native alphanumeric IDs continue to work as before.

This covers all 20 commands that accept task IDs, including time tracking, dependencies, links, checklists, attachments, and custom fields.

Closes #13.

512 tests across 43 files.

v0.18.0

19 Mar 14:59

Choose a tag to compare

cup binary alias

Both cu and cup are now installed as binaries. They're identical - cup just avoids the conflict with the Unix cu(1) utility that ships on macOS and some Linux distros.

cup tasks
cup sprint --status "in progress"
cup completion fish > ~/.config/fish/completions/cup.fish

The program name, help text, and shell completions all adapt to whichever binary you invoke. The skill file documents both names so agents pick up on cup being available.

Other Changes

  • Shell completion scripts are now parameterized by binary name instead of hardcoding cu
  • Skill file, README, AGENTS.md, and plugin manifest updated to reference both binary names

496 tests across 43 files.