Task Management
Task Management
Comprehensive task management features for creating, listing, completing, and deleting Asana tasks from the command line.
Create Tasks
Basic Task Creation
Create a simple task with just a name:
bun run dev task create -n "Task name" -w WORKSPACE_ID
Task with Description
bun run dev task create \
-n "Implement authentication" \
-d "Add OAuth 2.0 and JWT support for user authentication" \
-w WORKSPACE_ID
Task in a Project
Assign a task to a specific project:
bun run dev task create \
-n "Fix login bug" \
-p PROJECT_ID \
-w WORKSPACE_ID
Task with Assignee
Assign a task to a specific user:
bun run dev task create \
-n "Review code changes" \
-a USER_ID \
-w WORKSPACE_ID
Task with Due Date
Set a deadline for the task:
bun run dev task create \
-n "Submit quarterly report" \
--due 2025-12-31 \
-w WORKSPACE_ID
Complete Task Creation
Create a task with all options:
bun run dev task create \
-n "Update user documentation" \
-d "Add examples and screenshots to user guide" \
-p PROJECT_ID \
-a USER_ID \
--due 2025-11-30 \
-w WORKSPACE_ID
Output Formats
All task commands support multiple output formats via the --format flag:
TOON Format (Default)
Token-efficient format optimized for LLM interactions (30-60% fewer tokens than JSON):
bun run dev task list -a me -w WORKSPACE_ID --format toon
Output example:
tasks[3]{gid,name,completed}:
"1234567890",Setup authentication,true
"1234567891",Add task commands,false
"1234567892",Write documentation,false
JSON Format
Machine-readable format for scripts and automation:
bun run dev task list -a me -w WORKSPACE_ID --format json
Output example:
{
"tasks": [
{ "gid": "1234567890", "name": "Setup authentication", "completed": true },
{ "gid": "1234567891", "name": "Add task commands", "completed": false }
]
}
Plain Format
Traditional human-readable CLI output:
bun run dev task list -a me -w WORKSPACE_ID --format plain
Output example:
Tasks (3):
✓ 1234567890 - Setup authentication
○ 1234567891 - Add task commands
○ 1234567892 - Write documentation
List Tasks
List Your Tasks
View all tasks assigned to you:
bun run dev task list -a me -w WORKSPACE_ID
List Project Tasks
View all tasks in a specific project:
bun run dev task list -p PROJECT_ID
Include Completed Tasks
By default, only incomplete tasks are shown. Include completed tasks:
bun run dev task list -a me -c -w WORKSPACE_ID
List Tasks for Another User
View tasks assigned to a specific user:
bun run dev task list -a USER_ID -w WORKSPACE_ID
View Task Details
Get detailed information about a specific task:
bun run dev task get TASK_ID
This displays:
- Task name
- Description
- Assignee
- Due date
- Projects
- Completion status
- Created and modified dates
Update Tasks
Modify existing task properties:
Update Task Name
bun run dev task update TASK_ID --name "New task name"
Update Task Description
bun run dev task update TASK_ID --notes "Updated description with more details"
Update Task Assignee
bun run dev task update TASK_ID --assignee USER_ID
Update Due Date
bun run dev task update TASK_ID --due-on 2025-12-31
Update Start Date
bun run dev task update TASK_ID --start-on 2025-11-01
Mark Task Complete or Incomplete
# Mark as complete
bun run dev task update TASK_ID --completed true
# Mark as incomplete
bun run dev task update TASK_ID --completed false
Update Multiple Fields
You can update multiple fields in a single command:
bun run dev task update TASK_ID \
--name "Revised task name" \
--notes "Updated description" \
--due-on 2025-12-15 \
--assignee USER_ID
Move Tasks
Move a task to a different project:
Move to Project
bun run dev task move TASK_ID --project PROJECT_ID
Move to Project and Section
Move a task to a specific section within a project:
bun run dev task move TASK_ID --project PROJECT_ID --section SECTION_ID
Complete Tasks
Mark a task as complete:
bun run dev task complete TASK_ID
The task will be marked as completed but remains in the system for record-keeping.
task update TASK_ID --completed true for more flexibility.Delete Tasks
Permanently delete a task:
bun run dev task delete TASK_ID
Command Options
Common Options
All task commands support these options:
-w, --workspace <id>- Workspace ID (required for most operations)-p, --project <id>- Project ID-a, --assignee <id>- User ID or "me" for yourself
Create Options
-n, --name <string>- Task name (required)-d, --notes <string>- Task description/notes--due <date>- Due date (YYYY-MM-DD format)
Update Options
-n, --name <string>- Update task name-d, --notes <string>- Update task description/notes-a, --assignee <id>- Update assignee--due-on <date>- Update due date (YYYY-MM-DD format)--start-on <date>- Update start date (YYYY-MM-DD format)-c, --completed <boolean>- Mark as completed (true) or incomplete (false)
Move Options
-p, --project <id>- Target project ID (required)-s, --section <id>- Target section ID (optional)
List Options
-c, --completed- Include completed tasks
Practical Examples
Daily Standup Workflow
# Check your tasks for today
bun run dev task list -a me -w WORKSPACE_ID
# Create follow-up tasks
bun run dev task create -n "Follow up on PR review" -w WORKSPACE_ID
# Update task with new information
bun run dev task update TASK_ID \
--notes "Discussed with team, approved for merge" \
--due-on 2025-10-31
# Complete finished tasks
bun run dev task complete TASK_ID
Project Management
# View all project tasks
bun run dev task list -p PROJECT_ID
# Add new task to project
bun run dev task create \
-n "Implement search feature" \
-p PROJECT_ID \
-w WORKSPACE_ID
# Move task to different project
bun run dev task move TASK_ID --project NEW_PROJECT_ID
Team Collaboration
# Assign task to team member
bun run dev task create \
-n "Review API documentation" \
-a TEAM_MEMBER_ID \
--due 2025-10-30 \
-w WORKSPACE_ID
# Reassign task to different team member
bun run dev task update TASK_ID --assignee OTHER_TEAM_MEMBER_ID
# Update task deadline
bun run dev task update TASK_ID --due-on 2025-11-15
Task Lifecycle Management
# Create a new task
bun run dev task create -n "Build new feature" -w WORKSPACE_ID
# Add details as work progresses
bun run dev task update TASK_ID \
--notes "Started implementation, using React hooks pattern"
# Extend deadline if needed
bun run dev task update TASK_ID --due-on 2025-12-01
# Move to different project phase
bun run dev task move TASK_ID --project TESTING_PROJECT_ID
# Mark as complete when done
bun run dev task complete TASK_ID
Tips & Best Practices
Pro Tip: Use environment variables to avoid repeating workspace IDs:
export ASANA_WORKSPACE=your_workspace_id
Then you can omit the -w flag in many commands (depending on implementation).
Finding IDs:
- Workspace ID: Check the URL when viewing your workspace in Asana
- Project ID: Look at the URL when viewing a project
- User ID: Available through the Asana API or web interface ::
Related
- Subtasks & Dependencies - Task hierarchies and blocking relationships
- Quick Start - Basic command examples
- Authentication - Login and token management
- Configuration - Environment and config file setup