The productivity layer for AI-native work

Capture a task from anywhere
you work with AI.

Totask plugs into Claude, Codex, Cursor, and every other MCP-aware client. Add, schedule, and finish work right from chat — one structured inbox across every tool you already use.

no card · cancel anytime
Works with Claude ChatGPT Codex CLI Cursor Gemini + any MCP-compatible client
Live · the gate

Five proposals from your AI client.
Triage them in seconds.

This is the web review surface, mocked with real interactions. Approve sends the task into your active list. Reject drops it, no record kept. The gate is never bypassed.

Queue
proposed5
approved today0
rejected0
triage by keyboard:
j/k to move
a approve · x reject
e edit · ? all keys
Recent commits
· 9:02am · 2 approved· 8:44am · 1 rescheduled· 8:31am · 1 rejected
TaskSourceDuePriDecision
Review Q3 forecast deck before staff meetingfrom mark@acme.com · re: forecast
gmail / acme
thu may 14
P1
Reply to design partner with feedback round 2from cb@studio.co · thread of 7
gmail / sam@
fri may 15
P2
Confirm offsite hotel block by fridayfrom #ops · slack thread
slack / #ops
fri may 15
P2
Triage PR-1142 from external contractorlinear / eng
linear / ENG-1142
next mon
P3
Schedule 1:1 with Priya for product roadmapfrom calendar invite suggestion
calendar
this week
P2
Approval Gate
Active listSourceDuePriStatus
your active list · approve a proposal above to populate
How it works

Three moves. One trust contract.

Your AI client reads your inboxes with its own connectors. Totask holds the structured place where its proposals live until you approve, reject, or reprioritize them.

Step 01
AI · in your client

Extracts a task from your inbox.

The AI reads gmail, slack, linear, calendar through its own MCP connectors. When it spots an actionable signal, it calls propose_tasks on totask.

Step 02
Totask · stores it

Holds it at the gate.

The proposal lives in totask, preserved verbatim, with source references and detected priority. Nothing has changed in your world yet.

Step 03
You · in chat or web

Approve, reject, or reprioritize.

Approve and it enters your active list. Approved tasks can be scheduled to Google Calendar with one more approval. The gate is never bypassed.

Schema is the surface

The same shape across every AI client.

The wire schema is the product. Your AI client renders proposals as inline approve / reject / reprioritize interactions — the schema travels with you when you switch from Claude to Codex to Gemini.

Totask itself stores objective task facts and AI-set deterministic values. It does not reason at request time. The AI client does.

tool call · propose_tasks
// Your AI client, via MCP, when it spots a task.
{
  "tool": "propose_tasks",
  "tasks": [
    {
      "title":    "Review Q3 forecast deck",
      "source":   { "kind": "gmail", "ref": "msg_8H9a..." },
      "due":      "2026-05-14",
      "priority" : 1,
      "participants": ["mark@acme.com"]
    }
  ]
}
// → returns a proposal_id, awaiting human approval.
What totask is not

Defined by its boundaries.

The architectural bet is that AI should be the operator and the human should be the gate — not the other way around. Most of what totask does well is what it deliberately does not do.

Not a

chat client.

totask lives inside the AI of your choice. No new app, no new place to check, no chat window to keep open.

Not a

model.

Totask has no AI capability of its own. No inference, no classification, no generation. The schema is the surface; the AI client is the brain.

Not a

signal aggregator.

Totask does not connect to gmail, slack, or linear. Your AI client already does. Google Calendar write is the one deliberate exception.

Not a

todoist replacement.

If you maintain a manual list and love it, you don't need totask. This is for people who've tried that and watched it collapse.

Principles

Six rules we won't break.

The product's principles are the contract. If a future feature can only ship by breaking one of these, the feature doesn't ship.

P1

AI proposes. Humans commit.

Every state change goes through an explicit human approval. The gate is never bypassed, even for trivial cases.

P2

Schema is the surface.

The wire schema travels with you. Your AI client renders the UI; we don't lock you to one chat.

P3

Model-agnostic by architecture.

Totask has no inference of its own. Whatever AI you pay for is the AI you operate with.

P4

Verbatim storage.

Proposals are stored exactly as the AI sent them, with source refs. No mutation, no enrichment behind your back.

P5

Calm by default.

No badges nagging you. No push notifications. The web is for review only — open when you want to triage.

P6

Your data is yours.

Exportable JSON, account delete actually deletes, Apache 2.0, self-hostable. No lock-in by design.

Compared

Why not just a to-do list, or just chat?

Manual lists collapse when you fall behind. Chat is great for proposals but terrible for state. Totask is the slim layer between them.

 
Manual list
Chat-only
totask
Where the task originates
You type it
Inline in chat, lost on close
AI proposes from your inbox
How state changes happen
Manual
Implicit, hard to undo
Explicit approval gate
When you switch AI clients
Doesn't apply
Start over
Same schema, same data
Notifications by default
Yes
No
No — open when you want
Calendar write
Plugin
Sometimes
First-class, gated
Data export
CSV
Copy/paste
JSON · self-host · Apache 2.0
Pricing

One plan, priced to try immediately.

Cheap enough to install without thinking, expensive enough to tell you we intend to keep the lights on. Apache 2.0, self-hostable. Your data is yours, exportable any time.

What you pay for

Hosted MCP server, web review inbox, calendar integration, account.

What you don't pay for

The AI itself. You bring your own client and your own API quota.

totask · solo
$ 5 / month
  • Unlimited proposals, approvals, scheduled events
  • Google Calendar write integration
  • Use with any MCP-compatible AI client
  • Web review inbox at totask.ai/tasks
  • Exportable JSON · account delete actually deletes
no card required · cancel inside the app
FAQ

The questions we get most.

Don't see yours? Email .

No. Totask has no inference of its own. It's a structured task store with a schema. Your AI client (Claude, ChatGPT, etc.) is the agent; totask is where it puts what it finds.
No. Totask doesn't connect to gmail, slack, or linear. Your AI client already does, through its own MCP connectors. The one outbound integration totask has is Google Calendar write, and it only fires after a human approval.
Cheap enough to install without thinking, expensive enough to tell you we intend to keep the lights on. The whole product is the hosting and reliability. The code is Apache 2.0 if you'd rather self-host.
It sits at the gate. After 30 days, untouched proposals are auto-dismissed; you'll see them in a 'dismissed' filter and can revive any of them if it turns out you wanted it.
Yes. Most triage happens inside your AI client — chat renders proposals as inline approve / reject / reprioritize widgets. The web inbox is for the rare cases where you want to scan many tasks at once.
The wire schema travels with you. Switch from Claude to Codex tomorrow and totask still works — your proposals, your active list, your history are all unchanged. The product is the schema, not any one model.
Install · 5 minutes to first proposal

The AI proposes.
You commit.

Add totask to your AI client of choice. The first time it spots an actionable signal in your inbox, you'll see a proposal show up in chat, waiting at the gate.

~/.config/claude/mcp.json copy
claude mcp add totask https://mcp.totask.ai/mcp --transport http