Documents 24 tools found in Claude.app binary (app.asar/index.js) that are not listed in the deferred tools system-reminder. Organized into 7 categories: - Widget Tools (2): inline SVG/HTML rendering via @ant/imagine-server - Preview Tools (13): dev server and browser preview in code tasks - Computer Use (1, 13 actions): desktop automation via screenshot-then-act - Terminal & Roots (2): IDE-plugin-only terminal reader and MCP roots - Office Add-in (5): Excel/Word/PowerPoint integration via Claude add-in - Conversation (1): internal compaction service, not user-callable - Feature Flags & Codenames: flags, codenames, Swift APIs, config keys Each tool includes verification status (CONFIRMED/NOT FOUND/UNTESTED), parameter schemas, and session-type availability matrix. Tone cleanup: removed speculative language per CLAUDE.md style guide. States facts from binary analysis, marks unverified claims explicitly.
7.1 KiB
Computer Use Tools (mcp__computer-use__*)
Status: The computer tool exists under mcp__Claude_in_Chrome__computer in Dispatch sessions (verified via ToolSearch and Chrome tab context). The standalone mcp__computer-use__* namespace was not found in deferred tools — it requires an explicit computer-use MCP connection. The Chrome-based computer tool includes all 13 actions documented below.
Verified: 2026-03-19. mcp__Claude_in_Chrome__computer screenshot action tested and working in Dispatch.
Full desktop automation via screenshot-then-act loop. Registered as a dynamic MCP server — tools appear as mcp__computer-use__* in the deferred tools list only when the computer-use MCP is connected.
Priority order (from system prompt):
- Dedicated MCP for the app (Slack, Gmail, etc.) — fastest, most precise
- Chrome MCP (
mcp__Claude in Chrome__*) — DOM-aware, faster than pixels - Computer use — only when neither above fits (native desktop apps, cross-app workflows)
computer
The single tool that handles all desktop interactions through an action parameter.
Parameters
| Param | Type | Required | Description |
|---|---|---|---|
action |
string (enum) | yes | One of 13 actions (see below) |
coordinate |
[number, number] | varies | (x, y) pixel coordinates from top-left. Required for click/scroll actions. For left_click_drag, this is the end position. |
text |
string | varies | Text to type (for type) or key(s) to press (for key). For key: space-separated, supports modifier combos like "cmd+a" or "ctrl+a". |
duration |
number | for wait |
Seconds to wait. Max 5 seconds. |
scroll_direction |
string (enum) | for scroll |
"up", "down", "left", "right" |
scroll_amount |
number | no | Scroll wheel ticks (1-10). Default: 3. |
start_coordinate |
[number, number] | for left_click_drag |
Starting position for drag. |
region |
[number, number, number, number] | for zoom |
(x0, y0, x1, y1) rectangle to capture. |
repeat |
number | no | Times to repeat key sequence (1-100). Default: 1. Only for key action. |
ref |
string | for scroll_to |
Element reference ID from read_page or find tools (e.g., "ref_1"). Can substitute for coordinate in click actions. |
modifiers |
string | no | Modifier keys for clicks: "ctrl", "shift", "alt", "cmd"/"meta", "win"/"windows". Combine with "+" (e.g., "ctrl+shift"). |
tabId |
number | yes | Tab ID — must be in current group. Use tabs_context_mcp first. |
save_to_disk |
boolean | no | For screenshot/zoom: save image to disk so it can be attached to a message. Returns saved path. |
Actions
| Action | Description | Required Params |
|---|---|---|
left_click |
Left mouse click | coordinate or ref, tabId |
right_click |
Right mouse click (context menus) | coordinate or ref, tabId |
double_click |
Double left click | coordinate or ref, tabId |
triple_click |
Triple left click | coordinate or ref, tabId |
type |
Type text string | text, tabId |
screenshot |
Take screenshot of the screen | tabId |
wait |
Wait N seconds | duration, tabId |
scroll |
Scroll at coordinates | coordinate, scroll_direction, tabId |
key |
Press keyboard key(s) | text, tabId |
left_click_drag |
Drag from start to end | start_coordinate, coordinate, tabId |
zoom |
Capture region for close inspection | region, tabId |
scroll_to |
Scroll element into view by ref ID | ref, tabId |
hover |
Move cursor without clicking (tooltips, dropdowns, hover states) | coordinate or ref, tabId |
Notes
- Every action requires
tabId— calltabs_context_mcpfirst - Key combos use platform modifier: "cmd" on Mac, "ctrl" on Windows/Linux
save_to_diskreturns a file path — only use when sharing the screenshot with the user- Click positioning tip from system prompt: "cursor tip in the center of the element, don't click edges"
Access Flow: request_access
Before any computer-use action, request_access must be called with the list of applications needed. This is a permission handler invoked as computer:request_access — it functions like a tool call but goes through the permission system.
Input
| Param | Type | Description |
|---|---|---|
apps |
array | List of applications to request access to |
Tiered App Access
| App Category | Tier | What's Allowed |
|---|---|---|
| Browsers (Safari, Chrome, Firefox, Edge, Arc, etc.) | read |
Visible in screenshots, but clicks and typing blocked. Use Chrome MCP instead. |
| Terminals & IDEs (Terminal, iTerm, VS Code, JetBrains, etc.) | click |
Visible and left-clickable, but typing/key presses/right-click restricted. |
| All other apps | full |
Full access — screenshots, clicks, typing, all interactions. |
Returns
| Field | Type | Description |
|---|---|---|
granted |
array | Apps that were approved with their bundleId and tier |
denied |
array | Apps that were denied with bundleId and reason ("user_denied") |
flags |
object | Permission flags |
Notes
- User approves each application explicitly via a dialog
- May need to call again mid-task if another app is needed
- Browser tier (
read) is a hard restriction — use Chrome MCP for browser interaction - Terminal tier (
click) blocks typing — use bash tools for terminal interaction
Teach Mode: request_teach_access + teach_step
An interactive walkthrough system for showing users how to do something on their screen. This is the system behind the chicago codename (see feature-flags-and-codenames.md).
Trigger: When a user wants to be "walked through" or "shown how" to do something, the model offers a choice between (1) interactive walkthrough and (2) text explanation.
Flow
- Call
request_teach_access— activates teach mode for the session - Call
teach_steprepeatedly — each step shows the user what to do - The user follows along; teach mode tracks their progress
- Session ends when user exits or all steps complete
Internal state
teachModeActive(boolean) — whether teach mode is runningteachModeEnteredAt(timestamp) — when teach mode startedcuLockAcquiredAt(timestamp) — when computer use lock was acquired
Notes
- These are not standard tool registrations — they're handled by the teach mode subsystem
teach_stepreturns a Promise that resolves when the user takes action ({action: "exit"}etc.)- Only one pending teach step at a time — a new one auto-resolves the previous as "exit"
- The
isChicagoEnabledfeature flag forces teach mode enabled regardless of GrowthBook config chicagoAutoUnhide(default: true) andchicagoUserDeniedBundleIds(default: []) control teach mode UX
Computer Use Lock System
Computer use has a session-level lock to prevent multiple CU sessions from conflicting:
- Only one session can hold the CU lock at a time
- Lock tracks duration held and whether teach mode was active
- Release triggers include: session end, explicit release, teach mode exit