clickup-cli 0.12.1

CLI for the ClickUp API, optimized for AI agents
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
---
layout: default
title: Command Reference
description: Complete reference for every clickup-cli command — workspace, task, list, folder, time tracking, docs, chat, webhooks, and more. Covers ~130 ClickUp API endpoints.
permalink: /commands/
---

# Command Reference

Pattern: `clickup-cli <resource> <action> [ID] [flags]` (or `clkup` for short)

## Global Flags

| Flag | Description |
|------|-------------|
| `--output MODE` | `table` (default), `json`, `json-compact`, `csv` |
| `--fields LIST` | Comma-separated field names to display |
| `--no-header` | Omit table header row |
| `-q` / `--quiet` | Print IDs only, one per line |
| `--all` | Auto-walk every page; applies to every paginated list command (hard-capped at 100 pages) |
| `--limit N` | Cap total items returned (enforced after walking, so `--all --limit 500` returns ≤500 across N pages) |
| `--page N` | Manual page selection (v2 page-style: `task list`, `task search`, `view tasks`, `template list`) |
| `--cursor X` | Manual cursor (v3 cursor-style: `doc list`, all `chat *` list commands) |
| `--start MS` + `--start-id ID` | Manual boundary pair (v2 start-id-style: `comment list`, `comment replies`) |
| `--token TOKEN` | Override config file token |
| `--workspace ID` | Override default workspace |
| `--timeout SECS` | HTTP timeout (default 30) |

---

## setup

Configure API token and default workspace.

```bash
# Interactive
clickup-cli setup

# Non-interactive
clickup-cli setup --token pk_your_token_here
```

```
Validating... ✓ Authenticated as Jane Smith

Only one workspace found — setting as default.
  Acme Corp (ID: 1234567)
Config saved to ~/.config/clickup-cli/config.toml
```

---

## auth

```bash
clickup-cli auth whoami    # Show current user
clickup-cli auth check     # Validate token (exit code only)
```

```
+----------+------------+---------------------+
| id       | username   | email               |
+====================================================+
| 12345678 | Jane Smith | jane@acme-corp.com  |
+----------+------------+---------------------+
```

---

## workspace

```bash
clickup-cli workspace list     # List workspaces
clickup-cli workspace seats    # Show seat usage
clickup-cli workspace plan     # Show current plan
```

```
+---------+-----------+---------+
| id      | name      | members |
+===============================+
| 1234567 | Acme Corp | 24      |
+---------+-----------+---------+
```

---

## space

```bash
clickup-cli space list [--archived]
clickup-cli space get <ID>
clickup-cli space create --name NAME [--private] [--multiple-assignees]
clickup-cli space update <ID> [--name NAME] [--color HEX]
clickup-cli space delete <ID>
```

```
+----------+-------------+---------+----------+
| id       | name        | private | archived |
+================================================+
| 1001     | Engineering | true    | false    |
| 1002     | Marketing   | false   | false    |
| 1003     | Operations  | true    | false    |
+----------+-------------+---------+----------+
```

---

## folder

```bash
clickup-cli folder list --space <ID> [--archived]
clickup-cli folder get <ID>
clickup-cli folder create --space <ID> --name NAME
clickup-cli folder update <ID> --name NAME
clickup-cli folder delete <ID>
```

```
+-------+-----------------+------------+------------+
| id    | name            | task_count | list_count |
+====================================================+
| 2001  | Q1 Initiatives  | 45         | 6          |
| 2002  | Sprint Backlog  | 128        | 4          |
| 2003  | Product Roadmap | 32         | 3          |
+-------+-----------------+------------+------------+
```

---

## list

```bash
clickup-cli list list --folder <ID> [--archived]
clickup-cli list list --space <ID> [--archived]    # folderless lists
clickup-cli list get <ID>
clickup-cli list create --folder <ID> --name NAME [--content TEXT] [--priority N] [--due-date DATE]
clickup-cli list create --space <ID> --name NAME   # folderless
clickup-cli list update <ID> [--name NAME] [--content TEXT]
clickup-cli list delete <ID>
clickup-cli list add-task <LIST_ID> <TASK_ID>
clickup-cli list remove-task <LIST_ID> <TASK_ID>
```

```
+-------+-------------------------------+------------+--------+------------+
| id    | name                          | task_count | status | due_date   |
+=========================================================================+
| 3001  | Backlog                       | 87         | -      | -          |
| 3002  | Sprint 12 (4/1/26 - 4/14/26)  | 18         | -      | 2026-04-14 |
+-------+-------------------------------+------------+--------+------------+
```

---

## task

```bash
# List and search
clickup-cli task list --list <ID> [--status S] [--assignee ID] [--tag T] [--include-closed] [--order-by field] [--reverse]
clickup-cli task search [--space ID] [--folder ID] [--list ID] [--status S] [--assignee ID] [--tag T]

# CRUD
clickup-cli task get <ID> [--subtasks] [--custom-task-id]
clickup-cli task create --list <ID> --name NAME [--description TEXT] [--status S] [--priority 1-4] [--assignee ID] [--tag NAME] [--due-date DATE] [--parent TASK_ID]
clickup-cli task update <ID> [--name X] [--status X] [--priority N] [--add-assignee ID] [--rem-assignee ID] [--description TEXT]
clickup-cli task delete <ID>

# Relationships and tags
clickup-cli task add-dep <ID> --depends-on <OTHER_ID>
clickup-cli task remove-dep <ID> --depends-on <OTHER_ID>
clickup-cli task link <ID> <TARGET_ID>
clickup-cli task unlink <ID> <TARGET_ID>
clickup-cli task add-tag <ID> <TAG_NAME>
clickup-cli task remove-tag <ID> <TAG_NAME>

# Time and estimates
clickup-cli task time-in-status <ID>...
clickup-cli task move <ID> --list <LIST_ID>
clickup-cli task set-estimate <ID> --assignee USER_ID --time MS
clickup-cli task replace-estimates <ID> --assignee USER_ID --time MS
```

```
+-----------+-----------------------------------------+-------------+----------+-------------+------------+
| id        | name                                    | status      | priority | assignees   | due_date   |
+==========================================================================================================+
| abc123    | Migrate database to new cluster         | Open        | urgent   | Alex Chen   | -          |
| def456    | API rate limiter implementation          | in progress | high     | Sara Jones  | 2026-04-15 |
| ghi789    | Update onboarding docs                  | Open        | normal   | -           | -          |
+-----------+-----------------------------------------+-------------+----------+-------------+------------+
```

Priority values: 1=Urgent, 2=High, 3=Normal, 4=Low. Dates: YYYY-MM-DD format.

---

## checklist

```bash
clickup-cli checklist create --task <ID> --name NAME
clickup-cli checklist update <ID> [--name NAME] [--position N]
clickup-cli checklist delete <ID>
clickup-cli checklist add-item <ID> --name NAME [--assignee USER_ID]
clickup-cli checklist update-item <ID> <ITEM_ID> [--name NAME] [--resolved] [--assignee USER_ID]
clickup-cli checklist delete-item <ID> <ITEM_ID>
```

---

## comment

```bash
clickup-cli comment list --task <ID>          # also --list, --view
clickup-cli comment create --task <ID> --text TEXT [--assignee ID] [--notify-all]
clickup-cli comment create --list <ID> --text TEXT
clickup-cli comment create --view <ID> --text TEXT
clickup-cli comment update <ID> --text TEXT [--resolved] [--assignee ID]
clickup-cli comment delete <ID>
clickup-cli comment replies <ID>              # list threaded replies
clickup-cli comment reply <ID> --text TEXT [--assignee ID]
```

---

## tag

```bash
clickup-cli tag list --space <ID>
clickup-cli tag create --space <ID> --name NAME [--fg-color HEX] [--bg-color HEX]
clickup-cli tag update --space <ID> --tag NAME [--name NEW_NAME] [--fg-color HEX] [--bg-color HEX]
clickup-cli tag delete --space <ID> --tag NAME
```

```
+---------------+----------+----------+
| name          | fg_color | bg_color |
+======================================+
| frontend      | #c51162  | #c51162  |
| bug           | #ff0000  | #ff0000  |
| documentation | #FF7800  | #f9d900  |
+---------------+----------+----------+
```

---

## field

Custom fields on tasks.

```bash
clickup-cli field list --list <ID>            # also --folder, --space, --workspace-level
clickup-cli field set <FIELD_ID> --value VALUE [TASK_ID]
clickup-cli field unset <FIELD_ID> [TASK_ID]
```

Value can be a string, number, or JSON for complex field types. For `drop_down`, use the option ID from the field's `type_config.options`; for `labels`, pass a JSON array of option IDs.

---

## task-type

```bash
clickup-cli task-type list
```

```
+------+-----------+-------------+
| id   | name      | name_plural |
+===================================+
| 1    | milestone | -           |
| 1003 | Bug       | Bugs        |
| 1007 | Epic      | Epics       |
+------+-----------+-------------+
```

---

## attachment

```bash
clickup-cli attachment list --task <ID>
clickup-cli attachment upload --task <ID> <FILE_PATH>
```

---

## time

Time tracking with start/stop timer support.

```bash
# Timer
clickup-cli time start [--task ID] [--description TEXT] [--billable]
clickup-cli time stop

# CRUD
clickup-cli time list [--start-date DATE] [--end-date DATE] [--assignee ID] [--task ID]
clickup-cli time get <ID>
clickup-cli time current
clickup-cli time create --start DATE --duration MS [--task ID] [--description TEXT] [--billable]
clickup-cli time update <ID> [--start DATE] [--end DATE] [--description TEXT] [--billable]
clickup-cli time delete <ID>

# Tags
clickup-cli time tags
clickup-cli time add-tags --entry-id ID --tag NAME [--tag NAME...]
clickup-cli time remove-tags --entry-id ID --tag NAME
clickup-cli time rename-tag --name OLD --new-name NEW

# History
clickup-cli time history <ID>
```

---

## goal

```bash
clickup-cli goal list [--include-completed]
clickup-cli goal get <ID>
clickup-cli goal create --name NAME --due-date DATE --description TEXT [--color HEX] [--owner ID]
clickup-cli goal update <ID> [--name NAME] [--due-date DATE] [--add-owner ID] [--rem-owner ID]
clickup-cli goal delete <ID>

# Key Results
clickup-cli goal add-kr <GOAL_ID> --name NAME --type TYPE --steps-start N --steps-end N [--unit UNIT] [--owner ID]
clickup-cli goal update-kr <KR_ID> --steps-current N [--note TEXT]
clickup-cli goal delete-kr <KR_ID>
```

Key result types: `number`, `currency`, `boolean`, `percentage`, `automatic`

---

## view

```bash
clickup-cli view list --workspace-level       # also --space, --folder, --list
clickup-cli view get <ID>
clickup-cli view create --name NAME --type TYPE --space <ID>   # also --folder, --list, --workspace-level
clickup-cli view update <ID> [--name NAME]
clickup-cli view delete <ID>
clickup-cli view tasks <ID>
```

View types: `list`, `board`, `calendar`, `gantt`, `activity`, `map`, `workload`, `table`

---

## member

```bash
clickup-cli member list --task <ID>
clickup-cli member list --list <ID>
```

---

## user

```bash
clickup-cli user invite --email EMAIL [--admin] [--custom-role-id ID]
clickup-cli user get <ID>
clickup-cli user update <ID> [--username NAME] [--admin] [--custom-role-id ID]
clickup-cli user remove <ID>
```

---

## chat (v3)

```bash
# Channels
clickup-cli chat channel-list [--include-closed]
clickup-cli chat channel-create --name NAME [--visibility PUBLIC|PRIVATE]
clickup-cli chat channel-get <ID>
clickup-cli chat channel-update <ID> [--name NAME] [--topic TEXT]
clickup-cli chat channel-delete <ID>
clickup-cli chat channel-followers <ID>
clickup-cli chat channel-members <ID>
clickup-cli chat dm <USER_ID> [USER_ID...]

# Messages
clickup-cli chat message-list --channel <ID>
clickup-cli chat message-send --channel <ID> --text TEXT [--type message|post]
clickup-cli chat message-update <ID> --text TEXT
clickup-cli chat message-delete <ID>

# Reactions and replies
clickup-cli chat reaction-list <MSG_ID>
clickup-cli chat reaction-add <MSG_ID> --emoji NAME
clickup-cli chat reaction-remove <MSG_ID> <EMOJI>
clickup-cli chat reply-list <MSG_ID>
clickup-cli chat reply-send <MSG_ID> --text TEXT
clickup-cli chat tagged-users <MSG_ID>
```

---

## doc (v3)

```bash
clickup-cli doc list [--creator ID] [--archived]
clickup-cli doc create --name NAME [--visibility PUBLIC|PRIVATE|PERSONAL] [--parent-type TYPE --parent-id ID]
clickup-cli doc get <ID>
clickup-cli doc pages <ID> [--content] [--max-depth N]
clickup-cli doc add-page <DOC_ID> --name NAME [--parent-page ID] [--content TEXT]
clickup-cli doc page <DOC_ID> <PAGE_ID>
clickup-cli doc edit-page <DOC_ID> <PAGE_ID> --content TEXT [--mode replace|append|prepend]
```

---

## webhook

```bash
clickup-cli webhook list
clickup-cli webhook create --endpoint URL --event EVENT [--event EVENT...] [--space ID | --folder ID | --list ID | --task ID]
clickup-cli webhook update <ID> --endpoint URL --event EVENT --status active
clickup-cli webhook delete <ID>
```

Events: `taskCreated`, `taskUpdated`, `taskDeleted`, `taskStatusUpdated`, `taskCommentPosted`, `taskCommentUpdated`, and more.

---

## template

```bash
clickup-cli template list
clickup-cli template apply-task <TEMPLATE_ID> --list <ID> --name NAME
clickup-cli template apply-list <TEMPLATE_ID> --folder <ID> --name NAME
clickup-cli template apply-list <TEMPLATE_ID> --space <ID> --name NAME
clickup-cli template apply-folder <TEMPLATE_ID> --space <ID> --name NAME
```

---

## guest (Enterprise)

```bash
clickup-cli guest invite --email EMAIL [--can-edit-tags] [--can-see-time-spent] [--can-create-views] [--custom-role-id ID]
clickup-cli guest get <ID>
clickup-cli guest update <ID> [--can-edit-tags] [--can-see-time-spent] [--can-create-views]
clickup-cli guest remove <ID>

# Share/unshare resources with guests
clickup-cli guest share-task <TASK_ID> <GUEST_ID> --permission read|comment|edit|create
clickup-cli guest unshare-task <TASK_ID> <GUEST_ID>
clickup-cli guest share-list <LIST_ID> <GUEST_ID> --permission LEVEL
clickup-cli guest unshare-list <LIST_ID> <GUEST_ID>
clickup-cli guest share-folder <FOLDER_ID> <GUEST_ID> --permission LEVEL
clickup-cli guest unshare-folder <FOLDER_ID> <GUEST_ID>
```

---

## group

```bash
clickup-cli group list
clickup-cli group create --name NAME --member ID [--member ID...]
clickup-cli group update <ID> [--name NAME] [--add-member ID] [--rem-member ID]
clickup-cli group delete <ID>
```

---

## role (Enterprise)

```bash
clickup-cli role list
```

---

## shared

```bash
clickup-cli shared list    # Tasks, lists, and folders shared with you
```

---

## audit-log (Enterprise, v3)

```bash
clickup-cli audit-log query --type TYPE [--user-id ID] [--start-date DATE] [--end-date DATE]
```

Types: `AUTH`, `CUSTOM_FIELDS`, `HIERARCHY`, `USER`, `AGENT`, `OTHER`

---

## acl (Enterprise, v3)

```bash
clickup-cli acl update <OBJECT_TYPE> <OBJECT_ID> [--private] [--grant-user ID --permission LEVEL] [--revoke-user ID] [--body JSON]
```

---

## agent-config

Generate compressed CLI reference for AI agent configs.

```bash
clickup-cli agent-config show              # Print to stdout
clickup-cli agent-config inject            # Inject into CLAUDE.md
clickup-cli agent-config inject path/to/AGENT.md   # Inject into specific file
```

The injected block is delimited with `<!-- clickup-cli:begin -->...<!-- clickup-cli:end -->` and can be updated in place by re-running the command.

---

## Output Examples

### Table (default)
```
+---------+------------------------------+-------------+----------+------------+
| id      | name                         | status      | priority | assignees  |
+==============================================================================+
| abc123  | Migrate database             | Open        | urgent   | Alex Chen  |
| def456  | API rate limiter             | in progress | high     | Sara Jones |
+---------+------------------------------+-------------+----------+------------+
```

### JSON (`--output json`)
Full API response — use for scripting with `jq`.

### JSON Compact (`--output json-compact`)
Only default fields, as JSON:
```json
[{"id":"abc123","name":"Migrate database","status":"Open","priority":"urgent"}]
```

### CSV (`--output csv`)
```
id,name,status,priority,assignees,due_date
abc123,Migrate database,Open,urgent,Alex Chen,-
```

### Quiet (`-q`)
```
abc123
def456
```

---

## status

Show current configuration.

```bash
clickup-cli status
```

```
clickup-cli v{{ site.version }}

Config:    ~/.config/clickup-cli/config.toml
Token:     pk_abc...wxyz
Workspace: 1234567
```

---

## completions

Generate shell completions.

```bash
clickup-cli completions bash       # Bash
clickup-cli completions zsh        # Zsh
clickup-cli completions fish       # Fish
clickup-cli completions powershell # PowerShell
```

See [Installation](install) for setup instructions.

---

## mcp

Start the MCP server for native LLM tool integration. See [MCP Server](mcp) for full documentation.

```bash
clickup-cli mcp serve
```

---

## Exit Codes

| Code | Meaning |
|------|---------|
| 0 | Success |
| 1 | Client error (bad input, 400) |
| 2 | Auth/permission error (401, 403) |
| 3 | Not found (404) |
| 4 | Rate limited (429) |
| 5 | Server error (5xx) |

[← Home](.)  ·  [Installation →](install)  ·  [MCP Server →](mcp)