Gated and Surface-Specific Tools
These tools appear only when a gate, a plan, or a session mode turns them on.
Most of them serve onboarding, design work, connectors, or self-hosted runners.
For example, PushNotification sends a notice to your terminal when a long task ends.
For most of them a server-side flag decides. So you cannot switch them on yourself.
These tools work only if your account, plan, or session mode has the gate on. A hidden server-side flag decides, with few exceptions. A few have an env var or setting, such as CLAUDE_CODE_SKILL_PROPOSALS.
Gated Tools
All of these are available in the main session only. Background subagents do not keep them, unless the Notes column says otherwise.
Tools explains the Yes and No columns.
Source: Tools Reference for the tools marked as documented, and the program (the tool definitions and their searchHint text) for the rest.
| Tool | Status | What It Does | Parameters and Gate | Read-Only | Parallel | Deferred |
|---|---|---|---|---|---|---|
Read | Undocumented: Only the program shows this item. It can change without notice. Gated: Works only behind a flag or a server gate. hidden server-side flag | Reads queued external notifications (webhooks, triggers). | No parameters. | ✅ | ✅ | ❌ |
Share | Documented: An official docs page names this item. Gated: Works only behind a flag or a server gate. hidden server-side flag | Uploads ONBOARDING. and returns a team share link. | mode (check, update, create, delete, default check), short_ (string, optional). | ❌ | ❌ | ❌ |
Show | Undocumented: Only the program shows this item. It can change without notice. Gated: Works only behind a flag or a server gate. hidden server-side flag | Shows the Cowork onboarding role picker. | No parameters. | ❌ | ❌ | ❌ |
Offer | Undocumented: Only the program shows this item. It can change without notice. Gated: Works only behind a flag or a server gate. hidden server-side flag | Offers Claude in Chrome setup. | reason (string, max 200, optional). | ❌ | ❌ | ✅ |
Send | Undocumented: Only the program shows this item. It can change without notice. Gated: Works only behind a flag or a server gate. hidden server-side flag | Sends a message to the user (brief or assistant mode). | message (string, required, markdown), attachments (paths or file objects, optional), status (normal or proactive). Has an alias. | ✅ | ❌ | ❌ |
Send | Documented: An official docs page names this item. Gated: Works only behind a flag or a server gate. hidden server-side flag | Drafts product or model-behavior feedback. | type (enum), title (string, required), details (string, required), area, failure_, task_ (optional). | ❌ | ❌ | ❌ |
Suggest | Undocumented: Only the program shows this item. It can change without notice. Gated: Works only behind a flag or a server gate. hidden server-side flag | Renders a plugin install card. | context (string, max 128), plugins (1 to 16), trigger. | ❌ | ❌ | Runtime check |
Suggest | Undocumented: Only the program shows this item. It can change without notice. Gated: Works only behind a flag or a server gate. hidden server-side flag | Renders addable claude.ai skills by keyword. | keywords (1 to 8 strings, required), context, trigger. | ❌ | ❌ | Runtime check |
Fetch | Undocumented: Only the program shows this item. It can change without notice. Gated: Works only behind a flag or a server gate. hidden server-side flag | Reads a relayed inbox message from a linked thread. | file_ (string, required). | ✅ | ❌ | ✅ |
Publish | Undocumented: Only the program shows this item. It can change without notice. Gated: Works only behind a flag or a server gate. hidden server-side flag | Publishes a plugin or mod to the organization library. | path (string, required), destination (organization), description, replace (boolean), shown, question. | ❌ | ❌ | ✅ |
Artifact | Documented: An official docs page names this item. Gated: Works only behind a flag or a server gate. enableArtifact setting in the old page | Renders an HTML file to a claude.ai web page. | The saved sub-agents docs list Artifact among the tools a background subagent keeps. | ❌ | ❌ | ❌ |
Appifact | Undocumented: Only the program shows this item. It can change without notice. Gated: Works only behind a flag or a server gate. hidden server-side flag | Runs appifact SDK JavaScript against an artifact. | skill, artifact (strings, optional), code (string, required). | ❌ | ❌ | ❌ |
Send | Undocumented: Only the program shows this item. It can change without notice. Gated: Works only behind a flag or a server gate. hidden server-side flag | Sends files to another Claude Code session. | to (string, required), files (string array, 1 up to a maximum), message (optional). | ❌ | ❌ | ✅ |
Poll | Documented: An official docs page names this item. Gated: Works only behind a flag or a server gate. hidden server-side flag | Waits for and receives queued harness events. | No parameters. | ✅ | ❌ | ❌ |
Push | Documented: An official docs page names this item. Gated: Works only behind a flag or a server gate. hidden server-side flag | Sends a notification to the terminal and optionally to mobile. | message (string, required, under 200 characters), status (proactive). Also an entry-point rule for remote_. | ❌ | ❌ | ✅ |
Design | Undocumented: Only the program shows this item. It can change without notice. Gated: Works only behind a flag or a server gate. hidden server-side flag | Syncs local design system components to a claude.ai/design project. | method, project, path, writes, deletes, plan, files, paths, name, assets, local. | ❌ | ❌ | ✅ |
Claude | Undocumented: Only the program shows this item. It can change without notice. Gated: Works only behind a flag or a server gate. hidden server-side flag | Works with Claude Design projects. | operation, arguments (object, default {}). | ❌ | ❌ | ❌ |
Projects | Undocumented: Only the program shows this item. It can change without notice. Gated: Works only behind a flag or a server gate. allow_projects_tool policy and an attached project | Reads and writes the attached claude.ai project. | method union, with method-specific fields. | ❌ | ❌ | ❌ |
End | Documented: An official docs page names this item. Gated: Works only behind a flag or a server gate. hidden server-side flag | Ends the conversation (abuse, or on request). | No parameters. Removed from subagents. | ✅ | ❌ | ✅ |
Remote | Documented: An official docs page names this item. Gated: Works only behind a flag or a server gate. first-party login, allow_remote_sessions policy, not CLAUDE_CODE_REMOTE | Manages scheduled cloud agent routines. | action, trigger_, session_, cursor, body. | ❌ | ❌ | ✅ |
Search | Undocumented: Only the program shows this item. It can change without notice. Gated: Works only behind a flag or a server gate. hidden server-side flag | Finds MCP connectors by keyword. | keywords (1 to 8 strings). | ❌ | ❌ | ✅ |
Suggest | Undocumented: Only the program shows this item. It can change without notice. Gated: Works only behind a flag or a server gate. hidden server-side flag | Resolves MCP connector payloads by directory. | uuids (1 to 32 strings). | ❌ | ❌ | Runtime check |
List | Undocumented: Only the program shows this item. It can change without notice. Gated: Works only behind a flag or a server gate. hidden server-side flag | Lists installed MCP connectors. | keywords (optional filter). | ❌ | ❌ | ✅ |
Send | Documented: An official docs page names this item. Gated: Works only behind a flag or a server gate. hidden server-side flag | Delivers files to the user. | files (string array), caption, status (normal or proactive), display (render or attach). | ❌ | ❌ | Runtime check |
propose_ | Undocumented: Only the program shows this item. It can change without notice. Gated: Works only behind a flag or a server gate. CLAUDE_CODE_SKILL_PROPOSALS or a remote entry point | Proposes skills from recurring procedures. It needs a remote environment (CLAUDE_ set). Since 2., a host launch with no disk also works when both CLAUDE_ and CLAUDE_ are set (the program). | proposals: an array of objects with name, kind (new or improvement), target, description, evidence, skill. | ❌ | ❌ | ❌ |
Plugin, Skill, and Browser Tools
Source: the program (the tool names and the input schemas in claude-code-tools.json). The program does not show a gate for these tools, except where the table gives one, and it does not show their read-only, parallel, or deferred flags here.
| Tool | Status | What It Does | Parameters and Gate |
|---|---|---|---|
List | Undocumented: Only the program shows this item. It can change without notice. | Lists plugins. | keywords (up to 8 strings, optional filter). Omit it to list everything. Gate not confirmed. |
List | Undocumented: Only the program shows this item. It can change without notice. | Lists skills. | keywords (up to 8 strings, optional filter). Omit it to list everything. Gate not confirmed. |
Search | Undocumented: Only the program shows this item. It can change without notice. | Searches plugins by keyword. | keywords (1 to 8 strings, required). Gate not confirmed. |
Search | Undocumented: Only the program shows this item. It can change without notice. | Searches skills by keyword. | keywords (1 to 8 strings, required). Gate not confirmed. |
Refresh | Undocumented: Only the program shows this item. It can change without notice. Gated: Works only behind a flag or a server gate. CLAUDE_CODE_ENABLE_REFRESH_MCP_TOOLS | Queries the tool list of connected MCP servers again and applies it. It never dials a server. | server (string, optional). Omit it to refresh all connected servers. Each result has a status of refreshed, error, or not_. |
enable__ | Undocumented: Only the program shows this item. It can change without notice. | Enables Claude in Chrome, the Claude extension in the Chrome browser on your computer, for the conversation. | Parameters and gate not confirmed. |
enable__ | Undocumented: Only the program shows this item. It can change without notice. | Enables the browser built into the Claude desktop app for the conversation. | Parameters and gate not confirmed. |
Self-Hosted Runner Tools
These nine tools exist only in self-hosted runner sessions. All are
| Tool | What It Does | Read-Only | Parallel |
|---|---|---|---|
self_ | Reads self-hosted environment aggregates and queue counts. | ✅ | ✅ |
self_ | Lists queued and assigned sessions in a self-hosted environment. | ✅ | ✅ |
self_ | Lists registered self-hosted runners for an environment. | ✅ | ✅ |
self_ | Lists self-hosted environment secrets (metadata only). | ✅ | ✅ |
self_ | Probes the local runner / endpoint. | ✅ | ✅ |
self_ | Reads runner Prometheus gauges from /. | ✅ | ✅ |
self_ | Requeues a stuck session onto another runner. | ❌ | ❌ |
self_ | Starts a local runner process for a try-out. | ❌ | ❌ |
self_ | Tails the runner log file with secret redaction. | ✅ | ✅ |
Tools without an Inventory Row
The inventory file does not list these tools, because their definitions do not use a plain searchHint text.
| Tool | Status | What It Does | How It Works | Available In | Read-Only | Parallel | Deferred |
|---|---|---|---|---|---|---|---|
Tool | Documented: An official docs page names this item. | Loads the schema of deferred tools. | See ToolSearch. | Main session and subagents. | ❌ | ❌ | ❌ |
Wait | Documented: An official docs page names this item. Gated: Works only behind a flag or a server gate. used when tool search is off | Waits for pending MCP servers. | Removed from subagents. | Main session. | ❌ | ❌ | ❌ |
Structured | Undocumented: Only the program shows this item. It can change without notice. | Returns the final JSON for -- runs. | Never deferred. | Main session in print mode. | ❌ | ❌ | ❌ |
List, Read, Read | Documented: An official docs page names this item. | List and read MCP resources. | Deferred. Offered when an MCP server has resources. | Main session. | ✅ | ✅ | ✅ |
Agents, Tasks, and Planning and Shell, Web, and Background Tasks list Agent, Monitor, ScheduleWakeup, Workflow, and SubagentHandback.
Result Fields New in 2.1.311
Source: AppifactReplResult, PollResult, and ProjectsResult in claude-code-tools.json, and the program.
| Field | Status | Tool and Result | Type | What It Means |
|---|---|---|---|---|
tools | Undocumented: Only the program shows this item. It can change without notice. | Appifact | Array of strings | The tools that the calls of the script's artifact reached, whose names the prompt of this conversation did not yet carry. The tool_ text opens with a line that names them. The program leaves the field out when the list is empty (chunk-, chunk-, chunk-). |
tools | Undocumented: Only the program shows this item. It can change without notice. | Poll | Array of strings | A list of tool names. The program leaves the field out when the list is empty (chunk-). The schema gives no description, so this page states only its name and type. |
local_ | Undocumented: Only the program shows this item. It can change without notice. | Projects, the project_ result | String | A path to a file that holds the project description and instructions in full, with long lines split. The program returns it when the two together are too long to return. Then description and instructions are empty strings. The file is for reading only. Edits to it do not change the project (chunk-, chunk-). |
The toolsUsed list is empty while the server flag tengu_silly_shore is off (default on) (chunk-35qty13k.js:101, chunk-2ht8z368.js:12649).
Example
Turn on skill proposals for one session. The tool also needs a remote environment (see the propose_skills row). So in a local terminal this line alone does not turn it on.
CLAUDE_CODE_SKILL_PROPOSALS=1 claude
How It Works
Claude Code builds a gated tool only when its gate passes. Gates are a login type, a policy, an entry point, an env var, or a server-side flag.
A tool with a server-side flag appears for some accounts and not for others. So the same version can show different tools.
Most of these tools are deferred. So Claude finds them with ToolSearch and not in the first tool list.
Errors
Each row is a family of messages. The backticked text is the start that every message in the family shares. A row marked Various gathers the messages of one feature that do not share one start.
| Start of Message | Status | What It Means | Cases |
|---|---|---|---|
| Various | Undocumented: Only the program shows this item. It can change without notice. | Artifact. The Artifact tool refused or could not finish a call. | An input no longer matches what was approved (action, url, type_, out_, or a file). So nothing was done. The call must be retried. An action is not available in this session or build. A required argument is missing or wrong (url, thread_, cursor, db_, collection, doc_, file_, asset_). A Read or Edit permission rule blocks the file. The page, the preview, or a database write could not be completed. |
| Various | Undocumented: Only the program shows this item. It can change without notice. | Claude Design. Design or Claude refused a call or could not reach Claude Design. | No plan token or an old one. Run finalize_ first. A path is reserved (CLAUDE. and .) or outside the finalized plan. A write needs a one-time approval or a project write grant that is not active. A request to Claude Design failed with an HTTP status, or the OAuth base URL is not on the first-party allowlist. |
| Various | Undocumented: Only the program shows this item. It can change without notice. | Projects. The Projects tool refused a read or write. | The session has no project attached. A write would put the project over its maximum size. if_ no longer matches the doc. The uploaded bytes do not match. The path is a file upload (project_ removes text docs only). |
| Various | Undocumented: Only the program shows this item. It can change without notice. | Computer use. A computer-use action was refused. | The platform is not supported. A key chord has too many components. The clipboard write did not round-trip. The session has no disk for the lock. A session context is missing. |
| Various | Undocumented: Only the program shows this item. It can change without notice. | Trigger tools. A trigger call was missing a required argument. | A caller used an action such as get, update, list_, run, or get_ without trigger_ or session_. A caller used create, update, or create_ without body. |