1.7 KiB
1.7 KiB
| summary | tags | scope | type | source | date | last_updated | ||
|---|---|---|---|---|---|---|---|---|
| Claude Code's non-deferred built-in tool schemas cost ~18k tokens/session; the Workflow schema alone is ~6k, and a permissions.deny block in settings.json removes unused tools' schemas entirely (measured −6.5k for four never-used tools). |
|
global | reference | cc-os docs/plans/b2-profile-overlays.md (follow-on section, 2026-07-08) | 2026-07-08 | 2026-07-08 |
Claude Code tool schemas: where the ~18k goes, and the YAGNI deny lever
Measured 2026-07-08 (headless haiku, --output-format json usage totals).
- The ~29k empty-dir context floor = ~6.3k system-prompt text + ~18k built-in tool schemas + ~4.8k user stack. ToolSearch deferral only covers the optional tier (Cron, LSP, NotebookEdit, Monitor, web tools…) — core schemas ship every request.
- Workflow's schema alone is ~6k tokens (−5,982 when disallowed) — about the size of the entire system-prompt text.
"permissions": {"deny": ["Workflow", ...]}in~/.claude/settings.jsonremoves the denied tools' schemas from context, identical to--disallowedTools(22,532 vs 22,536 measured) — so a global deny needs no wrapper or flags.- Ground truth for "which tools do I actually use": count
tool_usenames across~/.claude/projects/**/*.jsonltranscripts. Five weeks of data (2026-06→07) showed zero-or-one lifetime calls to Workflow, Artifact, SendUserFile, ReportFindings → denied globally (−6.5k/session). Revert by removing the deny entry if Workflow ("ultracode" multi-agent orchestration) is ever wanted.
Related: claude-code-setting-sources-silent-plugin-drop, cc-os-hub