Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

tasks/get examples under "Task Execution Errors" use "resultType": "task"; prose and schema require "complete"

Open Beginner friendly
#23 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
1/5
Estimated time
Under an hour
Newbie friendliness
95/100
Issue type
Documentation
Clarity
Clearly specified
Activity status
Active
Tech stack
markdown, typescript
Domain
documentation

Research direction

The issue points to two specific lines in specification/2026-07-28/tasks.md and specification/draft/tasks.md where the examples incorrectly use "resultType": "task". The fix is to change them to "resultType": "complete" as shown in the diff. Verify the changes by checking the surrounding examples and the normative text. Run any documentation linting or validation scripts if present.

Written by the indexing model from the issue text.

Description

What's wrong

Two example responses in Task Execution Errors show a tasks/get result with "resultType": "task":

  • specification/2026-07-28/tasks.md:846, in "Example: Task with JSON-RPC execution error"
  • specification/2026-07-28/tasks.md:870, in "Example: Tool call completed with tool error (isError: true)"

specification/draft/tasks.md has the same text at the same line numbers.

Both are tasks/get responses. The section says so (tasks.md:835: "The tasks/get response SHOULD include a statusMessage…"), and the text after the second example calls it "The tasks/get endpoint" (:889).

The normative text says the opposite:

  • tasks.md:338: "The resultType field MUST be set to "complete" on this object as it is the standard result shape for the tasks/get request."
  • tasks.md:102: "Servers MUST NOT set resultType to "task" on result types other than CreateTaskResult."
  • schema/2026-07-28/schema.ts:224 and schema/draft/schema.ts:224: GetTaskResult has resultType: "complete";.

The other tasks/get examples in the same file already use "complete" (:577, :610, :655, :733, :762).

Why it matters

Implementers copy examples. A client that switches on resultType and treats "task" as "this is a CreateTaskResult, start polling" would handle a terminal tasks/get response as a new task handle. A server built from these examples would break the MUST at :338.

Suggested fix (docs only)
--- a/specification/2026-07-28/tasks.md
+++ b/specification/2026-07-28/tasks.md
@@ -843,7 +843,7 @@
   "jsonrpc": "2.0",
   "id": 4,
   "result": {
-    "resultType": "task",
+    "resultType": "complete",
     "taskId": "786512e2-9e0d-44bd-8f29-789f820fe840",
     "status": "failed",
@@ -867,7 +867,7 @@
   "jsonrpc": "2.0",
   "id": 5,
   "result": {
-    "resultType": "task",
+    "resultType": "complete",
     "taskId": "786512e2-9e0d-44bd-8f29-789f820fe840",
     "status": "completed",

Apply the same two changes to specification/draft/tasks.md (same line numbers). Nothing normative changes.

Dominant language
TypeScript
Stars
46
Forks
9
Avg merge
14d 1h
Merged PRs (30d)
1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from modelcontextprotocol/ext-tasks

All issues in modelcontextprotocol/ext-tasks

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.