Skip to main content
Glama

chrome_use_type

Types text into a specified page element or the currently focused field, with options to clear first, send keystrokes for autocomplete, and press Enter to commit.

Instructions

Type text into an element (or, with no selector, whatever currently has focus).

Input Schema

NameRequiredDescriptionDefault
textYesText to type.
clearNoClear the field before typing.
enterNoPress Enter after typing (implies keyEvents) to commit an autocomplete candidate.
forceNoWith tabId: act on a tab this session does not own (the user's own, or another session's), in place and in the background (--tab <handle> --force). Only when the user asked you to act on that tab; the result has forced: true and the tab's title and url.
tabIdNoTarget tab id (e.g. t2), label, or targetId (--tab).
delayMsNoPer-key delay in ms.
observeNoObserve the action's effect (--observe): a page snapshot before and after, the change, and whether the page now waits for a person. Use it when the action should submit, save, pay or send, then confirm the effect with chrome_use_expect.
sessionNoIsolated session name (chrome-use --session <name>). Each session gets its own tab group, browser tab and element refs. Omit it unless several agents share ONE MCP server — the session is otherwise derived per agent automatically. When you do share a server with sibling agents, pass a name unique to you on every call, or you will drive their tabs and invalidate their refs.
selectorNoCSS selector or @ref to type into; omit to type into the focused element.
keyEventsNoSend real per-character keystrokes instead of a bulk insertText (needed for autocomplete widgets).
timeoutMsNoKill the underlying chrome-use process if it hasn't responded after this many ms (default 30000).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the entire burden and it does very little: it says nothing about focus requirements, whether existing content is replaced or appended (the `clear` flag exists in the schema but is unaddressed here), what happens if the selector doesn't match, or what the call returns. For a write-like interaction tool with eleven parameters, that is a substantial disclosure gap.

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?

A single compact sentence with the primary behavior front-loaded and the edge case tucked into a parenthetical. Nothing is wasted, though the brevity is partly the source of the gaps elsewhere.

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?

Eleven parameters and no output schema mean the description should do more than one sentence of work, especially about what a successful type returns and whether refs are invalidated. The rich per-parameter schema descriptions cover the mechanics, which keeps this at minimum-viable rather than inadequate.

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 100%, so the baseline is 3. The description only adds the omit-selector-equals-focused-element semantics, which is genuinely useful but is also restated in the selector parameter's own description. It adds nothing about `observe`, `session`, or `keyEvents` beyond what the schema already states.

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?

States a specific verb ('type text') and target ('an element'), and the parenthetical clarifies the fallback to the focused element when no selector is supplied. It is clear on its own, but does not differentiate itself from chrome_use_fill or chrome_use_press, which sit in the same sibling set and could plausibly overlap.

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

Usage Guidelines2/5

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

There is no explicit when-to-use, when-not-to-use, or alternative named. The closest thing is the parenthetical about typing into the focused element, which is a behavioral note rather than routing guidance. An agent must infer for itself whether to reach for this over chrome_use_fill.

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