Everything you can do with Task CLI, at a glance.
tomorrow, friday, +3d, 2026-03-01. Every: daily, weekly, monthly, every 3 days. Tags: repeatable -T medusa -T urgent.-a to include completed, -m to show only your tasks, -T medusa to filter by tag.gule), full email, or local alias. Use none to unassign.-D none, --every none, or -T none to clear.-f to skip confirmation.--out not specified.-w for active window.my-app).
Every user has a unique global @handle.
Handles work across all teams and machines — assign tasks with just a name, no emails needed.
a-z 0-9 -). Must be globally unique.
Handles are required — you'll be prompted to choose one on first login or next command.
Once set, team members can assign tasks to you with task assign id yourhandle from any machine.
Email aliases let you use short names instead of full emails when assigning tasks. Aliases are stored locally and resolved client-side — the API always receives a full email.
task alias add pedro pedro@gmail.com
Your own username is an implicit alias — if you're logged in as alice@gmail.com, then task assign id alice resolves automatically.
task with no arguments opens the board.
task completion bash > ~/.local/share/bash-completion/completions/tasktask completion zsh > ~/.zfunc/_tasktask completion fish > ~/.config/fish/completions/task.fish
Access your tasks from any mobile browser at task.simples.media/app. The web app is a PWA (Progressive Web App) — install it on your phone for a native app experience.
Task CLI includes a native MCP server (Model Context Protocol) with 19 tools. AI agents can manage tasks, view attached screenshots, and download files — no plugins, no glue code.
from agents import Agent, Runnerfrom agents.mcp import MCPServerStdioasync with MCPServerStdio(command="task", args=["serve"]) as server: agent = Agent(name="Task Manager", mcp_servers=[server]) result = await Runner.run(agent, "list my tasks")
openai_agent.py and run with python openai_agent.py.
from mcp import ClientSession, StdioServerParametersfrom mcp.client.stdio import stdio_clientfrom google import genaiserver_params = StdioServerParameters(command="task", args=["serve"])async with stdio_client(server_params) as (read, write): async with ClientSession(read, write) as session: await session.initialize() response = await client.aio.models.generate_content( model="gemini-2.5-flash", contents=prompt, config=genai.types.GenerateContentConfig(tools=[session]))
gemini_agent.py and run with python gemini_agent.py.
Available MCP tools: list_tasks,
add_task,
start_task,
complete_task,
hold_task,
show_task,
edit_task,
remove_task,
list_projects,
add_project,
share_project,
project_members,
project_invites,
set_profile,
list_files,
upload_file,
download_file,
get_file_url,
delete_file.
Any MCP-compatible client can use task serve via stdio.