{
  "schema": "varexis-index-free-publication-preview/1",
  "catalogue_version": "ice-09-tranche-68-v1",
  "route_id": "agentic_reviewed_claude_sdk_canusetool_shadowed_approval_path",
  "record_id": "VXI-EXT-ICE09-CLAUDE-SDK-CANUSETOOL-SHADOWED-APPROVAL-PATH-01-v1",
  "question": "Does a canUseTool callback review every Claude SDK tool call?",
  "answer": "No. The captured documentation says bypassPermissions or a bare-tool allowedTools entry can approve calls before canUseTool, subject to documented exceptions. The TypeScript SDK warns about these configurations with CLAUDE_SDK_CAN_USE_TOOL_SHADOWED; the warning does not block calls or change options. For checks required on every tool call, the documentation directs developers to PreToolUse hooks.",
  "records": [
    {
      "record_id": "VXI-EXT-ICE09-CLAUDE-SDK-CANUSETOOL-SHADOWED-APPROVAL-PATH-01-v1",
      "url": "/varexis-index/records/claude-sdk-canusetool-shadowed-approval-path.json",
      "content_sha256": "a68a9d2a59b84286d08a57ce51e3593f2a85242746af8f89f342a9fe99b21774",
      "evidence": {
        "schema": "varexis-public-evidence-record/0.3",
        "generated_at_utc": "2026-10-30T15:17:58.235744+00:00",
        "record_id": "VXI-EXT-ICE09-CLAUDE-SDK-CANUSETOOL-SHADOWED-APPROVAL-PATH-01-v1",
        "record_kind": "external_reference",
        "title": "Does a canUseTool callback review every Claude SDK tool call",
        "system": "Anthropic",
        "evidence_family": "vendor_evidence_review",
        "index_status": "PUBLIC_SAFE_SOURCE_REVIEW",
        "evidence_state": "PRIMARY_DOCUMENTATION_REVIEW_ONLY",
        "canonical_question": "Does a canUseTool callback review every Claude SDK tool call?",
        "near_questions": [
          "Why is my canUseTool callback not called?",
          "Can an allowedTools entry bypass callback review?",
          "Does the shadowed callback warning stop execution?",
          "Where should checks run if every tool call needs inspection?"
        ],
        "supported_claims": [
          {
            "claim": "No. The captured documentation says bypassPermissions or a bare-tool allowedTools entry can approve calls before canUseTool, subject to documented exceptions. The TypeScript SDK warns about these configurations with CLAUDE_SDK_CAN_USE_TOOL_SHADOWED; the warning does not block calls or change options. For checks required on every tool call, the documentation directs developers to PreToolUse hooks.",
            "reliance": "DOCUMENTED_CAPABILITY_ONLY"
          }
        ],
        "not_demonstrated_claims": [
          "For every-call inspection use the documented earlier hook boundary; callback installation is not complete coverage.",
          "Buyer implementation, live runtime enforcement, settled payment, verified deletion or certification are not established.",
          "No expanded capabilities or licences for existing INDEX executables."
        ],
        "public_summary": "No. The captured documentation says bypassPermissions or a bare-tool allowedTools entry can approve calls before canUseTool, subject to documented exceptions. The TypeScript SDK warns about these configurations with CLAUDE_SDK_CAN_USE_TOOL_SHADOWED; the warning does not block calls or change options. For checks required on every tool call, the documentation directs developers to PreToolUse hooks.",
        "related_record_ids": [],
        "source_review": {
          "source_type": "official_external_documentation",
          "source_title": "Anthropic primary documentation: claude permissions valid",
          "source_url": "https://code.claude.com/docs/en/agent-sdk/permissions.md",
          "checked_on": "2026-10-30",
          "candidate_record_id": "VXI-EXT-ICE09-CLAUDE-SDK-CANUSETOOL-SHADOWED-APPROVAL-PATH-01-v1",
          "candidate_record_sha256": "f4155e0656fad8463215c4808f3437fbf72226731dcf1ebc43477c4bf325e869",
          "method": "Primary documentation reviewed for the published bounded statement.",
          "deployment_tested_by_varexis": false,
          "revalidation": "The delivered snapshot preserves the review date shown. Recheck current primary documentation and deployment context before relying on present applicability; payment does not trigger fresh research."
        },
        "answer_policy": {
          "classification": "DOCUMENTED_WITH_DEPLOYMENT_BOUNDARY",
          "bounded_answer": "No. The captured documentation says bypassPermissions or a bare-tool allowedTools entry can approve calls before canUseTool, subject to documented exceptions. The TypeScript SDK warns about these configurations with CLAUDE_SDK_CAN_USE_TOOL_SHADOWED; the warning does not block calls or change options. For checks required on every tool call, the documentation directs developers to PreToolUse hooks.",
          "required_buyer_context": "allowedTools; mode; hook placement; observations; SDK version. Buyer deployment not inspected.",
          "missing_evidence": "A broader claim needs evidence matching the intended use. Payment does not upgrade the evidence state."
        },
        "private_boundary": "Raw logs, thresholds, private paths, source code, protected mechanisms and reconstruction-level details are excluded from public and paid delivery.",
        "decision_profile": {
          "schema": "varexis-vendor-evidence-review/1",
          "review_status": "documentation_review_only",
          "applicability_status": "Rolling Claude Agent SDK/Claude Code documentation captured 2026-10-30; the named warning is TypeScript SDK-specific; installed version and deployed coverage unverified.",
          "checked_on": "2026-10-30",
          "claim_to_check": "Does a canUseTool callback review every Claude SDK tool call?",
          "documented_statement": {
            "status": "documented",
            "statement": "No. The captured documentation says bypassPermissions or a bare-tool allowedTools entry can approve calls before canUseTool, subject to documented exceptions. The TypeScript SDK warns about these configurations with CLAUDE_SDK_CAN_USE_TOOL_SHADOWED; the warning does not block calls or change options. For checks required on every tool call, the documentation directs developers to PreToolUse hooks.",
            "source_ids": [
              "claude-permissions-valid"
            ]
          },
          "review_inference": {
            "status": "review_inference",
            "statement": "Does a canUseTool callback review every Claude SDK tool call? For every-call inspection use the documented earlier hook boundary; callback installation is not complete coverage. Claude callback coverage differs from Responses API MCP approval semantics. This is an operational review inference, not an observed deployment outcome.",
            "source_ids": [
              "claude-permissions-valid"
            ]
          },
          "buyer_evidence_required": [
            "allowedTools",
            "mode",
            "hook placement",
            "observations",
            "SDK version"
          ],
          "review_condition": {
            "status": "varexis_review_policy",
            "statement": "For every-call inspection use the documented earlier hook boundary; callback installation is not complete coverage."
          },
          "unknowns": "The buyer implementation, effective authority, source-data completeness and actual business outcomes were not inspected.",
          "unknown_finding": {
            "status": "unknown",
            "statement": "No buyer deployment or transaction was observed."
          },
          "evidence_sources": [
            {
              "source_id": "claude-permissions-valid",
              "url": "https://code.claude.com/docs/en/agent-sdk/permissions.md",
              "final_url": "https://code.claude.com/docs/en/agent-sdk/permissions.md",
              "captured_at_utc": "2026-10-30T14:24:35.036486+00:00",
              "status": 200,
              "content_type": "text/markdown; charset=utf-8",
              "bytes": 33157,
              "sha256": "3397602f7b8540462ef7795268b02a0bc895c95c1d32413237bee92bbeb1cb3a",
              "title": "Anthropic primary documentation: claude permissions valid",
              "publisher": "Anthropic",
              "checked_on": "2026-10-30",
              "capture_status": 200,
              "claim_review_completed": true,
              "hash_basis": "SHA-256 of captured HTTP response-body bytes; not a signature or factual guarantee.",
              "version_context": "Rolling Claude Agent SDK/Claude Code permission documentation captured 2026-10-30; apply only after checking the installed SDK/runtime version; deployed enforcement unverified.; Rolling Claude Agent SDK/Claude Code documentation captured 2026-10-30; the subagent bypassPermissions-value exception requires Claude Code v2.1.267+; deployed behavior unverified.; Rolling Claude Agent SDK/Claude Code documentation captured 2026-10-30; the named warning is TypeScript SDK-specific; installed version and deployed coverage unverified.",
              "rights_disposition": "Original bounded paraphrase with source attribution. Captured source body remains private; no source-body redistribution. Vendor documentation rights, code licences and marks are not transferred.",
              "reviewed_sections": [
                "**2. Deny rules**",
                "The subagent inherits",
                "CLAUDE_SDK_CAN_USE_TOOL_SHADOWED"
              ]
            }
          ],
          "observed_deployment": false,
          "commercial_reliance_boundary": "Documentation supports only the stated boundary. Existing licensed checkers analyse supported supplied declarations locally; they do not inspect provider accounts, verify live behaviour, enforce decisions or certify compliance.",
          "paid_value": {
            "decision_context": "Does a canUseTool callback review every Claude SDK tool call? For every-call inspection use the documented earlier hook boundary; callback installation is not complete coverage.",
            "free": "Complete source review, questions, provenance and limitations; free to read and save locally.",
            "single_request": "Unavailable for this publication-only record; historical saved retrieval is unchanged.",
            "evidence_receipt": "Unavailable for this publication-only record; no paid retrieval entitlement is added.",
            "excluded": [
              "Fresh source research",
              "Native provider integration or schema support",
              "Live inspection or runtime enforcement",
              "Payment settlement or verified deletion",
              "Certification or expanded licences"
            ],
            "integrity": "Hashes identify content versions; they do not prove factual truth or provide a signature."
          },
          "revalidation": {
            "trigger": "Recheck current primary documentation and the applicable API, service, account and configuration before reliance. No ongoing monitoring is included.",
            "specific_watch": "CLAUDE_SDK_CAN_USE_TOOL_SHADOWED"
          },
          "buyer_relevance": "Does a canUseTool callback review every Claude SDK tool call? For every-call inspection use the documented earlier hook boundary; callback installation is not complete coverage.",
          "refusal_conditions": [
            "For every-call inspection use the documented earlier hook boundary; callback installation is not complete coverage.",
            "Do not infer deployment conformance, authority or successful outcomes from source documentation."
          ],
          "decision_context": {
            "operator": "Identity administrator or delegated-access reviewer",
            "scenario": "Does a canUseTool callback review every Claude SDK tool call?",
            "consequence": "For every-call inspection use the documented earlier hook boundary; callback installation is not complete coverage.",
            "confidence": "High for the explicitly bounded captured clause; conflicts and version limits retained; deployment untested."
          },
          "novelty_review": {
            "candidate_id": "ICE09-215",
            "disposition": "EXTENSION",
            "nearest_record_id": "VXI-EXT-OAI-AGENTS-GR-03-v1",
            "nearest_record_url": "/varexis-index/records/agent-tool-guardrail-coverage.json",
            "nearest_record_sha256": "ab5bfc323f219f4d8765eba5b342dcb5f0263d9f70e6ccb7438cd6c463fe1881",
            "material_distinction": "Claude callback coverage differs from Responses API MCP approval semantics.",
            "review_status": "PASS: source qualification plus independent reviewer challenge and resolved corrections"
          },
          "optional_selection": {
            "guide_id": "delegated-agent-identity-continuity",
            "guide_url": "/index-guides/delegated-agent-identity-continuity",
            "guide_manifest": "/varexis-index/decision-guides.json",
            "checker": {
              "product_id": "agent-tool-admission",
              "price_gbp_excluding_vat": 49,
              "purchase_url": "/index-access?route=agentic_pack_tool_admission_v1",
              "licence_scope": "Existing separate internal-use licence; subscriptions do not include the executable.",
              "benefit": "Optional local analysis of supported supplied declarations only; no native provider integration or verification is added."
            },
            "boundary": "Optional existing checker analyses its supported supplied declarations locally. It does not connect to the documented provider, import native provider exports, verify tokens, establish live outcomes or extend its schema or licence."
          },
          "exact_access": {
            "endpoint": "/mcp/catalogue",
            "tool": "get_publication_record",
            "arguments": {
              "record_id": "VXI-EXT-ICE09-CLAUDE-SDK-CANUSETOOL-SHADOWED-APPROVAL-PATH-01-v1"
            },
            "record_url": "/varexis-index/records/claude-sdk-canusetool-shadowed-approval-path.json",
            "original_mcp_search": false,
            "paid_saved_retrieval": false
          }
        },
        "niche": {
          "niche_id": "ice09-identity",
          "label": "Agent Identity, Credentials & Delegation",
          "classification_id": "identity",
          "classification_label": "Agent Identity, Credentials & Delegation",
          "topic_id": "identity",
          "buyer_intent": "Does a canUseTool callback review every Claude SDK tool call? For every-call inspection use the documented earlier hook boundary; callback installation is not complete coverage.",
          "comparison_role": "supplementary_discovery"
        },
        "paid_access_note": "The full published answer and boundaries are free. Paid access saves the selected route and source versions, with an unsigned receipt when purchased. Preview coverage before paying. Fresh research, bespoke assessment and protected evidence are excluded.",
        "service_route": {
          "request_guide": "/varexis-index/request.html",
          "request_workflow": "/varexis-index/request-workflow.json",
          "service_id": "single_request",
          "service_routes_url": "/varexis-index/service-routes.json",
          "payment_required": true,
          "availability_endpoint": "/api/index/capabilities",
          "operational_status": "AUTOMATIC_SERVICE_CAPABILITIES_GATED",
          "checkout_url": "/index-access"
        },
        "authority_boundary": "VAREXIS-INDEX informs evidence reliance. It does not provide advice, certification, deployment authority, security assurance, production approval, or guarantee.",
        "human_page": "/varexis-index/catalog.html#claude-sdk-canusetool-shadowed-approval-path",
        "machine_readable_record": "/varexis-index/records/claude-sdk-canusetool-shadowed-approval-path.json"
      }
    }
  ],
  "access": {
    "mode": "exact_http_only",
    "payment_required": false,
    "purchase_url": null,
    "mcp_preview_available": false,
    "paid_saved_retrieval_available": false,
    "natural_language_search_qualified": false
  },
  "boundary": "Catalogue additions are available free through the exact HTTP JSON links below. Enhanced natural-language discovery is not yet qualified for these records. They are outside MCP search, MCP preview and paid saved retrieval. No search qualification, executable capability or entitlement is added.",
  "content_sha256": "403d606df94f4ad05a110fe120e1de2dd2174f60d7b91ef574d488b46f47b587"
}
