Intermediate

CLI Commands

Complete reference for all Tapioca CLI commands with examples and options.

This page provides a complete reference for all Tapioca CLI commands. For installation instructions, see CLI Installation.

Command Structure

All commands follow this structure:

tapioca [global-options] <command> [subcommand] [options] [arguments]

Global Options

OptionShortDescription
--help-hShow help for a command
--version-vShow version information
--output-oOutput format: table, json, yaml
--no-colorDisable colored output
--quiet-qSuppress non-essential output
--verboseEnable verbose output
--configPath to config file
--serverOverride server URL

Authentication Commands

tapioca login

Authenticate with Tapioca.

# Interactive browser login (default)
tapioca login

# Login to self-hosted server
tapioca login --server https://tapioca.company.com

# Login with API token (non-interactive)
tapioca login --token tap_xxxxx

Options:

OptionDescription
--serverServer URL to authenticate against
--tokenAPI token for non-interactive login
--no-browserDon’t open browser automatically

tapioca logout

Sign out and clear stored credentials.

tapioca logout

tapioca whoami

Display current user and organization information.

tapioca whoami

# Output:
# User: [email protected]
# Organization: Acme Corp (org_abc123)
# Server: https://api.tapioca.app

Options:

OptionDescription
--jsonOutput as JSON

Organization Commands

tapioca org list

List organizations you belong to.

tapioca org list

# Output:
# ID           NAME         ROLE
# org_abc123   Acme Corp    admin
# org_def456   Side Project member

tapioca org switch

Switch to a different organization.

# Switch by name
tapioca org switch "Acme Corp"

# Switch by ID
tapioca org switch org_abc123

tapioca org current

Show the current active organization.

tapioca org current

Project Commands

tapioca project list

List projects in the current organization.

tapioca project list

# Output:
# ID           NAME              TASKS  MEMBERS
# proj_xyz789  Web Application   42     5
# proj_abc123  Mobile App        28     3

Options:

OptionDescription
--archivedInclude archived projects
--limitMaximum number of results

tapioca project create

Create a new project.

# Interactive creation
tapioca project create

# With options
tapioca project create --name "New Project" --description "Project description"

Options:

OptionDescription
--nameProject name
--descriptionProject description
--prefixTask ID prefix (e.g., “PROJ”)

tapioca project show

Display project details.

tapioca project show proj_xyz789

# Or by name
tapioca project show "Web Application"

tapioca project switch

Set the default project for subsequent commands.

tapioca project switch "Web Application"

Task Commands

tapioca task list

List tasks with optional filters.

# List all tasks in default project
tapioca task list

# Filter by status
tapioca task list --status in-progress

# Filter by assignee
tapioca task list --assignee me
tapioca task list --assignee [email protected]

# Multiple filters
tapioca task list --status todo --priority high --sprint current

# Search
tapioca task list --search "login bug"

Options:

OptionDescription
--projectProject to list tasks from
--statusFilter by status: todo, in-progress, review, done
--priorityFilter by priority: low, medium, high, critical
--assigneeFilter by assignee (email or “me”)
--sprintFilter by sprint: sprint ID, “current”, “backlog”
--labelFilter by label
--searchFull-text search
--limitMaximum results (default: 20)
--allShow all results (no pagination)

[Screenshot: Terminal showing task list output]

tapioca task create

Create a new task.

# Interactive creation
tapioca task create

# Quick create with title
tapioca task create "Fix login button not working"

# With options
tapioca task create "Add user authentication" 
  --project "Web App" 
  --priority high 
  --assignee me 
  --label feature 
  --estimate 4h

Options:

OptionDescription
--projectTarget project
--priorityPriority: low, medium, high, critical
--assigneeAssignee email or “me”
--labelLabel(s) to apply
--estimateTime estimate (e.g., “2h”, “1d”)
--sprintSprint to add task to
--dueDue date (e.g., “tomorrow”, “2024-12-31”)
--descriptionTask description
--parentParent task ID for subtasks

Quick Create from Editor

Use `--edit` to open your default editor for writing longer descriptions: ```bash tapioca task create "Complex feature" --edit ```

tapioca task show

Display task details.

tapioca task show TASK-123

# Output:
# TASK-123: Fix login button not working
# ----------------------------------------
# Status:    In Progress
# Priority:  High
# Assignee:  [email protected]
# Sprint:    Sprint 5
# Estimate:  2h
# Logged:    1h 30m
# Due:       2024-01-15
#
# Description:
# The login button on the homepage doesn't respond to clicks...
#
# Comments (3):
# ...

Options:

OptionDescription
--commentsInclude comments (default: true)
--activityInclude activity history
--webOpen in web browser

tapioca task update

Update task properties.

# Update status
tapioca task update TASK-123 --status done

# Update multiple properties
tapioca task update TASK-123 
  --priority high 
  --assignee [email protected] 
  --label urgent

# Add to sprint
tapioca task update TASK-123 --sprint "Sprint 6"

Options:

OptionDescription
--statusNew status
--priorityNew priority
--assigneeNew assignee
--labelAdd label
--remove-labelRemove label
--sprintMove to sprint
--dueSet due date
--estimateSet time estimate

tapioca task complete

Mark a task as done.

tapioca task complete TASK-123

# With comment
tapioca task complete TASK-123 --comment "Fixed in commit abc123"

tapioca task comment

Add a comment to a task.

# Add comment
tapioca task comment TASK-123 "This is my comment"

# Open editor for longer comment
tapioca task comment TASK-123 --edit

tapioca task move

Move a task to a different project or sprint.

# Move to different project
tapioca task move TASK-123 --project "Other Project"

# Move to different sprint
tapioca task move TASK-123 --sprint "Sprint 7"

tapioca task delete

Delete a task.

tapioca task delete TASK-123

# Skip confirmation
tapioca task delete TASK-123 --yes

Permanent Deletion

Deleted tasks cannot be recovered. Consider archiving or closing instead.

Sprint Commands

tapioca sprint list

List sprints.

tapioca sprint list

# Output:
# ID           NAME       STATUS    START        END          PROGRESS
# spr_abc123   Sprint 5   active    2024-01-01   2024-01-14   65%
# spr_def456   Sprint 6   planned   2024-01-15   2024-01-28   0%

Options:

OptionDescription
--projectFilter by project
--statusFilter: planned, active, completed
--limitMaximum results

tapioca sprint current

Show the current active sprint.

tapioca sprint current

# Output:
# Sprint 5 (spr_abc123)
# Jan 1 - Jan 14, 2024
#
# Progress: 65% (13/20 tasks)
# Days remaining: 5
#
# Burndown:
# ████████████░░░░░░░░ 65%

tapioca sprint show

Display sprint details.

tapioca sprint show spr_abc123

# Or by name
tapioca sprint show "Sprint 5"

Options:

OptionDescription
--tasksInclude task list
--burndownShow burndown chart

tapioca sprint start

Start a new sprint.

# Start planned sprint
tapioca sprint start spr_def456

# Create and start
tapioca sprint start --name "Sprint 7" --duration 2w

tapioca sprint complete

Complete the active sprint.

tapioca sprint complete

# Move incomplete tasks to next sprint
tapioca sprint complete --carry-over

Time Tracking Commands

tapioca time start

Start tracking time.

# Start timer for a task
tapioca time start TASK-123

# Start with note
tapioca time start TASK-123 --note "Working on API integration"

# Start without a task (ad-hoc tracking)
tapioca time start --project "Web App"

Options:

OptionDescription
--taskTask to track time against
--projectProject (if no task)
--noteDescription of work
--billableMark as billable

[Screenshot: Terminal showing time start output]

tapioca time stop

Stop the current timer.

tapioca time stop

# Output:
# Timer stopped
# Task: TASK-123 - Fix login button
# Duration: 1h 23m
# Total today: 4h 15m

Options:

OptionDescription
--noteAdd/update note
--discardDiscard the time entry

tapioca time status

Check current timer status.

tapioca time status

# Output:
# Timer running: 45m 23s
# Task: TASK-123 - Fix login button
# Started: 2:30 PM
#
# Today: 3h 45m tracked

tapioca time log

Log time manually (without using a timer).

# Log time to a task
tapioca time log TASK-123 2h

# With options
tapioca time log TASK-123 2h30m 
  --date yesterday 
  --note "Code review and testing"

# Log for specific date/time
tapioca time log TASK-123 1h 
  --start "2024-01-10 09:00" 
  --end "2024-01-10 10:00"

Duration formats:

  • 2h - 2 hours
  • 30m - 30 minutes
  • 2h30m or 2h 30m - 2 hours 30 minutes
  • 2.5h - 2.5 hours
  • 2:30 - 2 hours 30 minutes

Options:

OptionDescription
--dateDate for entry (default: today)
--startSpecific start time
--endSpecific end time
--noteWork description
--billableMark as billable

tapioca time list

List time entries.

# Today's entries
tapioca time list

# This week
tapioca time list --week

# Date range
tapioca time list --from 2024-01-01 --to 2024-01-07

# By task
tapioca time list --task TASK-123

Options:

OptionDescription
--todayShow today’s entries (default)
--weekShow this week
--monthShow this month
--fromStart date
--toEnd date
--taskFilter by task
--projectFilter by project

tapioca time report

Generate time reports.

# Weekly summary
tapioca time report

# By project
tapioca time report --by project

# Date range
tapioca time report --from 2024-01-01 --to 2024-01-31

# Export to CSV
tapioca time report --format csv > report.csv

Options:

OptionDescription
--byGroup by: project, task, day, user
--fromStart date
--toEnd date
--formatOutput: table, csv, json
--billableOnly billable time

tapioca time edit

Edit a time entry.

# Edit by entry ID
tapioca time edit entry_abc123 --duration 2h30m

# Edit note
tapioca time edit entry_abc123 --note "Updated description"

tapioca time delete

Delete a time entry.

tapioca time delete entry_abc123

# Skip confirmation
tapioca time delete entry_abc123 --yes

TUI Mode

tapioca tui

Launch the Terminal User Interface for a rich interactive experience.

tapioca tui

[Screenshot: TUI mode showing dashboard]

TUI Keyboard Shortcuts:

KeyAction
?Show help
qQuit
TabSwitch panels
j/k or ↓/↑Navigate list
EnterSelect/open
nNew task
eEdit selected
tStart/stop timer
/Search
rRefresh
1-4Switch tabs

TUI Panels:

  1. Dashboard - Overview of tasks and time
  2. Tasks - Task list with filters
  3. Timer - Time tracking controls
  4. Sprints - Sprint management

TUI Theme

Customize the TUI theme in your config: ```yaml tui: theme: "dracula" # or: default, nord, gruvbox ```

Configuration Commands

tapioca config get

Get a configuration value.

tapioca config get server
tapioca config get output.format

tapioca config set

Set a configuration value.

tapioca config set output.format json
tapioca config set tui.theme dracula

tapioca config list

List all configuration.

tapioca config list

tapioca config reset

Reset configuration to defaults.

# Reset specific key
tapioca config reset output.format

# Reset all
tapioca config reset --all

Utility Commands

tapioca doctor

Check CLI health and configuration.

tapioca doctor

# Output:
# ✓ Configuration file found
# ✓ Authentication valid
# ✓ Server reachable (latency: 45ms)
# ✓ Git integration available
# ✓ Shell completion installed
#
# All checks passed!

tapioca debug-info

Output diagnostic information for troubleshooting.

tapioca debug-info

# Output includes:
# - Version info
# - OS and architecture
# - Configuration
# - Environment variables
# - Recent errors

tapioca completion

Generate shell completion scripts. See CLI Installation for setup instructions.

tapioca completion bash
tapioca completion zsh
tapioca completion fish
tapioca completion powershell

Aliases and Shortcuts

Common Aliases

Add these to your shell configuration for faster access:

# Bash/Zsh aliases
alias tp='tapioca'
alias tpt='tapioca task'
alias tps='tapioca sprint'
alias tptm='tapioca time'

# Quick time tracking
alias start='tapioca time start'
alias stop='tapioca time stop'
alias status='tapioca time status'

Command Aliases

Tapioca supports built-in command aliases:

AliasExpands To
lslist
newcreate
rmdelete
mvmove
# These are equivalent:
tapioca task list
tapioca task ls

tapioca task create "New task"
tapioca task new "New task"

Examples

Morning Routine

# Check what's assigned to you
tapioca task list --assignee me --status todo

# Start timer on first task
tapioca time start TASK-123

# Check sprint progress
tapioca sprint current

End of Day

# Stop any running timer
tapioca time stop

# Review time logged today
tapioca time list --today

# Check tomorrow's tasks
tapioca task list --assignee me --due tomorrow

Creating a Feature

# Create the main task
tapioca task create "Implement user authentication" 
  --priority high 
  --estimate 8h 
  --label feature

# Add subtasks
tapioca task create "Design auth flow" --parent TASK-124
tapioca task create "Implement login endpoint" --parent TASK-124
tapioca task create "Add JWT handling" --parent TASK-124
tapioca task create "Write tests" --parent TASK-124

Batch Operations with Scripts

#!/bin/bash
# Close all tasks in "Done" status older than 30 days

tapioca task list --status done --output json | 
  jq -r '.[] | select(.updated_at < (now - 2592000 | todate)) | .id' | 
  xargs -I {} tapioca task archive {}

Next Steps

Was this page helpful?

Let us know how we can improve