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

32 lines
1.7 KiB
Markdown
Raw Normal View History

2026-07-08 18:35:04 +00:00
---
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]]