<!-- AUTO-GENERATED by scripts/generate-cli-docs.ts — do not edit. Regenerate: yarn docs:gen -->

# pop task

Task management

## pop task create

Create a new task

```text
pop task create [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--bounty-amount` | number | no | - | Bounty payout amount |
| `--bounty-token` | string | no | - | Bounty ERC20 token address |
| `--completion-window` | string | no | - | Time a claimer has to submit after claiming (v6 orgs only) |
| `--deadline` | string | no | - | Absolute claim deadline — no claims after this time (v6 orgs only) |
| `--description` | string | yes | - | Task description |
| `--difficulty` | string | no | `medium` | Difficulty (easy/medium/hard) |
| `--est-hours` | number | no | `0` | Estimated hours |
| `--force` | boolean | no | `false` | Skip duplicate check |
| `--idempotency-key` | string | no | - | Task #369 (HB#213): explicit idempotency key. Two calls with the same orgId + this key within 15 minutes return the same taskId without re-submitting. Default: auto-derived from a hash of the full argv. |
| `--location` | string | no | `""` | Location |
| `--name` | string | yes | - | Task name |
| `--no-idempotency` | boolean | no | `false` | Bypass the idempotency cache and always submit a new task. |
| `--payout` | number | no | - | Payout amount. Omit to price the task the way the web app would, from the org's payout convention plus --difficulty/--est-hours |
| `--project` | string | yes | - | Project ID |
| `--requires-application` | boolean | no | `false` | Require applications |

## pop task create-batch

Create tasks from JSONL file

```text
pop task create-batch [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--completion-window` | string | no | - | Time a claimer has to submit after claiming (v6 orgs only; batch-wide default, rows may override) |
| `--deadline` | string | no | - | Absolute claim deadline — no claims after this time (v6 orgs only; batch-wide default, rows may override) |
| `--file` | string | yes | - | JSONL file (one task JSON per line) |
| `--project` | string | yes | - | Project ID (shared for all tasks) |

## pop task list

List tasks

```text
pop task list [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--assignee` | string | no | - | Filter by assignee address |
| `--claimable` | boolean | no | - | Only tasks you could claim right now: unclaimed tasks plus claimed tasks whose deadline expired (v6 takeover) |
| `--expiring` | string | no | - | Only tasks whose governing deadline falls within this window (e.g. "24h", "7d"; default 24h) |
| `--fast` | boolean | no | `false` | Skip on-chain deadline enrichment (subgraph data only) |
| `--for-review` | boolean | no | - | Shortcut for --status Submitted |
| `--limit` | number | no | - | Max results to show |
| `--mine` | boolean | no | - | Show only tasks assigned to me |
| `--open` | boolean | no | - | Shortcut for --status Open |
| `--project` | string | no | - | Filter by project ID |
| `--released` | boolean | no | - | Only tasks that were previously claimed and handed back (releaseCount > 0; v7, Gnosis only today) |
| `--sort-by` | string | no | `id` | Sort field (choices: `id`, `payout`, `status`, `created`) |
| `--status` | string | no | - | Filter by status (Open/Assigned/Submitted/Completed/Cancelled) |

## pop task view

View task details

```text
pop task view [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--task` | string | yes | - | Task ID |

## pop task claim

Claim a task

```text
pop task claim [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--idempotency-key` | string | no | - | Task #370 (HB#214): explicit idempotency key. Two claims for the same task within 15 minutes return the same result without re-submitting. Default: auto-derived from argv. |
| `--no-idempotency` | boolean | no | `false` | Bypass the idempotency cache and always submit. |
| `--task` | string | yes | - | Task ID |

## pop task unclaim

Release a claimed task back to the pool — the claimer any time, ASSIGN holders once the claim expired. Refunds nothing and deletes nothing (that is cancel); v7

```text
pop task unclaim [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--idempotency-key` | string | no | - | Explicit idempotency key. Two releases of the same task within 15 minutes return the same result without re-submitting. Default: auto-derived from argv. |
| `--no-idempotency` | boolean | no | `false` | Bypass the idempotency cache and always submit. |
| `--task` | string | yes | - | Task ID |

## pop task submit

Submit work for a task

```text
pop task submit [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--commit` | boolean | no | `false` | Task #355 (HB#185): after a successful submission, run git add + git commit on the files passed via --commit-files. The commit message references the task id and tx hash. Pre-commit hook failures are surfaced as warnings — the on-chain submission is the source of truth and is never rolled back. |
| `--commit-files` | string | no | - | Comma-separated list of files to git add + commit when --commit is set. Required if --commit is true; ignored otherwise. Use specific paths only — never . or -A — to avoid sweeping in cross-agent in-flight work. |
| `--idempotency-key` | string | no | - | Task #370 (HB#214): explicit idempotency key. Two submits of the same task within 15 minutes return the same result without re-submitting or re-pinning. |
| `--no-idempotency` | boolean | no | `false` | Bypass the idempotency cache and always submit. |
| `--submission` | string | yes | - | Submission text |
| `--task` | string | yes | - | Task ID |

## pop task review

Approve or reject a submitted task

```text
pop task review [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--action` | string | yes | - | Approve or reject (choices: `approve`, `reject`) |
| `--idempotency-key` | string | no | - | Task #374 (HB#215): explicit idempotency key. Two reviews of the same task within 15 minutes return the same result without re-submitting. |
| `--no-idempotency` | boolean | no | `false` | Bypass the idempotency cache and always submit. |
| `--reason` | string | no | - | Rejection reason (required for reject) |
| `--task` | string | yes | - | Task ID |

## pop task cancel

Cancel an unclaimed task

```text
pop task cancel [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--idempotency-key` | string | no | - | Explicit idempotency key. Two cancels of the same task within 15 minutes return the same result without re-submitting. Default: auto-derived from argv. |
| `--no-idempotency` | boolean | no | `false` | Bypass the idempotency cache and always submit. |
| `--task` | string | yes | - | Task ID |

## pop task assign

Assign a task to a user

```text
pop task assign [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--assignee` | string | no | - | Address to assign to |
| `--idempotency-key` | string | no | - | Explicit idempotency key. Two assigns of the same task within 15 minutes return the same result without re-submitting. Default: auto-derived from argv. |
| `--no-idempotency` | boolean | no | `false` | Bypass the idempotency cache and always submit. |
| `--task` | string | yes | - | Task ID |
| `--username` | string | no | - | Username to assign to (resolves to address) |

## pop task apply

Apply for a task

```text
pop task apply [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--experience` | string | no | - | Relevant experience |
| `--idempotency-key` | string | no | - | Explicit idempotency key. Two applications for the same task within 15 minutes return the same result without re-submitting or re-pinning. Default: auto-derived from argv. |
| `--no-idempotency` | boolean | no | `false` | Bypass the idempotency cache and always submit. |
| `--notes` | string | no | - | Application notes |
| `--task` | string | yes | - | Task ID |

## pop task approve-app

Approve a task application

```text
pop task approve-app [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--applicant` | string | yes | - | Applicant address to approve |
| `--idempotency-key` | string | no | - | Explicit idempotency key. Two approvals for the same task within 15 minutes return the same result without re-submitting. Default: auto-derived from argv. |
| `--no-idempotency` | boolean | no | `false` | Bypass the idempotency cache and always submit. |
| `--task` | string | yes | - | Task ID |

## pop task stats

Show per-member contribution analytics

```text
pop task stats [flags]
```

## pop task update

Update task fields — read-then-merge full edit (payout, metadata, bounty, deadlines; v6)

```text
pop task update [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--bounty-amount` | number | no | - | New bounty payout amount (0 clears) |
| `--bounty-token` | string | no | - | New bounty ERC20 token address ("none" clears the bounty) |
| `--completion-window` | string | no | - | New per-claim submission window, e.g. "48h" ("0" = none) |
| `--deadline` | string | no | - | New absolute claim deadline ("0" = none; a PAST value opens a claimed task to takeover) |
| `--description` | string | no | - | New task description (re-pins metadata) |
| `--name` | string | no | - | New task name (re-pins metadata) |
| `--payout` | number | no | - | New PT payout amount |
| `--task` | string | yes | - | Task ID |

## pop task edit-meta

Edit only a task's name/description (post-claim safe; v5+)

```text
pop task edit-meta [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--description` | string | no | - | New task description |
| `--name` | string | no | - | New task name |
| `--task` | string | yes | - | Task ID |

## pop task perms

Show and manage task permission masks (show / set / propose-global)

```text
pop task perms <sub> [flags]
```

| Positional | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `<sub>` | - | yes | - | - |

### pop task perms show

Show authority task permissions

```text
pop task perms show [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--project` | string | no | - | Project bytes32 ID |

### pop task perms set

Propose a project task permission row

```text
pop task perms set [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--duration` | number | no | `60` | Governance vote duration in minutes |
| `--inherit-global` | boolean | no | `false` | - |
| `--perms` | string | yes | - | - |
| `--project` | string | yes | - | Project ID (bytes32); encoded as projectId + 1 |
| `--subject` | string | yes | - | Authority subject ID (adopted role IDs keep their historical value) |

### pop task perms clear

Propose clearing a permission row (restores inheritance for project rows)

```text
pop task perms clear [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--duration` | number | no | `60` | Governance vote duration in minutes |
| `--project` | string | no | - | Project ID (omit to clear global permissions) |
| `--subject` | string | yes | - | Authority subject ID (adopted role IDs keep their historical value) |

### pop task perms propose-global

Propose an org-wide task permission row

```text
pop task perms propose-global [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--duration` | number | no | `60` | Governance vote duration in minutes |
| `--perms` | string | yes | - | - |
| `--subject` | string | yes | - | Authority subject ID (adopted role IDs keep their historical value) |

## pop task folders

Show and update the org folder-tree root (show / set)

```text
pop task folders <sub> [flags]
```

| Positional | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `<sub>` | - | yes | - | - |

### pop task folders show

Show the org folder-tree root (bytes32 + CIDv0)

```text
pop task folders show [flags]
```

### pop task folders set

Publish a new folder-tree root (CAS-guarded; organizer hat/executor)

```text
pop task folders set [flags]
```

| Flag | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `--new-root` | string | yes | - | New folder-tree root: Qm… CIDv0, 0x-prefixed bytes32, or "clear" |

_Global flags: --org, --chain, --rpc, --json, --address, --private-key, --dry-run, --yes, --verbose, --quiet, --preflight (see [index.md](index.md))_
