Skip to main content
Glama

tasks_update

Update a task. Set status='done' to complete it, 'cancelled' to cancel. Reassign with assignee. Status and assignee changes are recorded in the task's comment thread.

Input Schema

NameRequiredDescriptionDefault
titleNo
due_atNoISO datetime
statusNo
summaryNoCompletion note (stored when marking done)
tag_idsNoTopics for the task: ids of workspace tags that apply to tasks (ai_tags.list with applies_to='task'). Replaces the current set; [] clears it.
task_idYesID of the task to update
agent_idNoAct as this agent instead of as yourself. Optional.
assigneeNoWho should do this: a workspace member (email, username, or user:<id> as workspace.members lists them), an AI agent (its name), or a contact (display name). Use 'me' for yourself. Call workspace.members to see who can be assigned. Where this listing offers assignee_user_id / assignee_agent_id / assigned_to_contact_id, they name an exact target instead.
priorityNo
descriptionNo
repeat_unitNoUnit for repeat_every.
in_workspaceNoRun this one call in this workspace id instead of the session's. Nothing is stored; other sessions are not affected.
repeat_everyNoMake the task repeat: completing it creates the next occurrence, due this many repeat_unit after the previous deadline. E.g. repeat_every=3, repeat_unit='month' for quarterly. Pass repeat_every=0 to stop repeating.
clear_assigneeNoUnassign the task, returning it to the backlog
target_sessionNoOnly for an agent that has no session of its own (agents.update target_session); otherwise the task goes to the agent's session and this is ignored. Name or session_id from workspace.desktops. A value no connected session answers to is stored, but the answer carries a warning listing live sessions.
assignee_user_idNo
assignee_agent_idNo
attachment_file_idsNoReplace the task's attachments with these file IDs
assigned_to_contact_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / target_session / description
      Previous value: -"Which desktop Claude session should run this, by the name shown in workspace.desktops. Only needed when the assignee is an AI agent that runs on a machine and more than one session is connected — otherwise the task is not dispatched at all, rather than sent to a machine you did not mean."New value: +"Only for an agent that has no session of its own (agents.update target_session); otherwise the task goes to the agent's session and this is ignored. Name or session_id from workspace.desktops. A value no connected session answers to is stored, but the answer carries a warning listing live sessions."
  2. Changed1 schema field changed
    • changedInput schema / properties / assignee / description
      Previous value: -"Who should do this: a workspace member (email or username), an AI agent (its name), or a contact (display name). Use 'me' for yourself. Call workspace.members to see who can be assigned. For an exact target, pass assignee_user_id / assignee_agent_id / assigned_to_contact_id instead."New value: +"Who should do this: a workspace member (email, username, or user:<id> as workspace.members lists them), an AI agent (its name), or a contact (display name). Use 'me' for yourself. Call workspace.members to see who can be assigned. Where this listing offers assignee_user_id / assignee_agent_id / assigned_to_contact_id, they name an exact target instead."
  3. Changed1 schema field changed
    • addedInput schema / properties / in_workspace
      Added value: +{
      +  "description": "Run this one call in this workspace id instead of the session's. Nothing is stored; other sessions are not affected.",
      +  "type": "integer"
      +}
  4. Added
  5. Removed
  6. First observed

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the mutation profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), yet the description adds a non-obvious side effect not visible anywhere in the structured data: status and assignee changes are written into the task's comment thread. That explains the non-idempotent hint. It does not disclose partial-update semantics (whether omitted fields are preserved), which matters for a 19-parameter mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action and then the two most important parameter behaviors. Little waste, though the opening "Update a task" largely restates the tool name and could have been spent on partial-update semantics instead.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 19-parameter mutation with no output schema, the description covers only status and assignee. It says nothing about scheduled due dates, repeating tasks, tag/attachment replacement semantics, agent impersonation, or session targeting — behaviors an agent would need to call this safely beyond the happy path.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 63%, so the schema carries most weight for the heavily documented params (assignee, tag_ids, repeat_every, target_session, clear_assignee). The description only adds behavioral meaning for status ('done' completes, 'cancelled' cancels) and assignee. Several params with no schema description in this listing — priority, title, description, assignee_user_id, assignee_agent_id, assigned_to_contact_id — get no clarification, so it does not compensate for the gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Update a task") and immediately names the two most consequential mutations (status to done/cancelled, assignee reassignment). It is clearly distinguishable from tasks_create, tasks_delete, and tasks_comment in the sibling list, but it never explicitly contrasts itself with those siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete how-to guidance for the highest-value operations: which status values complete or cancel, and that reassignment goes through 'assignee'. It offers no when-to-use versus alternatives — notably agents_task_complete or the exact-target params assignee_user_id / assignee_agent_id / clear_assignee — so an agent must infer which path to take.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources