Skip to main content
Glama

Begin a task

taskhold_begin

Start work in one call: files a new task (or takes an existing one with task_id), plans its steps, marks it in progress and starts the first step. Use this whenever the person asks for something: it puts the request on their board with a checklist and a progress bar. Returns the task id, the numbered steps with ids, the step now running and a cursor for taskhold_updates. Every event of the call (created, planned, started) carries the agent label. On a task already under way it appends the steps. Fails without title or task_id, on an unknown task_id (get one from taskhold_list) or on a step (begin its parent, or taskhold_start the step).

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "taskhold_begin"
  }
}

Input Schema

NameRequiredDescriptionDefault
agentNoWho is working, shown to the person: "<client> in <repo folder>", e.g. "Claude Code in api-server". Outside a repo just "Claude Code".
stepsNoThe plan, in order, e.g. ["Read the code", "Write the migration", "Add tests"]. Omit for a one-step job.
titleNoTitle of the new task (the person's request, short). Omit when passing task_id.
labelsNoLabels for a new task, e.g. ["bug", "refactor"]
projectNoProject name, e.g. the repo folder ("api-server"). Matched case-insensitively; created on first use. Use this instead of project_id.
task_idNoBegin an existing task instead of filing a new one (from taskhold_list).
priorityNoPriority of a new task (default medium)
descriptionNoDetails (markdown), e.g. the person's request in full
start_first_stepNoAlso start the first step (default true)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / properties / task_id / pattern
      Removed value: -"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
  2. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations state non-read-only, non-destructive, closed-world, so the mutation profile is already known; the description still adds real behaviour: the return payload (task id, numbered step ids, running step, updates cursor), that every emitted event carries the agent label, that an in-progress task gets steps appended rather than reset, and the failure modes. It stops short of saying what happens on duplicate titles or how step ordering interacts with start_first_step=false, so it is strong but not exhaustive.

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?

Front-loaded with the composite action and the primary trigger, then returns, then failure modes — a sensible ordering. It is dense but nearly every clause carries information; the closing parenthetical about failure cases is a little compressed and could be split for readability, which keeps it off a 5.

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

Completeness5/5

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

With 9 parameters, no output schema, and a multi-effect write operation, the description carries the full load and does so: it explains what is created, what is returned (including the cursor needed for taskhold_updates), how existing tasks differ, and what makes the call fail. Nothing an agent needs in order to call it correctly appears to be missing.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3; the description earns extra by resolving the biggest schema ambiguity — required is empty in the schema, yet the text states it fails without title or task_id, effectively establishing an either/or requirement. It also explains the steps/task_id relationship (omit steps for a one-step job, append on an existing task), which the schema does not.

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

Purpose5/5

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

"Start work in one call: files a new task (or takes an existing one with task_id), plans its steps, marks it in progress and starts the first step" names the exact verb and resource and enumerates the composite actions, which clearly separates it from siblings like taskhold_create (file only) or taskhold_start (start a step). An agent can choose between taskhold_begin and those siblings without opening a schema.

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

Usage Guidelines5/5

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

"Use this whenever the person asks for something" gives an explicit trigger, and the final sentence gives negative conditions plus the exact alternative for each: unknown task_id → taskhold_list, step id → begin its parent or use taskhold_start. This is a full when / when-not / use-instead map.

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