InkdownInkdown
Start writing

Claude-Code

62 filesยท4 subfolders

Shared Workspace

Claude-Code
codex

0800_external_services_sdks_storage_and_local_dependencies

Shared from "Claude-Code" on Inkdown

External Integrations, Services, SDKs, Storage, And Execution Dependencies

High-Level Summary

This codebase talks to remote APIs, local OS services, shell tools, IDEs, browsers, and file-backed state. There is no traditional database dependency in the client code. Persistence is primarily local files plus OS keychain plus remote service APIs when the mode requires them.

Model APIs and providers

  • Anthropic first-party API via @anthropic-ai/sdk in services/api/claude.ts and services/api/client.ts.
0000_start_here_index_and_recommended_reading_order.md
0100_project_overview_tech_stack_runtime_modes_and_folder_map.md
0200_startup_flow_entry_points_and_cold_start_sequence.md
0300_codebase_modules_layers_state_models_and_schemas.md
0400_system_architecture_and_design_rationale.md
0500_interactive_repl_request_flow_end_to_end.md
0600_headless_sdk_and_print_mode_request_flow_end_to_end.md
0700_mcp_integration_connection_and_tool_call_flow.md
0800_external_services_sdks_storage_and_local_dependencies.md
0900_environment_variables_settings_feature_flags_and_failure_modes.md
1000_non_obvious_patterns_gotchas_and_debugging_traps.md
1100_full_codebase_file_inventory_grouped_by_directory.md
kimi
00-overview.md
01-entrypoints.md
02-state-management.md
03-query-system.md
04-tools-system.md
05-tasks-system.md
06-ui-components.md
07-bridge-remote.md
08-services.md
09-skills-plugins.md
10-commands.md
11-testing-architecture.md
12-permission-system.md
13-build-system.md
14-ink-internals.md
15-git-internals.md
16-context-compaction.md
17-vim-mode.md
18-mailbox-notifications.md
19-session-persistence.md
20-hooks-system.md
21-error-recovery.md
README.md
qwen
00-overview.md
01-entry-points.md
02-query-engine.md
03-tools-and-tasks.md
04-commands-and-skills.md
05-state-management.md
06-ink-rendering.md
07-bridge-remote.md
08-mcp-services.md
09-services-overview.md
10-multi-agent.md
11-system-prompt-constants.md
12-tool-interface.md
13-memory-system.md
14-buddy-companion.md
15-keybindings.md
16-stop-hooks.md
17-vim-mode.md
18-upstreamproxy.md
19-cost-tracking-history.md
20-contexts-styles-onboarding.md
21-hooks.md
22-screens.md
tweets-explain
claude-code-memory-analysis.md
compact
memory-system
agentic-architecture
  • AWS Bedrock via @aws-sdk/* and @anthropic-ai/bedrock-sdk in utils/model/bedrock.ts plus auth prefetch in utils/auth.ts.
  • Google Vertex AI via @anthropic-ai/vertex-sdk and google-auth-library in utils/auth.ts and provider resolution in utils/model/providers.ts.
  • Azure and Foundry via @azure/identity and @anthropic-ai/foundry-sdk in utils/auth.ts and services/api/claude.ts.
  • Feature flags, analytics, and observability

    • GrowthBook feature flags in services/analytics/growthbook.ts gate runtime behavior and internal rollouts.
    • OpenTelemetry exporters and tracing live under utils/telemetry/* and are initialized from entrypoints/init.ts.
    • Datadog and first-party event logging live under services/analytics/*.
    • BigQuery export support exists in utils/telemetry/bigqueryExporter.ts.

    MCP ecosystem

    • Model Context Protocol support uses @modelcontextprotocol/sdk/* in services/mcp/* and tools/MCPTool/*.
    • Claude.ai connector discovery and proxy config live in services/mcp/claudeai.ts and services/mcp/config.ts.
    • OAuth and XAA support for MCP servers live in services/mcp/auth.ts and services/mcp/xaaIdpLogin.ts.

    Remote control and hosted session services

    • CCR and session ingress APIs plus WebSockets are wired through bridge/*, remote/*, and utils/teleport/api.ts.
    • Remote managed settings and policy limits use services/remoteManagedSettings/* and services/policyLimits/*.
    • Settings sync upload and download live in services/settingsSync/index.ts.

    Developer ecosystem integrations

    • GitHub App install and review flows live in commands/install-github-app/*, commands/review/*, and utils/github/*.
    • Slack app install and setup lives in commands/install-slack-app/*.
    • IDE integrations and IDE-hosted MCP transports live in hooks/useIDEIntegration.ts, services/mcp/vscodeSdkMcp.ts, and utils/ide.ts.
    • Chrome and Claude-in-Chrome integration lives in utils/claudeInChrome/* with fast paths in entrypoints/cli.tsx.

    OS and local system dependencies

    • Git, tmux, ripgrep, shells, PowerShell, and other process utilities are used by utils/git.ts, utils/worktree.ts, tools/BashTool/*, and tools/PowerShellTool/*.
    • Keychain and secure storage helpers live under utils/secureStorage/*.
    • Managed device or registry reads live under utils/settings/mdm/*.
    • Persistent client state is file-backed through utils/sessionStorage.ts, utils/config.ts, and utils/settings/settings.ts.

    Package-Level Dependency Inventory

    anthropic
    • @anthropic-ai/bedrock-sdk
    • @anthropic-ai/claude-agent-sdk
    • @anthropic-ai/foundry-sdk
    • @anthropic-ai/mcpb
    • @anthropic-ai/sandbox-runtime
    • @anthropic-ai/sdk
    • @anthropic-ai/sdk/error
    • @anthropic-ai/sdk/resources
    • @anthropic-ai/sdk/resources/beta/messages.js
    • @anthropic-ai/sdk/resources/beta/messages/messages.mjs
    • @anthropic-ai/sdk/resources/index.mjs
    • @anthropic-ai/sdk/resources/messages.js
    • @anthropic-ai/sdk/resources/messages.mjs
    • @anthropic-ai/sdk/resources/messages/messages.mjs
    • @anthropic-ai/sdk/streaming.mjs
    • @anthropic-ai/vertex-sdk
    mcp
    • @modelcontextprotocol/sdk/client/auth.js
    • @modelcontextprotocol/sdk/client/index.js
    • @modelcontextprotocol/sdk/client/sse.js
    • @modelcontextprotocol/sdk/client/stdio.js
    • @modelcontextprotocol/sdk/client/streamableHttp.js
    • @modelcontextprotocol/sdk/server/auth/errors.js
    • @modelcontextprotocol/sdk/server/index.js
    • @modelcontextprotocol/sdk/server/stdio.js
    • @modelcontextprotocol/sdk/shared/auth.js
    • @modelcontextprotocol/sdk/shared/transport.js
    • @modelcontextprotocol/sdk/types.js
    cloud
    • @aws-sdk/client-bedrock
    • @aws-sdk/client-bedrock-runtime
    • @aws-sdk/client-sts
    • @aws-sdk/credential-provider-node
    • @aws-sdk/credential-providers
    • @azure/identity
    • google-auth-library
    telemetry
    • @opentelemetry/api
    • @opentelemetry/api-logs
    • @opentelemetry/core
    • @opentelemetry/exporter-logs-otlp-grpc
    • @opentelemetry/exporter-logs-otlp-http
    • @opentelemetry/exporter-logs-otlp-proto
    • @opentelemetry/exporter-metrics-otlp-grpc
    • @opentelemetry/exporter-metrics-otlp-http
    • @opentelemetry/exporter-metrics-otlp-proto
    • @opentelemetry/exporter-prometheus
    • @opentelemetry/exporter-trace-otlp-grpc
    • @opentelemetry/exporter-trace-otlp-http
    • @opentelemetry/exporter-trace-otlp-proto
    • @opentelemetry/resources
    • @opentelemetry/sdk-logs
    • @opentelemetry/sdk-metrics
    • @opentelemetry/sdk-trace-base
    • @opentelemetry/semantic-conventions
    ui
    • @commander-js/extra-typings
    • chalk
    • figures
    • ink
    • react
    • react-reconciler
    • react-reconciler/constants.js
    • react/compiler-runtime
    system
    • ajv
    • axios
    • cacache
    • chokidar
    • env-paths
    • execa
    • fuse.js
    • highlight.js
    • ignore
    • lru-cache
    • marked
    • picomatch
    • plist
    • proper-lockfile
    • qrcode
    • semver
    • shell-quote
    native
    • audio-capture-napi
    • audio-capture.node
    • bun:ffi
    • color-diff-napi
    • image-processor-napi
    • modifiers-napi
    • sharp
    misc
    • @alcalzone/ansi-tokenize
    • @ant/claude-for-chrome-mcp
    • @ant/computer-use-input
    • @ant/computer-use-mcp
    • @ant/computer-use-mcp/sentinelApps
    • @ant/computer-use-mcp/types
    • @ant/computer-use-swift
    • @growthbook/growthbook
    • @smithy/core
    • @smithy/node-http-handler
    • asciichart
    • auto-bind
    • bidi-js
    • bun:bundle
    • cli-boxes
    • cli-highlight
    • code-excerpt
    • diff
    • emoji-regex
    • fflate
    • get-east-asian-width
    • https-proxy-agent
    • indent-string
    • jsonc-parser/lib/esm/main.js
    • lodash-es
    • lodash-es/capitalize.js
    • lodash-es/cloneDeep.js
    • lodash-es/isEqual.js
    • lodash-es/isObject.js
    • lodash-es/isPlainObject.js
    • lodash-es/last.js
    • lodash-es/mapValues.js
    • lodash-es/memoize.js
    • lodash-es/mergeWith.js
    • lodash-es/noop.js
    • lodash-es/omit.js
    • lodash-es/partition.js
    • lodash-es/pickBy.js
    • lodash-es/reject.js
    • lodash-es/sample.js
    • lodash-es/setWith.js
    • lodash-es/sumBy.js
    • lodash-es/throttle.js
    • lodash-es/uniqBy.js
    • lodash-es/zipObject.js
    • p-map
    • signal-exit
    • stack-utils
    • stream
    • stream/promises
    • strip-ansi
    • supports-hyperlinks
    • tls
    • tree-kill
    • tty
    • turndown
    • type-fest
    • undici
    • url
    • url-handler-napi
    • usehooks-ts
    • util
    • v8
    • vm
    • vscode-jsonrpc/node.js
    • vscode-languageserver-protocol
    • vscode-languageserver-types
    • wrap-ansi
    • ws
    • xss
    • yaml
    • zlib
    • zod
    • zod/v4

    Storage And Queue Model

    • No relational or document database is present in the client codebase.
    • Durable local state is stored in config, settings, session, and plugin-cache files managed by utils/config.ts, utils/settings/settings.ts, utils/sessionStorage.ts, and related helpers.
    • Sensitive credentials use OS and keychain helpers under utils/secureStorage/*.
    • Remote durable state exists only where the product explicitly talks to hosted services such as CCR, session ingress, OAuth, remote managed settings, settings sync, and telemetry.
    • Queue-like behavior is mostly in-process: message and command queues, background tasks, scheduled task flows, bridge work polling, and MCP reconnect handling.

    Local Execution Dependencies

    • Shells and subprocesses: bash, PowerShell, git, tmux, OS package managers, ripgrep, and plugin or MCP stdio processes.
    • OS integrations: keychain, terminal backups, MDM or registry or plist reads, IDE connection helpers, and Chrome native host flows.
    • Native modules: audio capture, image processing, color diff, and other performance-sensitive helpers.

    What Breaks When A Dependency Is Missing

    • No provider credentials or OAuth state: no model API calls.
    • No git, tmux, or worktree tooling: worktree-heavy and git-context-heavy features degrade or fail.
    • No MCP transport or auth: the server remains pending, needs-auth, or failed, and its tools never become usable.
    • No keychain or secure storage on supported platforms: auth helpers lose cached secrets and fall back to explicit auth.
    • No telemetry exporters or endpoints: observability degrades, but the client generally fails open on those paths.