Skip to main content
Glama

send_to

Send text or key presses to a specific agent or surface, with delivery receipts and verification status for each submission.

Instructions

Send text or a key through the shared delivery engine. Never send a Return yourself for a message; send_to submits messages. Key-Return is for pickers, menus, and permission prompts. Every receipt includes caller_agent_id (null when unknown). Workers with collab_path cannot address their own parent or ancestor leads in any mode; append to that collab file instead. Unknown callers remain allowed. Lead-originated and engine-internal pushes remain allowed. Targets may be one agent, structured agent targeting, or a raw surface in surface/command/key mode. A clean verified success returns up to six mode-specific core fields by default: text/command mode returns ok, retry_count, target identity, delivery_state, submitted, and delivery_id when available; key mode returns ok, retry_count, surface, key, submit_verified, and submit_verification_reason. A degraded transport, queued-behind-turn landing, or deduplicated send adds its warning or status field. Pass verbose=true for the full legacy receipt; non-success keeps full diagnostics automatically.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNoagent
textNoMax 2-3 short lines. Longer payloads BREAK the receiving pane — write the payload to a file and send one line: `Read and follow <path>`. Text to send. Capped at 500 inline UTF-8 bytes by default.
targetNo
surfaceNo
verboseNoReturn the full legacy success receipt, including transport and timing diagnostics. Failures always keep full detail.
agent_idNo
targetingNo
workspaceNo
allow_busyNoDeprecated no-op. Safety gates still refuse text at a picker/menu or permission prompt; use mode=key to drive those deliberately.
backgroundNo
chunk_sizeNo
press_enterNoPress enter after sending text
rename_to_taskNo
boot_prompt_pathNo
allow_long_inlineNoBypass the inline length and multi-paragraph safety guards for a deliberate raw send. Large allowed sends keep the existing chunked delivery behavior.
boot_prompt_timeout_msNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYes
keyNo
modelNo
titleNo
typedNo
healthNo
screenNo
statusNo
commandNo
surfaceNo
acceptedNo
agent_idNo
deliveryNo
receiptsNo
terminalNo
deliveredNo
agent_typeNo
delivery_idNo
done_markerNo
report_pathNo
retry_countYes
rpc_methodsNo
duplicate_ofNo
contract_pathNo
delivery_stateNo
registry_stateNo
state_conflictNo
needs_attentionNo
submit_evidenceNo
submit_verifiedNo
attention_reasonNo
submit_attemptedNo
boot_prompt_bytesNo
submit_dispatchedNo
boot_prompt_receiptNo
boot_prompt_warningNo
boot_prompt_deliveredNo
coordination_footer_noteNo
coordination_footer_bytesNo
boot_prompt_submit_verifiedNo
coordination_footer_deliveredNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.88

TDQS

A5/5.0
Behavior5/5

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

Discloses detailed behavior beyond annotations: it explains what a 'clean verified success' returns, how degraded transport or deduplication adds fields, and that verbose=true yields the full legacy receipt. It also notes that non-success automatically keeps full diagnostics. The annotations (readOnlyHint=false, destructiveHint=false) are not contradicted; the description adds rich behavioral context about receipts and edge cases without conflicting.

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?

While the description is long, it is dense with necessary information and front-loads the primary purpose and key usage rules. Each sentence contributes value: safety constraints, mode behavior, receipt structure, and edge-case exclusions. There is no fluff or tautology; the length is justified by the tool's complexity and 16 parameters.

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?

For a tool with 16 parameters, nested objects, and multiple modes, this description is remarkably complete. It covers target types, mode-specific return fields, failure behavior, the verbose flag, and the collab_path restriction. It also mentions unknown callers and allowed push sources. Nothing critical an agent needs to call this correctly appears missing.

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

Parameters5/5

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

With schema description coverage at only 31%, the description compensates significantly. It clarifies the 'target' parameter by stating targets may be 'one agent, structured agent targeting, or a raw surface in surface/command/key mode,' and explains mode-specific receipts (text/command vs key). It also interprets the 'verbose' parameter by describing the full legacy receipt. This adds substantial meaning to otherwise undocumented parameters.

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?

The description opens with a clear verb+resource: 'Send text or a key through the shared delivery engine.' It immediately establishes the tool's core function and distinguishes it from alternatives by explicitly stating that send_to submits messages rather than the agent sending Return itself, which clarifies its unique role among siblings like wait_for or read_screen.

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?

Provides explicit when-to-use and when-not-to-use guidance: 'Never send a Return yourself for a message; send_to submits messages. Key-Return is for pickers, menus, and permission prompts.' It also gives a concrete alternative for workers with collab_path: 'append to that collab file instead.' These are direct, actionable routing instructions that leave no inference.

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