Skip to main content
Glama

Run a task with a local AI CLI

start_agent
Destructive

Launch a private CLI subagent task and return an invocation_id for waiting on its progress or result.

Instructions

Start a private CLI task; invocation_id goes to wait, not session_id. No deadline or messages to active tasks; cancel to stop. Reply settings are requested, not effective; unreceived flags undelivered ends/blockers/reviews for wait.

Input Schema

NameRequiredDescriptionDefault
cwdNoExisting absolute directory; required for new tasks, inherited on resume when omitted.
roleNoDesk label: 1–40 trimmed characters, no controls/newlines; blank clears. Review roles select CLI if omitted and App defaults if CLI matches; explicit options win.
seatNoApp Explorer/Worker difficulty: selects CLI if omitted, defaults if CLI matches and orchestration enabled; explicit options win; inherits on resume. Not shown; also pass role as the desk label.
titleNoNew title: at most 48 columns (CJK=2). The first permanently names this workspace, so state the chat's purpose; later tasks may omit it.
accessNoDeclared read/write access; see MCP instructions.
promptYesTask, context, constraints and expected output; this chat is not inherited.
forwardNoMessage_ids to inject before this task; see MCP instructions.
providerNoCLI name; omit to inherit session history or the App seat; see MCP instructions for exclusions and native seats.
session_idNoNative session_id from a finished task, never invocation_id; omit for a new thread. Resume inherits provider/cwd/role/seat; explicit values win. Unknown or ambiguous history needs provider and cwd; a new role without seat drops the old seat.
manager_modelNo
conversation_idNoPrivate task conversation to append to.
provider_optionsNoCLI options, including model/effort; keys via list_members(provider=...); defaults in MCP instructions.
manager_session_idNo

Output Schema

NameRequiredDescriptionDefault
errorNo
modelNo
accessNo
effortNo
outputNo
reasonYes
statusYes
activityNo
providerNo
warningsNo
elapsed_msNo
message_idNo
session_idNo
unreceivedNo
invocation_idYes
output_age_msNo
conversation_idYes
defaults_appliedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed23 schema fields changedv0.65.0
    • changedInput schema / $defs / ManagerModel / description
      Previous value: -"Your current manager model ID, when known from trusted host context. Metadata for this message only; never the subagent model or a CLI-derived guess. Omit when unknown. Does not change provider settings."New value: +"Boss model override; normally omit; see MCP instructions."
    • changedInput schema / $defs / ManagerSessionId / description
      Previous value: -"Current manager chat/session ID, shared by all tasks and groups in that chat. Use the host's real session ID when available; otherwise generate one UUID once for this manager chat and keep reusing it. A different chat needs a different ID. Never use the CLI name, MCP connection ID, or subagent session_id. Required by start_agent and run_round, and by handover to hand over or take over, unless AGENTNAVE_HOST_SESSION_ID is injected for this chat or the host gives this server its native session ID (Claude Code: CLAUDE_CODE_SESSION_ID)."New value: +"Boss chat ID from host context; see MCP instructions."
    • addedInput schema / $defs / OrchestrationRole
      Added value: +{
      +  "enum": [
      +    "explorer-easy",
      +    "explorer-hard",
      +    "worker-easy",
      +    "worker-hard"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / access / description
      Previous value: -"Declared desk access: read for exploring, planning or reviewing, write for changing files. Recorded and shown only; it never changes the CLI's native permissions."New value: +"Declared read/write access; see MCP instructions."
    • changedInput schema / properties / conversation_id / description
      Previous value: -"Task conversation to add this task to."New value: +"Private task conversation to append to."
    • addedInput schema / properties / cwd / anyOf
      Added value: +[
      +  {
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / cwd / default
      Added value: +null
    • changedInput schema / properties / cwd / description
      Previous value: -"Absolute existing directory where the subagent runs."New value: +"Existing absolute directory; required for new tasks, inherited on resume when omitted."
    • removedInput schema / properties / cwd / minLength
      Removed value: -1
    • removedInput schema / properties / cwd / type
      Removed value: -"string"
    • changedInput schema / properties / forward / description
      Previous value: -"Message ids from wait, run_round, decide_answers or read_conversation to inject before the prompt in order. Only succeeded tasks and committed entries of this manager workspace qualify; at most 20, no repeats. The injected text is labelled as data, not instructions, and the saved task prompt stays your original text."New value: +"Message_ids to inject before this task; see MCP instructions."
    • changedInput schema / properties / prompt / description
      Previous value: -"Complete task, context, constraints, and expected output; the CLI does not inherit this conversation."New value: +"Task, context, constraints and expected output; this chat is not inherited."
    • removedInput schema / properties / provider / $ref
      Removed value: -"#/$defs/ProviderName"
    • addedInput schema / properties / provider / anyOf
      Added value: +[
      +  {
      +    "$ref": "#/$defs/ProviderName"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / provider / default
      Added value: +null
    • changedInput schema / properties / provider / description
      Previous value: -"CLI requested by the user, not a model ID. Providers permitted by this host configuration: antigravity, claude, codebuddy, codex, deepseek, grok, pi, zcode. Excluded providers: none. start_agent rejects excluded providers; meetings follow discussion member limits without host exclusions."New value: +"CLI name; omit to inherit session history or the App seat; see MCP instructions for exclusions and native seats."
    • changedInput schema / properties / provider_options / description
      Previous value: -"Explicit options for the selected CLI, e.g. {\"model\": \"gpt-6.1-sol\", \"effort\": \"medium\"}; model is this CLI's own model ID as list_members shows it. Call list_members(provider=...) for supported keys. Omitted options use configured App defaults, then native CLI settings."New value: +"CLI options, including model/effort; keys via list_members(provider=...); defaults in MCP instructions."
    • changedInput schema / properties / role / description
      Previous value: -"Optional label shown on this task's desk; 1–40 characters after trimming, no newlines or control characters. Blank or omitted means no label. Each native thread is its own desk, whatever its role. An agentnave-review role (e.g. correctness-reviewer) or explorer-easy, explorer-hard, worker-easy, worker-hard also brings the model and effort the user picked for that seat in the App when provider is the seat's CLI; explicit options win, and defaults_applied names the seat."New value: +"Desk label: 1–40 trimmed characters, no controls/newlines; blank clears. Review roles select CLI if omitted and App defaults if CLI matches; explicit options win."
    • addedInput schema / properties / seat
      Added value: +{
      +  "anyOf": [
      +    {
      +      "$ref": "#/$defs/OrchestrationRole"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "App Explorer/Worker difficulty: selects CLI if omitted, defaults if CLI matches and orchestration enabled; explicit options win; inherits on resume. Not shown; also pass role as the desk label."
      +}
    • changedInput schema / properties / session_id / description
      Previous value: -"To continue a specific native conversation, use the session_id returned by a finished invocation of the same provider; never use an invocation_id here. Omitted, the task starts a new native thread: a new desk in the App."New value: +"Native session_id from a finished task, never invocation_id; omit for a new thread. Resume inherits provider/cwd/role/seat; explicit values win. Unknown or ambiguous history needs provider and cwd; a new role without seat drops the old seat."
    • changedInput schema / properties / title / description
      Previous value: -"Short title for a new task conversation, at most 48 columns (CJK characters count 2). The first conversation of a manager chat also names its workspace for good, so give that one the chat's purpose; later private tasks may omit it."New value: +"New title: at most 48 columns (CJK=2). The first permanently names this workspace, so state the chat's purpose; later tasks may omit it."
    • changedInput schema / required
      Previous value: -[
      -  "provider",
      -  "prompt",
      -  "cwd"
      -]New value: +[
      +  "prompt"
      +]
    • changedOutput schema / required
      Previous value: -[
      -  "invocation_id",
      -  "status",
      -  "reason",
      -  "elapsed_ms",
      -  "conversation_id",
      -  "access"
      -]New value: +[
      +  "invocation_id",
      +  "status",
      +  "reason",
      +  "conversation_id"
      +]
  2. Changed1 schema field changedv0.58.0
    • changedInput schema / properties / role / description
      Previous value: -"Optional label shown on this task's desk; 1–40 characters after trimming, no newlines or control characters. Blank or omitted means no label. Each native thread is its own desk, whatever its role."New value: +"Optional label shown on this task's desk; 1–40 characters after trimming, no newlines or control characters. Blank or omitted means no label. Each native thread is its own desk, whatever its role. An agentnave-review role (e.g. correctness-reviewer) or explorer-easy, explorer-hard, worker-easy, worker-hard also brings the model and effort the user picked for that seat in the App when provider is the seat's CLI; explicit options win, and defaults_applied names the seat."
  3. Changed5 schema fields changedv0.53.1
    • changedInput schema / $defs / ManagerSessionId / description
      Previous value: -"Current manager chat/session ID, shared by all tasks and groups in that chat. Use the host's real session ID when available; otherwise generate one UUID once for this manager chat and keep reusing it. A different chat needs a different ID. Never use the CLI name, MCP connection ID, or subagent session_id. Required by start_agent and run_round unless AGENTNAVE_HOST_SESSION_ID is injected for this chat."New value: +"Current manager chat/session ID, shared by all tasks and groups in that chat. Use the host's real session ID when available; otherwise generate one UUID once for this manager chat and keep reusing it. A different chat needs a different ID. Never use the CLI name, MCP connection ID, or subagent session_id. Required by start_agent and run_round, and by handover to hand over or take over, unless AGENTNAVE_HOST_SESSION_ID is injected for this chat or the host gives this server its native session ID (Claude Code: CLAUDE_CODE_SESSION_ID)."
    • changedInput schema / $defs / ProviderName / enum
      Previous value: -[
      -  "antigravity",
      -  "claude",
      -  "codebuddy",
      -  "codex",
      -  "deepseek",
      -  "grok",
      -  "pi"
      -]New value: +[
      +  "antigravity",
      +  "claude",
      +  "codebuddy",
      +  "codex",
      +  "deepseek",
      +  "grok",
      +  "pi",
      +  "zcode"
      +]
    • changedInput schema / properties / provider / description
      Previous value: -"CLI requested by the user, not a model ID. Providers permitted by this host configuration: antigravity, claude, codebuddy, codex, deepseek, grok, pi. Excluded providers: none. start_agent rejects excluded providers; shows follow discussion member limits without host exclusions."New value: +"CLI requested by the user, not a model ID. Providers permitted by this host configuration: antigravity, claude, codebuddy, codex, deepseek, grok, pi, zcode. Excluded providers: none. start_agent rejects excluded providers; meetings follow discussion member limits without host exclusions."
    • addedOutput schema / $defs / UnreceivedPayload
      Added value: +{
      +  "properties": {
      +    "error": {
      +      "$ref": "#/$defs/InvocationErrorPayload"
      +    },
      +    "id": {
      +      "title": "Id",
      +      "type": "string"
      +    },
      +    "kind": {
      +      "enum": [
      +        "task",
      +        "round"
      +      ],
      +      "title": "Kind",
      +      "type": "string"
      +    },
      +    "status": {
      +      "title": "Status",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "kind",
      +    "status"
      +  ],
      +  "title": "UnreceivedPayload",
      +  "type": "object"
      +}
    • addedOutput schema / properties / unreceived
      Added value: +{
      +  "items": {
      +    "$ref": "#/$defs/UnreceivedPayload"
      +  },
      +  "title": "Unreceived",
      +  "type": "array"
      +}
  4. Changed5 schema fields changedv0.49.0
    • changedInput schema / $defs / ManagerSessionId / description
      Previous value: -"Current manager chat/session ID, shared by all tasks and groups in that chat. Use the host's real session ID when available; otherwise generate one UUID once for this manager chat and keep reusing it. A different chat needs a different ID. Never use the CLI name, MCP connection ID, or subagent session_id. Omission uses AGENTNAVE_HOST_SESSION_ID if configured, else keeps records separate."New value: +"Current manager chat/session ID, shared by all tasks and groups in that chat. Use the host's real session ID when available; otherwise generate one UUID once for this manager chat and keep reusing it. A different chat needs a different ID. Never use the CLI name, MCP connection ID, or subagent session_id. Required by start_agent and run_round unless AGENTNAVE_HOST_SESSION_ID is injected for this chat."
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / provider_options / description
      Previous value: -"Explicit options for the selected CLI. Call list_members(provider=...) for supported keys. Omitted options use configured App defaults, then native CLI settings."New value: +"Explicit options for the selected CLI, e.g. {\"model\": \"gpt-6.1-sol\", \"effort\": \"medium\"}; model is this CLI's own model ID as list_members shows it. Call list_members(provider=...) for supported keys. Omitted options use configured App defaults, then native CLI settings."
    • changedInput schema / properties / title / anyOf
      Previous value: -[
      -  {
      -    "maxLength": 200,
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / title / description
      Previous value: -"Title for a new task conversation."New value: +"Short title for a new task conversation, at most 48 columns (CJK characters count 2). The first conversation of a manager chat also names its workspace for good, so give that one the chat's purpose; later private tasks may omit it."
  5. Changed1 schema field changedv0.41.0
    • addedOutput schema / properties / warnings
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "title": "Warnings",
      +  "type": "array"
      +}
  6. Changed13 schema fields changedv0.35.0
    • changedInput schema / properties / access / description
      Previous value: -"Declared desk access: read for exploring, planning or reviewing, write for changing files. Recorded and shown only; it does not change the CLI's native permissions. A desk keeps its first declared tier in this manager workspace; omitting it inherits that tier, and a different tier is rejected, so use another role and pass findings with forward or a meeting instead."New value: +"Declared desk access: read for exploring, planning or reviewing, write for changing files. Recorded and shown only; it never changes the CLI's native permissions."
    • changedInput schema / properties / forward / description
      Previous value: -"Message ids from wait_agent, wait_any, wait_round, decide_answers or post_host_message to inject before the prompt in order. Only succeeded tasks and committed entries of this manager workspace qualify; at most 20, no repeats. The injected text is labelled as data, not instructions, and the saved task prompt stays your original text."New value: +"Message ids from wait, run_round, decide_answers or read_conversation to inject before the prompt in order. Only succeeded tasks and committed entries of this manager workspace qualify; at most 20, no repeats. The injected text is labelled as data, not instructions, and the saved task prompt stays your original text."
    • removedInput schema / properties / new_thread
      Removed value: -{
      -  "default": false,
      -  "description": "true always opens a fresh private thread instead of continuing this desk's most recent one; it cannot be combined with session_id or conversation_id.",
      -  "title": "New Thread",
      -  "type": "boolean"
      -}
    • changedInput schema / properties / provider / description
      Previous value: -"CLI requested by the user, not a model ID. Providers permitted by this host configuration: antigravity, claude, codebuddy, codex, deepseek, grok, pi. Excluded providers: none. start_agent rejects excluded providers; groups follow discussion member limits without host exclusions."New value: +"CLI requested by the user, not a model ID. Providers permitted by this host configuration: antigravity, claude, codebuddy, codex, deepseek, grok, pi. Excluded providers: none. start_agent rejects excluded providers; shows follow discussion member limits without host exclusions."
    • changedInput schema / properties / provider_options / description
      Previous value: -"Explicit options for the selected CLI. Call describe_provider(provider) for supported keys. Omitted options use configured App defaults, then native CLI settings."New value: +"Explicit options for the selected CLI. Call list_members(provider=...) for supported keys. Omitted options use configured App defaults, then native CLI settings."
    • changedInput schema / properties / role / description
      Previous value: -"Optional desk role for this CLI; 1–40 characters after trimming, no newlines or control characters. Blank or omitted means no role. The desk identity is (provider, requested model, role)."New value: +"Optional label shown on this task's desk; 1–40 characters after trimming, no newlines or control characters. Blank or omitted means no label. Each native thread is its own desk, whatever its role."
    • changedInput schema / properties / session_id / description
      Previous value: -"To continue a specific native conversation, use the session_id returned by a finished invocation of the same provider; never use an invocation_id here. When omitted with a known manager_session_id, the task continues this desk's most recent private thread unless new_thread=true."New value: +"To continue a specific native conversation, use the session_id returned by a finished invocation of the same provider; never use an invocation_id here. Omitted, the task starts a new native thread: a new desk in the App."
    • removedOutput schema / properties / dashboard_error
      Removed value: -{
      -  "title": "Dashboard Error",
      -  "type": "string"
      -}
    • removedOutput schema / properties / dashboard_url
      Removed value: -{
      -  "title": "Dashboard Url",
      -  "type": "string"
      -}
    • removedOutput schema / properties / director_url
      Removed value: -{
      -  "title": "Director Url",
      -  "type": "string"
      -}
    • removedOutput schema / properties / public_url
      Removed value: -{
      -  "title": "Public Url",
      -  "type": "string"
      -}
    • removedOutput schema / properties / resumed
      Removed value: -{
      -  "title": "Resumed",
      -  "type": "boolean"
      -}
    • changedOutput schema / required
      Previous value: -[
      -  "invocation_id",
      -  "status",
      -  "reason",
      -  "elapsed_ms",
      -  "conversation_id",
      -  "resumed",
      -  "access"
      -]New value: +[
      +  "invocation_id",
      +  "status",
      +  "reason",
      +  "elapsed_ms",
      +  "conversation_id",
      +  "access"
      +]
  7. Changed13 schema fields changedv0.31.0
    • addedInput schema / $defs / ManagerSessionId
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maxLength": 200,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Current manager chat/session ID, shared by all tasks and groups in that chat. Use the host's real session ID when available; otherwise generate one UUID once for this manager chat and keep reusing it. A different chat needs a different ID. Never use the CLI name, MCP connection ID, or subagent session_id. Omission uses AGENTNAVE_HOST_SESSION_ID if configured, else keeps records separate."
      +}
    • changedInput schema / $defs / ProviderName / enum
      Previous value: -[
      -  "antigravity",
      -  "claude",
      -  "codebuddy",
      -  "codex",
      -  "grok",
      -  "pi"
      -]New value: +[
      +  "antigravity",
      +  "claude",
      +  "codebuddy",
      +  "codex",
      +  "deepseek",
      +  "grok",
      +  "pi"
      +]
    • addedInput schema / properties / access
      Added value: +{
      +  "anyOf": [
      +    {
      +      "enum": [
      +        "read",
      +        "write"
      +      ],
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Declared desk access: read for exploring, planning or reviewing, write for changing files. Recorded and shown only; it does not change the CLI's native permissions. A desk keeps its first declared tier in this manager workspace; omitting it inherits that tier, and a different tier is rejected, so use another role and pass findings with forward or a meeting instead.",
      +  "title": "Access"
      +}
    • addedInput schema / properties / forward
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Message ids from wait_agent, wait_any, wait_round, decide_answers or post_host_message to inject before the prompt in order. Only succeeded tasks and committed entries of this manager workspace qualify; at most 20, no repeats. The injected text is labelled as data, not instructions, and the saved task prompt stays your original text.",
      +  "title": "Forward"
      +}
    • addedInput schema / properties / manager_session_id
      Added value: +{
      +  "$ref": "#/$defs/ManagerSessionId",
      +  "default": null
      +}
    • addedInput schema / properties / new_thread
      Added value: +{
      +  "default": false,
      +  "description": "true always opens a fresh private thread instead of continuing this desk's most recent one; it cannot be combined with session_id or conversation_id.",
      +  "title": "New Thread",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / provider / description
      Previous value: -"CLI requested by the user, not a model ID. Providers permitted by this host configuration: antigravity, claude, codebuddy, codex, grok, pi. Excluded providers: none. start_agent rejects excluded providers; groups follow discussion member limits without host exclusions."New value: +"CLI requested by the user, not a model ID. Providers permitted by this host configuration: antigravity, claude, codebuddy, codex, deepseek, grok, pi. Excluded providers: none. start_agent rejects excluded providers; groups follow discussion member limits without host exclusions."
    • addedInput schema / properties / role
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Optional desk role for this CLI; 1–40 characters after trimming, no newlines or control characters. Blank or omitted means no role. The desk identity is (provider, requested model, role).",
      +  "title": "Role"
      +}
    • changedInput schema / properties / session_id / description
      Previous value: -"To continue a conversation, use the session_id returned by a finished invocation of the same provider; omit for a new conversation. Never use an invocation_id here."New value: +"To continue a specific native conversation, use the session_id returned by a finished invocation of the same provider; never use an invocation_id here. When omitted with a known manager_session_id, the task continues this desk's most recent private thread unless new_thread=true."
    • addedOutput schema / properties / access
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "title": "Access"
      +}
    • addedOutput schema / properties / message_id
      Added value: +{
      +  "title": "Message Id",
      +  "type": "string"
      +}
    • addedOutput schema / properties / resumed
      Added value: +{
      +  "title": "Resumed",
      +  "type": "boolean"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "invocation_id",
      -  "status",
      -  "reason",
      -  "elapsed_ms",
      -  "conversation_id"
      -]New value: +[
      +  "invocation_id",
      +  "status",
      +  "reason",
      +  "elapsed_ms",
      +  "conversation_id",
      +  "resumed",
      +  "access"
      +]
  8. Changed11 schema fields changedv0.23.0
    • addedInput schema / $defs / ManagerModel
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maxLength": 200,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Your current manager model ID, when known from trusted host context. Metadata for this message only; never the subagent model or a CLI-derived guess. Omit when unknown. Does not change provider settings."
      +}
    • addedInput schema / properties / conversation_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Task conversation to add this task to.",
      +  "title": "Conversation Id"
      +}
    • addedInput schema / properties / manager_model
      Added value: +{
      +  "$ref": "#/$defs/ManagerModel",
      +  "default": null
      +}
    • addedInput schema / properties / title
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maxLength": 200,
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Title for a new task conversation.",
      +  "title": "Title"
      +}
    • addedOutput schema / properties / conversation_id
      Added value: +{
      +  "title": "Conversation Id",
      +  "type": "string"
      +}
    • addedOutput schema / properties / dashboard_error
      Added value: +{
      +  "title": "Dashboard Error",
      +  "type": "string"
      +}
    • addedOutput schema / properties / dashboard_url
      Added value: +{
      +  "title": "Dashboard Url",
      +  "type": "string"
      +}
    • addedOutput schema / properties / director_url
      Added value: +{
      +  "title": "Director Url",
      +  "type": "string"
      +}
    • addedOutput schema / properties / public_url
      Added value: +{
      +  "title": "Public Url",
      +  "type": "string"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "invocation_id",
      -  "status",
      -  "reason",
      -  "elapsed_ms"
      -]New value: +[
      +  "invocation_id",
      +  "status",
      +  "reason",
      +  "elapsed_ms",
      +  "conversation_id"
      +]
    • changedOutput schema / title
      Previous value: -"InvocationPayload"New value: +"TaskStartPayload"
  9. Changed3 schema fields changedv0.21.0
    • changedInput schema / properties / provider / description
      Previous value: -"CLI requested by the user, not a model ID. Providers permitted by this host configuration: antigravity, claude, codebuddy, codex, grok, pi. Excluded providers: none. start_agent rejects excluded providers; groups may seat any provider."New value: +"CLI requested by the user, not a model ID. Providers permitted by this host configuration: antigravity, claude, codebuddy, codex, grok, pi. Excluded providers: none. start_agent rejects excluded providers; groups follow discussion member limits without host exclusions."
    • changedInput schema / properties / provider_options / description
      Previous value: -"Explicit options for the selected CLI. Call describe_provider(provider) for supported keys. Omitted options inherit native CLI settings."New value: +"Explicit options for the selected CLI. Call describe_provider(provider) for supported keys. Omitted options use configured App defaults, then native CLI settings."
    • addedOutput schema / properties / defaults_applied
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "title": "Defaults Applied",
      +  "type": "array"
      +}
  10. Changed5 schema fields changedv0.16.1
    • changedInput schema / $defs / ProviderName / enum
      Previous value: -[
      -  "antigravity",
      -  "claude",
      -  "codebuddy",
      -  "codex",
      -  "grok"
      -]New value: +[
      +  "antigravity",
      +  "claude",
      +  "codebuddy",
      +  "codex",
      +  "grok",
      +  "pi"
      +]
    • changedInput schema / properties / provider / description
      Previous value: -"CLI requested by the user, not a model ID. Providers permitted by this host configuration: antigravity, claude, codebuddy, codex, grok. Excluded providers: none. Excluded providers are rejected before launch."New value: +"CLI requested by the user, not a model ID. Providers permitted by this host configuration: antigravity, claude, codebuddy, codex, grok, pi. Excluded providers: none. start_agent rejects excluded providers; groups may seat any provider."
    • addedOutput schema / properties / effort
      Added value: +{
      +  "title": "Effort",
      +  "type": "string"
      +}
    • addedOutput schema / properties / model
      Added value: +{
      +  "title": "Model",
      +  "type": "string"
      +}
    • addedOutput schema / properties / provider
      Added value: +{
      +  "title": "Provider",
      +  "type": "string"
      +}
  11. Changed2 schema fields changedv0.9.0
    • removedInput schema / properties / timeout_seconds
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "exclusiveMinimum": 0,
      -      "maximum": 86400,
      -      "type": "number"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Optional total runtime limit in seconds; expiry stops the invocation. Omit or null for no AgentNave deadline; native CLI limits still apply.",
      -  "title": "Timeout Seconds"
      -}
    • changedOutput schema / properties / status / enum
      Previous value: -[
      -  "running",
      -  "succeeded",
      -  "failed",
      -  "blocked",
      -  "cancelled",
      -  "timed_out"
      -]New value: +[
      +  "running",
      +  "succeeded",
      +  "failed",
      +  "blocked",
      +  "cancelled"
      +]
  12. Changed20 schema fields changedv0.7.0
    • changedInput schema / properties / provider / description
      Previous value: -"CLI requested by the user, not a model ID. Providers permitted by this host configuration: antigravity, claude, codebuddy, codex, grok. Excluded providers: none. Exclusions are enforced before an invocation is created. Choose an installed, authenticated permitted CLI; if none is available, report the blocker instead of falling back to an excluded provider."New value: +"CLI requested by the user, not a model ID. Providers permitted by this host configuration: antigravity, claude, codebuddy, codex, grok. Excluded providers: none. Excluded providers are rejected before launch."
    • changedInput schema / properties / provider_options / description
      Previous value: -"Explicit options for the selected CLI. Call describe_provider(provider) for supported keys and model/effort defaults; user choices override those defaults."New value: +"Explicit options for the selected CLI. Call describe_provider(provider) for supported keys. Omitted options inherit native CLI settings."
    • addedInput schema / properties / timeout_seconds / anyOf
      Added value: +[
      +  {
      +    "exclusiveMinimum": 0,
      +    "maximum": 86400,
      +    "type": "number"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / timeout_seconds / default
      Previous value: -1800New value: +null
    • changedInput schema / properties / timeout_seconds / description
      Previous value: -"Total runtime limit in seconds; expiry stops the invocation."New value: +"Optional total runtime limit in seconds; expiry stops the invocation. Omit or null for no AgentNave deadline; native CLI limits still apply."
    • removedInput schema / properties / timeout_seconds / exclusiveMinimum
      Removed value: -0
    • removedInput schema / properties / timeout_seconds / maximum
      Removed value: -86400
    • removedInput schema / properties / timeout_seconds / type
      Removed value: -"number"
    • addedOutput schema / $defs
      Added value: +{
      +  "ActivityPayload": {
      +    "properties": {
      +      "age_ms": {
      +        "title": "Age Ms",
      +        "type": "integer"
      +      },
      +      "kind": {
      +        "title": "Kind",
      +        "type": "string"
      +      },
      +      "state": {
      +        "title": "State",
      +        "type": "string"
      +      },
      +      "tool_name": {
      +        "title": "Tool Name",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind"
      +    ],
      +    "title": "ActivityPayload",
      +    "type": "object"
      +  },
      +  "InvocationErrorPayload": {
      +    "properties": {
      +      "code": {
      +        "title": "Code",
      +        "type": "string"
      +      },
      +      "message": {
      +        "title": "Message",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "code",
      +      "message"
      +    ],
      +    "title": "InvocationErrorPayload",
      +    "type": "object"
      +  }
      +}
    • addedOutput schema / properties / activity
      Added value: +{
      +  "$ref": "#/$defs/ActivityPayload"
      +}
    • addedOutput schema / properties / elapsed_ms
      Added value: +{
      +  "title": "Elapsed Ms",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / error
      Added value: +{
      +  "$ref": "#/$defs/InvocationErrorPayload"
      +}
    • addedOutput schema / properties / output
      Added value: +{
      +  "title": "Output",
      +  "type": "string"
      +}
    • addedOutput schema / properties / output_age_ms
      Added value: +{
      +  "title": "Output Age Ms",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / reason
      Added value: +{
      +  "enum": [
      +    "started",
      +    "wait_elapsed",
      +    "execution_blocked",
      +    "finished"
      +  ],
      +  "title": "Reason",
      +  "type": "string"
      +}
    • addedOutput schema / properties / session_id
      Added value: +{
      +  "title": "Session Id",
      +  "type": "string"
      +}
    • removedOutput schema / properties / state
      Removed value: -{
      -  "const": "running",
      -  "title": "State",
      -  "type": "string"
      -}
    • addedOutput schema / properties / status
      Added value: +{
      +  "enum": [
      +    "running",
      +    "succeeded",
      +    "failed",
      +    "blocked",
      +    "cancelled",
      +    "timed_out"
      +  ],
      +  "title": "Status",
      +  "type": "string"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "invocation_id",
      -  "state"
      -]New value: +[
      +  "invocation_id",
      +  "status",
      +  "reason",
      +  "elapsed_ms"
      +]
    • changedOutput schema / title
      Previous value: -"StartAgentPayload"New value: +"InvocationPayload"
  13. Changed5 schema fields changedv0.5.0
    • changedInput schema / properties / prompt / description
      Previous value: -"Complete, self-contained task for the subagent."New value: +"Complete task, context, constraints, and expected output; the CLI does not inherit this conversation."
    • changedInput schema / properties / provider / description
      Previous value: -"Local subagent provider to launch."New value: +"CLI requested by the user, not a model ID. Providers permitted by this host configuration: antigravity, claude, codebuddy, codex, grok. Excluded providers: none. Exclusions are enforced before an invocation is created. Choose an installed, authenticated permitted CLI; if none is available, report the blocker instead of falling back to an excluded provider."
    • changedInput schema / properties / provider_options / description
      Previous value: -"Explicit provider-native options. Omit to inherit the provider's own settings; supported keys depend on the selected provider."New value: +"Explicit options for the selected CLI. Call describe_provider(provider) for supported keys and model/effort defaults; user choices override those defaults."
    • changedInput schema / properties / session_id / description
      Previous value: -"Provider session ID returned by an earlier finished invocation."New value: +"To continue a conversation, use the session_id returned by a finished invocation of the same provider; omit for a new conversation. Never use an invocation_id here."
    • changedInput schema / properties / timeout_seconds / description
      Previous value: -"Maximum provider runtime in seconds."New value: +"Total runtime limit in seconds; expiry stops the invocation."
  14. Changed1 schema field changedv0.3.0
    • changedInput schema / $defs / ProviderName / enum
      Previous value: -[
      -  "antigravity",
      -  "claude",
      -  "codebuddy",
      -  "grok"
      -]New value: +[
      +  "antigravity",
      +  "claude",
      +  "codebuddy",
      +  "codex",
      +  "grok"
      +]
  15. First observedv0.2.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructive=true, openWorld=true and non-idempotent, so the safety profile is covered. The description adds genuinely non-derivable behavior: reply settings are requested rather than effective, and undelivered ends/blockers/reviews must be picked up through wait. The asynchronous model is conveyed, though the phrasing is dense enough that a first-time agent may need to re-read it.

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

Conciseness3/5

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

There is no filler, but the four clipped clauses are not front-loaded around a single clear statement of what the call does, and phrases like 'unreceived flags undelivered ends/blockers/reviews for wait' are close to unparseable on first read. Brevity here costs comprehension rather than buying it.

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?

An output schema exists, so return values need no explanation, and 85% parameter coverage fills most of the rest. But for a 13-parameter, destructive, open-world tool the description says nothing about what the returned invocation_id is for beyond routing it to wait, what failure looks like, or the distinction between a new task and a resumed thread.

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 description coverage is 85%, so the schema already documents cwd, role, seat, title, provider, session_id and provider_options in detail. The description's only parameter-adjacent content is the invocation_id-vs-session_id warning, which the session_id schema field already states verbatim ('never invocation_id'). Baseline 3 applies.

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?

The opening clause 'Start a private CLI task' gives a concrete verb and resource, and the follow-up ('invocation_id goes to wait') distinguishes this from the wait/cancel siblings. However, 'private CLI task' is internal jargon that an agent must infer means spawning a background agent process; the title carries more of the explanation than the description does.

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

Usage Guidelines4/5

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

It names the adjacent tools and the conditions that select them: results go to wait, stopping goes to cancel, and 'no deadline or messages to active tasks' states an exclusion. There is no guidance on when to start a new task versus resuming via session_id or using run_round, which leaves the main sibling-routing decision unstated.

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