Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@krodak/clickup-cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
cu - ClickUp CLI
A ClickUp CLI built for AI agents that also works well for humans. Outputs Markdown when piped (optimized for AI context windows), interactive tables when run in a terminal.
npm install -g @krodak/clickup-cli && cu initTalk to your agent
Install cu, install the skill file, and your agent works with ClickUp. No API knowledge needed.
"Read task abc123, do the work, then mark it in review and leave a comment with the commit hash."
"What's my standup? What did I finish, what's in progress, what's overdue?"
"Create a subtask under the initiative for the edge case we found."
"Check my sprint and tell me what's behind schedule."
"Update the description with your findings and flag blockers in a comment."
The agent reads the skill file, picks the right cu commands, and handles everything. You don't need to learn the CLI - the agent does.
Setup
You need Node 22+ and a ClickUp personal API token (pk_... from ClickUp Settings > Apps).
OpenCode
1. Install the CLI
npm install -g @krodak/clickup-cli
cu init2. Install the skill
mkdir -p ~/.config/opencode/skills/clickup
cp $(npm root -g)/@krodak/clickup-cli/skills/clickup-cli/SKILL.md ~/.config/opencode/skills/clickup/SKILL.md
Claude Code
1. Install the CLI
npm install -g @krodak/clickup-cli
cu init2. Install the skill
mkdir -p ~/.claude/skills/clickup
cp $(npm root -g)/@krodak/clickup-cli/skills/clickup-cli/SKILL.md ~/.claude/skills/clickup/SKILL.mdThen reference it in your CLAUDE.md or project instructions.
Claude Desktop
Claude Desktop doesn't run CLI tools directly. Use it alongside a coding agent (Claude Code, OpenCode) that has cu installed, or run cu commands manually in your terminal.
Install the CLI:
npm install -g @krodak/clickup-cli
cu init
Homebrew
brew tap krodak/tap
brew install clickup-cli
cu initThen install the skill for your agent (see OpenCode or Claude Code sections above).
Codex / Other agents
1. Install the CLI
npm install -g @krodak/clickup-cli
cu init2. Add the skill to your agent
Copy skills/clickup-cli/SKILL.md into your agent's system prompt or project instructions. It's a standalone markdown document that teaches the agent all available commands.
Commands
36 commands total. Full reference with examples and flags.
Tasks
| Command | Description |
|---|---|
cu tasks |
List my tasks (filter by status, name, type, list, space) |
cu task <id> |
Task details with custom fields and checklists |
cu subtasks <id> |
List subtasks of a task |
cu create |
Create a task or subtask |
cu update <id> |
Update task fields (status, name, priority, assignee, etc.) |
cu delete <id> |
Delete a task (requires confirmation) |
cu assign <id> |
Assign/unassign users |
cu depend <id> |
Add/remove task dependencies |
cu move <id> |
Add/remove task from lists |
cu open <query> |
Open task in browser by ID or name |
cu search <query> |
Search my tasks by name |
cu duplicate <id> |
Copy a task - coming soon |
cu bulk |
Bulk task operations - coming soon |
Sprints & Planning
| Command | Description |
|---|---|
cu sprint |
My tasks in the active sprint (auto-detected) |
cu sprints |
List all sprints |
cu assigned |
All my tasks grouped by status |
cu summary |
Standup helper: completed, in progress, overdue |
cu overdue |
Tasks past their due date |
cu inbox |
Recently updated tasks |
Comments
| Command | Description |
|---|---|
cu comment <id> |
Post a comment on a task |
cu comments <id> |
List comments on a task |
cu comment-edit <id> |
Edit an existing comment |
cu activity <id> |
Task details + comments combined |
cu comment-delete <id> |
Delete a comment - coming soon |
Custom Fields
| Command | Description |
|---|---|
cu field <id> |
Set/remove custom field values (text, number, dropdown, date, checkbox, url, email) |
cu fields <listId> |
List available custom fields for a list - coming soon |
Checklists
| Command | Description |
|---|---|
cu checklist view <id> |
View all checklists on a task |
cu checklist create <id> <name> |
Create a checklist |
cu checklist delete <id> |
Delete a checklist |
cu checklist add-item <id> <name> |
Add item to a checklist |
cu checklist edit-item <id> <itemId> |
Edit a checklist item (name, resolved, assignee) |
cu checklist delete-item <id> <itemId> |
Delete a checklist item |
Tags
| Command | Description |
|---|---|
cu tag <id> |
Add/remove tags on a task |
cu tags <spaceId> |
List/create/delete space-level tags - coming soon |
Workspace
| Command | Description |
|---|---|
cu spaces |
List workspace spaces |
cu lists <spaceId> |
Lists in a space (including folder lists) |
cu auth |
Check authentication status |
cu folders <spaceId> |
List folders in a space - coming soon |
cu members |
List workspace members - coming soon |
Time Tracking
| Command | Description |
|---|---|
cu time start <id> |
Start tracking time on a task |
cu time stop |
Stop the running timer |
cu time status |
Show the currently running timer |
cu time log <id> <duration> |
Log a manual time entry (e.g. "2h", "30m") |
cu time list |
List recent time entries (default: last 7 days) |
Setup
| Command | Description |
|---|---|
cu init |
First-time setup wizard |
cu config |
Get/set config values |
cu completion <shell> |
Shell completions (bash/zsh/fish) |
Output Modes
| Context | Default | Override |
|---|---|---|
| Terminal (TTY) | Interactive tables + picker | --json |
| Piped (no TTY) | Markdown (optimized for AI) | --json or CU_OUTPUT=json |
Most commands scope to your assigned tasks by default - keeping output small and relevant for agent context windows.
Configuration
Config file
~/.config/cu/config.json (or $XDG_CONFIG_HOME/cu/config.json):
{
"apiToken": "pk_...",
"teamId": "12345678"
}Environment variables
Environment variables override config file values:
| Variable | Description |
|---|---|
CU_API_TOKEN |
ClickUp personal API token (pk_) |
CU_TEAM_ID |
Workspace (team) ID |
CU_OUTPUT |
Set to json to force JSON output when piped (default: markdown) |
When both are set, the config file is not required. Useful for CI/CD and containerized agents.
Why a CLI and not MCP?
A CLI + skill file has fewer moving parts. No server process, no protocol layer. The agent already knows how to run shell commands - the skill file teaches it which ones exist. For tool-use with coding agents, CLI + instructions tends to work better than MCP in practice.
Development
npm install
npm test # unit tests (vitest, tests/unit/)
npm run test:e2e # e2e tests (tests/e2e/, requires CLICKUP_API_TOKEN in .env.test)
npm run build # tsup -> dist/