SecondBrain/reference/claude-code-tool-schema-cos...

32 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
summary: 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).
tags:
- type/reference
- tool/claude-code
scope: global
type: reference
source: cc-os docs/plans/b2-profile-overlays.md (follow-on section, 2026-07-08)
date: 2026-07-08
last_updated: 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.json` removes 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_use` names across
`~/.claude/projects/**/*.jsonl` transcripts. 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]]