Files
frmorettoandClaude Opus 4.6 a7197e5534 Edition 1.4: 37 tools, 4 platforms, 13 corrections, 2 contributors
9 new tool cards (29–37): iOS Reminders CRUD suite (5 tools),
visualize:show_widget, gmail_create_draft, anthropic_api_in_artifacts,
persistent_storage. 13 v1.3 corrections including user_time/location
reclassified as always-loaded, memory_user_edits 500-char limit,
chart_display_v0 intermittent (not deterministic), window.storage
session-scoped. New sections: MCP connector state, artifact execution
layer, Project context behavior. iOS split from Android as distinct
platform. Contributors: anonymous security researcher, DMontgomery40.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 19:29:02 +01:00

68 lines
4.1 KiB
Markdown

# CLAUDE.md — Instructions for Claude Code
## Project Overview
This is "Claude's Hidden Toolkit" — a living technical book documenting Claude.ai's undocumented internal tools. The book reverse-engineers 37 tools across four platforms (browser, desktop app, Android, iOS) with confirmed schemas, response formats, and behavioral patterns. Edition 1.4 includes contributions from two external researchers.
## Repository Structure
```
Claude_Hidden_Toolkit.md # The book (source of truth — all edits here)
README.md # GitHub landing page
CLAUDE.md # You are here
AGENTS.md # General AI agent context
CHANGELOG.md # Edition history with detailed changes
CITATION.cff # Academic citation metadata
CONTRIBUTING.md # Contribution guidelines
SECURITY.md # Responsible disclosure policy
LICENSE # CC BY 4.0
```
## Key Rules
1. **The .md file is the source of truth.** All content edits happen here.
2. **All tool claims must be empirically verified.** No speculative schemas. If you haven't tested it, mark it as unverified.
3. **Platform matters.** Every tool claim must specify which platform(s) it applies to: browser, desktop app, Android, iOS, or all. iOS and Android are distinct — iOS has 5 additional Reminders tools.
4. **MCP connector state matters.** Some tools are only available when specific connectors (Gmail, Calendar) are active. State this explicitly.
5. **Figure numbering is sequential.** If adding figures, continue the sequence. Never use letter suffixes (e.g., fig_14b).
6. **Tool cards follow a strict template.** See Appendix C in the book for the template. Every card needs: quick facts table, overview, parameters table, example call with JSON, "When Claude Uses It" table, "Watch Out" section, and platform availability table.
7. **Contributor privacy.** The anonymous security researcher must only be referenced as "An independent security researcher who prefers to remain anonymous." Never use their real name anywhere.
## Writing Style
- Technical but accessible — assume the reader is a developer or power user
- No hedging without evidence — say "confirmed" or "not tested", never "probably"
- Use backtick formatting for all tool names, parameter names, and code
- Tables over bullet lists for structured comparisons
- Blockquotes (>) for figure placeholders and warnings
## Tool Naming Conventions
- Always-loaded tools: `web_search`, `memory_user_edits`, etc.
- Deferred tools (mobile only): `alarm_create_v0`, `chart_display_v0`, etc.
- Always-loaded on mobile (not deferred): `user_time_v0`, `user_location_v0`
- MCP connector tools: `gmail_create_draft`, `gcal_list_calendars`, etc.
- Artifact-layer tools: `anthropic_api_in_artifacts`, `persistent_storage`
- Visualization: `visualize:show_widget` (colon-namespaced, desktop/browser only)
- iOS-only tools: `reminder_create_v0`, `reminder_search_v0`, etc.
- Version suffixes: `_v0` = initial/experimental, `_v1` = breaking change upgrade
- Unversioned tools are considered stable
- Ghost tools (schema-present, not deployed): `gmail_send_draft`, `gmail_modify_thread`
## Architecture Quick Reference
- `chart_display_v0` (mobile only) and `visualize:show_widget` (desktop/browser only) are mutually exclusive by surface
- `window.storage` / `persistent_storage` is session-scoped only — "persistent" naming is misleading
- `anthropic_api_in_artifacts` works in React artifacts (desktop + browser), blocked in HTML artifacts by CSP
- MCP connector state changes the always-loaded tool pool — this is a v1.4 finding
- Project context does not change tool behavior
## What Not To Do
- Don't add tools without cross-platform verification
- Don't change the figure numbering scheme without renumbering all references
- Don't remove the [Upcoming] tags on figures — they indicate screenshots pending capture
- Don't merge the .md living repository links with personal GitHub links — they serve different purposes
- Don't use the anonymous contributor's real name — ever, anywhere
- Don't document ghost tools as functional — they exist in schema only