Skip to main content
Glama

opencode_fire

Destructive

Dispatch durable background coding tasks to OpenCode and immediately receive job, session, and message IDs for tracking. Monitor with opencode_check or cancel with job_cancel.

Instructions

Dispatch a durable background task and return its job, session and message IDs immediately. Use opencode_check or opencode_wait to observe; job_cancel stops the task.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
agentNoOpenCode agent name
titleNoTitle for a new session
formatNoResponse format: plain text or JSON constrained by a JSON Schema. JSON Schema requires OpenCode permission for the StructuredOutput tool.
promptYesTask or instruction to send to OpenCode
modelIDNoModel ID from provider discovery
variantNoModel variant
directoryNoAbsolute path to the project directory. When provided, the request targets that project. If omitted, the OpenCode server uses its own working directory.
sessionIdNoExisting session to continue; omit to create one
providerIDNoProvider ID from provider discovery

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
textYes
errorNo
jobIdNo
resultNo
statusYes
isErrorYes
directoryNo
messageIdNo
sessionIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.0.0

TDQS

A4.4/5.0
Behavior4/5

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

The description informs that the task is durable, meaning it persists across failures, and that it returns immediately with IDs, indicating non-blocking behavior. This adds context beyond the annotations (readOnlyHint=false, destructiveHint=true) by explaining the operational semantics of background execution. It does not detail exactly how destructive it is, but the combination with annotations and the description is sufficient. The description doesn't contradict any annotations, as the destructive hint aligns with the fact that dispatching a task may have side effects.

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

Conciseness5/5

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

Two concise sentences that state the core action, the immediate return, and the follow-up tools. No redundant or irrelevant information. The information is well-structured, with the main purpose first and usage guidance second. Perfectly sized for quick understanding.

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

Completeness4/5

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

Given the tool's moderate complexity (9 params) and the presence of an output schema (describing the returned IDs), the description is nearly complete. It covers the purpose, key behavior, and next steps, which is crucial for an async tool. A minor gap is not mentioning any permission or auth requirements (e.g., for structured output), but the schema description already notes the StructuredOutput permission. So the description is adequate without repeating that. Thus, a 4 is justified as it covers the essential context for correct usage.

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?

The input schema already provides comprehensive descriptions for all 9 parameters (100% coverage). The description does not add extra param-specific detail, but the schema handles it. The description's focus on the tool's overall behavior, not individual parameters, is acceptable given the high schema coverage. No additional semantics needed beyond what's provided.

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?

Clearly states the tool dispatches a durable background task and immediately returns job, session, and message IDs. It uses a specific verb ('dispatch') with a defined resource (background task) and context ('durable'), distinguishing it from fire-and-forget or synchronous operations. The description is clear and unambiguous, separating it from sibling tools like opencode_run (synchronous) and opencode_message_send_async (no job handling).

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?

Explicitly states when to use this tool (to dispatch a background task) and directs users to alternatives: use opencode_check or opencode_wait to observe results, and job_cancel to stop the task. This gives clear guidance on the lifecycle and differentiates it from synchronous execution tools and other async tools like opencode_message_send_async. It also implies not to use this for synchronous interactions, guiding the agent to opencode_run or opencode_ask instead.

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

Deploy Server

Other Tools