CU-CLI

ClickUp at the speed of thought

A blazing-fast, scriptable command-line interface for ClickUp

Get started in seconds
$ pip install cu-cli pip | brew install cu-cli brew
Install Now See Commands
// Commands

Everything you need, nothing you don't

↓ Full Command Reference (.md)
Create Tasks

Create tasks with name, list ID, priority, due date, and assignees.

cu create "Ship the prototype" --list-id 123 --priority 2
📋
List Tasks

View tasks from any list with filtering by status, assignee, and more.

cu list --list-id 123 --status open
🔍
Search Tasks

Find tasks across your workspace by query string, list, or team ID.

cu find -q "budget" --team-id 9014416713
🔎
Get Task Details

Fetch name, status, priority, due date, and description for a task.

cu task get <task-id>
✏️
Update Tasks

Modify task properties — status, priority, due date, and assignees.

cu task update <task-id> --status "In Progress"
🗑️
Delete Tasks

Permanently remove a task. Use --force to skip the confirmation prompt.

cu task delete <task-id> --force
💬
Comments

List or add comments on any task. Keep conversations in context.

cu comment list <task-id>
cu comment add <task-id> -m "Looks good!"
🏷️
Tags

Add or remove tags from tasks for better organization and filtering.

cu tag add <task-id> -t "urgent"
cu tag remove <task-id> -t "urgent"
🚀
Move Tasks

Move a task from one list to another with a single command.

cu move <task-id> --to-list 456
🏢
Spaces

List all spaces in a workspace, or browse folders and lists within a space.

cu space list --team-id 9014416713
cu space folders <space-id>
📁
Create Lists

Create a new list inside a space or folder with a given name.

cu list-create --name "Sprint 23" --space-id 789
👁️
Views

List all available views for a given list — board, list, calendar, and more.

cu view list <list-id>
⏱️
Time in Status

See how long a task has been in its current status — great for spotting bottlenecks.

cu info time <task-id>
🌐
Workspace

Browse your ClickUp org structure — workspaces, spaces, folders, and lists.

cu workspace list
🗑️
Delete List

Permanently delete a list and all its tasks. Use --force to skip confirmation.

cu list-delete --list-id 123 --force
🔗
MCP: Bulk Tasks

Create or update multiple tasks at once via the MCP endpoint.

cu mcp create-bulk-tasks --list-id 123 --tasks '{"name":"Task 1"}'
🔗
MCP: Search

Search workspace-wide or filter by tag/type using MCP tools.

cu mcp search-workspace --query "Q4 Launch"
cu mcp search-tasks-by-tag --tag "urgent"
🔗
MCP: Task Links

Add/remove task links and dependencies between tasks.

cu mcp add-task-link --task-id abc --linked-task-id xyz --link-type "blocks"
🔗
MCP: Custom Fields

Set custom fields on tasks using structured JSON field objects.

cu mcp set-custom-fields --task-id abc --fields '[{"id":"f1","value":"x"}]'
🔗
MCP: Threaded Comments

Retrieve threaded replies on comments and add comments with @mentions.

cu mcp get-threaded-replies --task-id abc --comment-id 99
🎯
Goals

Create and track workspace goals with color-coded progress indicators.

cu goal list --team-id 9014416713
cu goal create --team-id 9014416713 --name "Q2 OKRs"
🔔
Webhooks

Register and manage webhooks to receive real-time event notifications.

cu webhook list --team-id 9014416713
cu webhook create --team-id 9014416713 --url "https://..." --events "*"
Time Entries

Track time against tasks — start/stop timers or log entries manually.

cu time list --team-id 9014416713
cu time start --task-id abc123
⛓️
Dependencies

Set blocking/blocked-by relationships between tasks to enforce workflow order.

cu dependency add --task-id abc --depends-on xyz
cu dependency remove --task-id abc --dependency-task-id xyz
☑️
Checklists

Add checklists and items to tasks for step-by-step tracking.

cu checklist add --task-id abc --name "Onboarding"
cu checklist item-add --checklist-id clist --task-id abc --content "Step 1"
📝
Custom Fields

List available custom fields and set their values on any task.

cu customfield list --list-id 123
cu customfield set --task-id abc --field-id fld --value "Done"
// Features

Built for developers, loved by everyone

Blazing Fast

Sub-100ms response times. No GUI lag. Pipe output to your favorite tools.

🔧
Scriptable

JSON output for easy parsing. Chain commands with shell pipes and scripts.

🤖
MCP Ready

Works with Model Context Protocol. Power AI assistants with your ClickUp data.

🔒
Secure

API tokens stored securely. Never logged. Open source for full transparency.

📦
Zero Config

Works out of the box. Set CU_API_TOKEN once and you're done.

🏠
Cross-Platform

Linux, macOS, Windows. pip, brew, or Docker. Your choice.

Power your AI assistants

CU-CLI integrates with the Model Context Protocol, enabling AI coding assistants like Cursor, Claude Desktop, and others to interact with your ClickUp workspace natively.

# Add to your MCP configuration { "mcpServers": { "clickup": { "command": "cu", "args": ["--mcp"] } } }
// Installation

Up and running in 60 seconds

pip / pipx
pip install cu-cli

Requires Python 3.8+. Set your API token:

export CU_API_TOKEN=your_token_here
Homebrew (macOS / Linux)
brew install cu-cli

Homebrew handles dependencies automatically. API token setup same as above.

Docker
docker run --rm -e CU_API_TOKEN cu-cli cu list

No Python required. Mount your config directory for persistent settings.