Skip to content

Agent Architecture

Claude Code

Claude Code is the richest CLI reference host in this archive: it is terminal-first, but its native architecture also exposes hooks, MCP scopes, slash commands, plugins, subagents, memory files, and statusline behavior as first-class surfaces.

Source reviewed #2Checked 2026-07-06
Run type
CLI
Adapter
json-stdio
Source
Closed / product homepage
Stars
Frontier

Archive Context

This page is one host entry inside the full architecture archive and keeps multi-surface products visible instead of collapsing them into a single run type.

42 host archive
Host page
claude-code
Run cohort
CLI: 30
Archive route
/agents

Host Surface Perspectives

The host is the primary architecture boundary. Each runnable surface below separates what the host owns from what agent-connector can safely install for Claude Code.

1 surface entry

CLI

cli
Host entry
A terminal command owns the process, current working directory, stdin/stdout, shell environment, and project file discovery.
Host owns
The CLI host owns agent loop timing, approval prompts, tool execution, session files, and how hook or MCP subprocesses are launched.
Connector role
agent-connector can only write the host's documented CLI config, prompt, memory, hook, MCP, or package files and point them at the home binary. Current wired connector surfaces: MCP server, Hooks, Commands, Skills, Subagents, Memory, Statusline handler.
Implementation consequence
A CLI surface is byte-addressable and smoke-testable from a temporary HOME, but terminal UI behavior still belongs to the host process. No visible host-native gap is currently tracked for this surface.

Verified Architecture

Source-checked on 2026-07-06. These notes are intentionally separate from the generated surface matrix below.

Sequence #2

Source pass

Current source review findings are kept as the first architecture section so readers can separate external evidence from the generated local coverage model.

  • The hook system is a native lifecycle layer, not a generic MCP callback: command, HTTP, prompt, agent, and MCP-tool handlers can be attached to named lifecycle events.
  • Hook location is scoped: user settings, project settings, local project settings, managed policy, plugin hooks, and component frontmatter are distinct placement surfaces.
  • The event vocabulary includes session, prompt, tool, subagent, task, compaction, worktree, file, configuration, and MCP elicitation events, which explains why this host is the reference rich json-stdio adapter.

Runtime boundary

The adapter target is the local Claude Code CLI session. Claude Code owns the model loop, tool execution, permissions, and session state; agent-connector installs into the host's native configuration, command, plugin, memory, and agent file surfaces rather than wrapping the whole CLI.

  • The public repository describes Claude Code as a terminal agentic coding tool, while also pointing users to IDE and GitHub usage.
  • Repository-visible `.claude/commands` and `.claude-plugin` paths make content and plugin surfaces concrete instead of only conceptual.
  • The archive keeps Claude Code as a CLI row because the byte-addressable adapter target is the local command-line host.

MCP registration

Claude Code's MCP surface has local, project, user, plugin-provided, and connector scopes. agent-connector must preserve that scope model instead of treating MCP as a single global JSON file.

  • Project-scoped MCP servers are shareable through project-root `.mcp.json`.
  • User-scoped MCP servers live in `~/.claude.json` and are private to the user account.
  • Scope precedence matters because duplicate server names are resolved by source priority, not merged field-by-field.

Hook bridge

Hooks are Claude Code's primary lifecycle interception layer. Command hooks receive event JSON on stdin, while HTTP, prompt, agent, and MCP-tool handlers expand the same lifecycle model beyond simple shell commands.

  • Events span session, prompt, tool, subagent, task, compaction, worktree, file, configuration, and elicitation surfaces.
  • Hook placement is multi-scope: user settings, project settings, local project settings, managed policy, plugin hooks, and component frontmatter can all matter.
  • Decision control is event-specific, so adapter claims need to stay tied to event envelopes rather than a generic allow/deny model.

Content surfaces

Claude Code content is not one directory. Slash commands, skills, subagents, plugins, and memory each have separate file contracts and precedence rules.

  • Subagents are Markdown files with YAML frontmatter in project, user, managed, CLI, or plugin scopes.
  • Project and user subagents are recursively scanned, while plugin subagents use plugin-scoped identifiers.
  • Plugin subagents intentionally ignore some powerful frontmatter fields such as hooks, MCP servers, and permission mode.

Marketplace and host-only affordances

Claude Code is a plugin-marketplace shaped host, not just a hook target. Plugin-provided MCP servers, commands, agents, and hooks are distribution surfaces, while statusline remains a host-native CLI affordance.

  • agent-connector should model plugin delivery separately from runtime power: installing a plugin can add MCP, commands, agents, or hooks.
  • Statusline support is host-owned UI state, so it remains separate from hooks and command content in the page inventory.

Host-specific shape

Claude Code is the reference rich json-stdio host: settings hooks, MCP servers, slash commands, skills, subagents, memory, plugin-provided MCP, and local plugin marketplace all exist as native concepts.

  • Form factor: CLI.
  • Native surfaces: MCP server, Hooks, Commands, Skills, Subagents, Memory, Statusline handler.
  • Wired surfaces: MCP server, Hooks, Commands, Skills, Subagents, Memory, Statusline handler.
  • Visible gaps: none.

Hooks

Hooks enter through a host-launched command that exchanges event JSON over stdio.

MCP

The adapter writes this host's native MCP registration dialect, including its root key, scope, transport fields, and environment syntax.

Memory

Managed memory text is written into the rules or memory file this host actually reads, with ownership markers for reversible uninstall.

Marketplace and affordances

A marketplace or plugin-driver path is wired, so install/update/uninstall can be driven rather than only emitted as files.

  • Runtime handlers: Statusline handler.
  • User-visible affordances: Users see managed commands + skills + subagents + statusline + memory surfaces after install; runtime-only surfaces stay behind the host boundary..

Known Limits

  • This page describes the local CLI adapter row, not Claude Code on the web or GitHub mention flows.
  • Claude Code's hook event vocabulary is broad; each new event claim should be checked against the current hooks reference before adapter expansion.
  • Plugin marketplace behavior should be kept distinct from direct file writes, even when both install similar artifacts.

Architecture Diagram

Host-specific flow for the CLI surface.

json-stdio
Host-owned architecture flowHost surfaceCLIRuntimejson-stdioNative artifactsMCP + hooks + content + memory + handlersConnector boundarystdio eventsUser surfacecmds + skills + agents + memoryagent-connector writes only documented host artifacts; the host owns the agent loop.
  1. 1
    Entry point: CLI

    Terminal agent process reads user/project config and invokes the connector home binary for runtime callbacks.

  2. 2
    Connector package

    defineConnector package declares server, hooks, content, memory, and actions.

  3. 3
    Adapter module: claude-code

    json-stdio renderer at src/adapters/claude-code/index.ts.

  4. 4
    Native host artifacts

    Adapter writes MCP config + hook config + content files + memory/rules + statusline + marketplace bundle through this host's native file, package, or marketplace surface.

  5. 5
    Runtime boundary

    host launches JSON-stdio hook command

  6. 6
    User-visible surface

    Users see managed commands + skills + subagents + statusline + memory surfaces after install; runtime-only surfaces stay behind the host boundary.

  7. 7
    Coverage ceiling

    7/7 native surfaces wired. No visible host-native gap in the current coverage matrix.

Component Diagram

Static parts of the Claude Code integration and which side owns each one.

Components and ownershipClaude Code hosthostagent-connector packageconnectorclaude-code adapterjson-stdioNative artifactsartifactsRuntime bridgeruntimeUser-visible surfaceuser
  • Claude Code host

    CLI surface owns the model loop, UI shell, config discovery, and native lifecycle for this integration.

  • agent-connector package

    Normalizes connector declarations into MCP, hook, memory, content, and action payloads before delegating to a host adapter.

  • claude-code adapter

    Implements the json-stdio translation layer in src/adapters/claude-code/index.ts.

  • Native artifacts

    Adapter writes MCP config + hook config + content files + memory/rules + statusline + marketplace bundle through this host's native file, package, or marketplace surface.

  • Runtime bridge

    host launches JSON-stdio hook command

  • User-visible surface

    Users see managed commands + skills + subagents + statusline + memory surfaces after install; runtime-only surfaces stay behind the host boundary.

Runtime Sequence Flow

Message order from install to runtime for the CLI surface.

User / projectagent-connectorclaude-code adapterClaude CodeAgent runtimeCoverage matrix1. Choose host adapter2. Resolve connector declaration3. Render host-native shape4. Host loads artifacts5. Run through host boundary6. Expose remaining ceiling
  1. 1 · User / project
    Choose host adapter

    Install or update starts against Claude Code; the selected surface is CLI.

  2. 2 · agent-connector
    Resolve connector declaration

    The package reads connector metadata and routes it to the claude-code adapter instead of exposing a generic host contract.

  3. 3 · claude-code adapter
    Render host-native shape

    Adapter writes MCP config + hook config + content files + memory/rules + statusline + marketplace bundle through this host's native file, package, or marketplace surface.

  4. 4 · Claude Code
    Host loads artifacts

    host launches JSON-stdio hook command

  5. 5 · Agent runtime
    Run through host boundary

    Users see managed commands + skills + subagents + statusline + memory surfaces after install; runtime-only surfaces stay behind the host boundary.

  6. 6 · Coverage matrix
    Expose remaining ceiling

    7/7 native surfaces wired. No visible host-native gap in the current coverage matrix.

Architecture Archive

The same five study axes are rendered for every host: runtime shape, hooks, MCP, memory, and host-only affordances.

Host-specific shape

Claude Code is the reference rich json-stdio host: settings hooks, MCP servers, slash commands, skills, subagents, memory, plugin-provided MCP, and local plugin marketplace all exist as native concepts.

  • Form factor: CLI.
  • Native surfaces: MCP server, Hooks, Commands, Skills, Subagents, Memory, Statusline handler.
  • Wired surfaces: MCP server, Hooks, Commands, Skills, Subagents, Memory, Statusline handler.
  • Visible gaps: none.

Hooks

Hooks enter through a host-launched command that exchanges event JSON over stdio.

MCP

The adapter writes this host's native MCP registration dialect, including its root key, scope, transport fields, and environment syntax.

Memory

Managed memory text is written into the rules or memory file this host actually reads, with ownership markers for reversible uninstall.

Marketplace and affordances

A marketplace or plugin-driver path is wired, so install/update/uninstall can be driven rather than only emitted as files.

  • Runtime handlers: Statusline handler.
  • User-visible affordances: Users see managed commands + skills + subagents + statusline + memory surfaces after install; runtime-only surfaces stay behind the host boundary..

Special Feature Inventory

Host-specific capabilities separated from the generic surface matrix: lifecycle hooks, MCP registration, memory/rules, marketplace delivery, and UI or content affordances owned by the host.

Lifecycle hooks

Wired

Hooks enter through a host-launched command that exchanges event JSON over stdio.

MCP registration

Wired

The adapter writes this host's native MCP registration dialect, including its root key, scope, transport fields, and environment syntax.

Memory and rules

Wired

Managed memory text is written into the rules or memory file this host actually reads, with ownership markers for reversible uninstall.

Marketplace delivery

Driver wired

A marketplace or plugin-driver path is wired, so install/update/uninstall can be driven rather than only emitted as files.

Host-only affordances

4/4 wired

Wired host affordances: Commands, Skills, Subagents, Statusline handler. Host-native gaps: none. Not confirmed: Action affordances.

Source Review Notes

Latest source pass for host-specific architecture details. This is separate from generated adapter coverage and local drift guards.

Checked 2026-07-06Open review source
Claude Code hooks reference
  • The hook system is a native lifecycle layer, not a generic MCP callback: command, HTTP, prompt, agent, and MCP-tool handlers can be attached to named lifecycle events.
  • Hook location is scoped: user settings, project settings, local project settings, managed policy, plugin hooks, and component frontmatter are distinct placement surfaces.
  • The event vocabulary includes session, prompt, tool, subagent, task, compaction, worktree, file, configuration, and MCP elicitation events, which explains why this host is the reference rich json-stdio adapter.

Evidence Map

Each host page ties public source evidence to the local adapter and drift guards that keep the rendered archive aligned with code.

Product source

Official product homepage or public tracker used when no open product repository is confirmed.

external
Open source

Local adapter implementation

Defines the install/uninstall behavior, native config rendering, capability flags, and any runtime parse/format bridge for this host.

local
src/adapters/claude-code/index.ts

Platform metadata and host-native matrix

Records the form factor, public source target, ranking source, native host surfaces, and current agent-connector coverage cells.

local
site/src/platform-data.ts

Architecture drift guard

Asserts that every registered host has a page, diagram, host-specific brief, source link, form-factor band, and adapter-aligned surface data.

local
tests/docs/platform-drift.test.ts

Marketplace driver registry

Shows this host has a drivable package/plugin install path beyond direct native-file writes.

local
src/core/marketplace-drivers/registry.ts

Runtime Shape

Hooks are dispatched through a host-launched command. The adapter parses host JSON, calls the connector handler, and formats the reply back to the host contract.

MCP registration
Wired through this adapter
Hook bridge
Wired

Connector Surfaces

Static content

MCP server, Hooks, Commands, Skills, Subagents, Memory

Runtime handlers

Statusline handler

Surface Matrix

Wired means agent-connector installs it now. Host native marks support we know about but have not wired yet.

SurfaceStatus
MCP server
Static content
agent-connector installs this surface today.
Wired
Hooks
Static content
agent-connector installs this surface today.
Wired
Commands
Static content
agent-connector installs this surface today.
Wired
Skills
Static content
agent-connector installs this surface today.
Wired
Subagents
Static content
agent-connector installs this surface today.
Wired
Memory
Static content
agent-connector installs this surface today.
Wired
Statusline handler
Runtime handler
agent-connector installs this surface today.
Wired
Action affordances
Runtime handler
No confirmed host-native surface.
N/A