Skip to content

client:claude-code

FieldValue
Prefixclient:claude-code
Namespace constantclaudeCodeNamespace
Subjects constantClaudeCodeClientSubjects
Kindclient
Schema record<inline>
Tierframework
Package@makaio/client-claude-code
Defined inclients/claude-code/src/runtime/namespace.ts
KeyWireTypeSchema
config.hooks.addclient:claude-code.config.hooks.addrpcconfig.ts
config.hooks.listclient:claude-code.config.hooks.listrpcconfig.ts
config.hooks.removeclient:claude-code.config.hooks.removerpcconfig.ts
config.plugins.listclient:claude-code.config.plugins.listrpcconfig.ts
config.statusline.listclient:claude-code.config.statusline.listrpcconfig.ts
config.statusline.setclient:claude-code.config.statusline.setrpcconfig.ts
statusline.receivedclient:claude-code.statusline.receivedeventstatusline.ts
wiring.applyclient:claude-code.wiring.applyrpcwiring.ts
wiring.listclient:claude-code.wiring.listrpcwiring.ts
wiring.removeclient:claude-code.wiring.removerpcwiring.ts

Append a hook to a given scope, event, and optional matcher.

Creates or extends the matcher group at the target scope. If a group with the same matcher already exists the hook is appended to it; otherwise a new group is created.

Subject: client:claude-code.config.hooks.add Type: Request (RPC)

Request:

FieldTypeRequired
eventNamestringyes
hook{ type: "command"; command: string; timeout?: number | undefined; }yes
matcherstring | undefinedno
projectDirstring | undefinedno
scope"user" | "local" | "project"yes

Response:

FieldTypeRequired
addedbooleanyes

client:claude-code.config.hooks.list (rpc)

Section titled “client:claude-code.config.hooks.list (rpc)”

Read the effective hook configuration plus each scope’s raw hook map.

When eventName is supplied only hooks for that event are returned; otherwise all events are included.

Subject: client:claude-code.config.hooks.list Type: Request (RPC)

Request:

FieldTypeRequired
eventNamestring | undefinedno
projectDirstring | undefinedno

Response:

FieldTypeRequired
effectiveRecord<string, { hooks: { type: "command"; command: string; timeout?: number | undefined; }[]; matcher?: string | undefined; }[]>yes
perScope{ scope: "user" | "local" | "project"; path: string; events: Record<string, { hooks: { type: "command"; command: string; timeout?: number | undefined; }[]; matcher?: string | undefined; }[]>; }[]yes

client:claude-code.config.hooks.remove (rpc)

Section titled “client:claude-code.config.hooks.remove (rpc)”

Remove hooks whose command string contains the given substring.

Removes every hook definition in the specified scope and event whose command field contains match.commandContains. Matcher groups that become empty after removal are also pruned.

Subject: client:claude-code.config.hooks.remove Type: Request (RPC)

Request:

FieldTypeRequired
eventNamestringyes
match{ commandContains: string; }yes
projectDirstring | undefinedno
scope"user" | "local" | "project"yes

Response:

FieldTypeRequired
removednumberyes

client:claude-code.config.plugins.list (rpc)

Section titled “client:claude-code.config.plugins.list (rpc)”

List effective extensions visible to Claude Code along with enabled state.

Later scopes override earlier scopes per plugin name; the returned scope is the scope that supplied the effective enabled state.

Subject: client:claude-code.config.plugins.list Type: Request (RPC)

Request:

FieldTypeRequired
projectDirstring | undefinedno

Response:

FieldTypeRequired
plugins{ name: string; enabled: boolean; scope: "user" | "local" | "project"; }[]yes

client:claude-code.config.statusline.list (rpc)

Section titled “client:claude-code.config.statusline.list (rpc)”

Read the effective status-line configuration plus each scope’s raw value.

The effective field reflects the value that Claude Code would use after scope resolution. perScope enumerates available scopes in resolution order (broadest to narrowest) so callers can inspect the full picture.

Subject: client:claude-code.config.statusline.list Type: Request (RPC)

Request:

FieldTypeRequired
projectDirstring | undefinedno

Response:

FieldTypeRequired
effective{ type: "command"; command: string; padding?: number | undefined; } | nullyes
perScope{ scope: "user" | "local" | "project"; path: string; value: { type: "command"; command: string; padding?: number | undefined; } | null; }[]yes

client:claude-code.config.statusline.set (rpc)

Section titled “client:claude-code.config.statusline.set (rpc)”

Write a status-line value to a specific scope.

Overwrites any existing status-line entry at the chosen scope and returns both the previous value (for undo support) and the value that was actually persisted.

Subject: client:claude-code.config.statusline.set Type: Request (RPC)

Request:

FieldTypeRequired
projectDirstring | undefinedno
scope"user" | "local" | "project"yes
value{ type: "command"; command: string; padding?: number | undefined; }yes

Response:

FieldTypeRequired
applied{ type: "command"; command: string; padding?: number | undefined; }yes
previous{ type: "command"; command: string; padding?: number | undefined; } | nullyes

client:claude-code.statusline.received (event)

Section titled “client:claude-code.statusline.received (event)”

Raw Claude Code statusline payload schema used by the Claude-specific client:claude-code.* namespace.

Subject: client:claude-code.statusline.received Type: Event

FieldTypeRequired
agent{ [x: string]: unknown; name?: string | undefined; kind?: string | undefined; } | undefinedno
context_window{ [x: string]: unknown; total_input_tokens?: number | undefined; total_output_tokens?: number | undefined; context_window_size?: number | undefined; used_percentage?: number | null | undefined; remaining_percentage?: number | null | undefined; current_usage?: { [x: string]: unknown; input_tokens?: number | undefined; output_tokens?: number | undefined; cache_creation_input_tokens?: number | undefined; cache_read_input_tokens?: number | undefined; } | null | undefined; } | null | undefinedno
cost{ [x: string]: unknown; total_cost_usd?: number | undefined; total_duration_ms?: number | undefined; total_api_duration_ms?: number | undefined; total_lines_added?: number | undefined; total_lines_removed?: number | undefined; total_edits?: number | undefined; } | undefinedno
cwdstring | undefinedno
exceeds_200k_tokensboolean | undefinedno
model{ [x: string]: unknown; id?: string | undefined; display_name?: string | undefined; family?: string | undefined; } | undefinedno
output_style{ [x: string]: unknown; name?: string | undefined; variant?: string | undefined; } | undefinedno
rate_limits{ [x: string]: unknown; five_hour?: { [x: string]: unknown; used_percentage?: number | undefined; resets_at?: number | undefined; } | undefined; seven_day?: { [x: string]: unknown; used_percentage?: number | undefined; resets_at?: number | undefined; } | undefined; } | undefinedno
session_idstring | undefinedno
session_namestring | undefinedno
transcript_pathstring | undefinedno
versionstring | undefinedno
vim{ [x: string]: unknown; mode?: string | undefined; } | undefinedno
workspace{ [x: string]: unknown; current_dir?: string | undefined; project_dir?: string | undefined; added_dirs?: string[] | undefined; git_worktree?: string | undefined; } | undefinedno
worktree{ [x: string]: unknown; name?: string | undefined; path?: string | undefined; branch?: string | undefined; original_cwd?: string | undefined; original_branch?: string | undefined; provider?: string | undefined; } | undefinedno

Install all wiring entries into the specified scope.

Entries already present are skipped (idempotent). The makaioCommand string is written verbatim as the shell command for hooks and as the status-line command for the statusline entry.

Subject: client:claude-code.wiring.apply Type: Request (RPC)

Request:

FieldTypeRequired
makaioCommandstringyes
projectDirstring | undefinedno
scope"user" | "local" | "project"yes

Response:

FieldTypeRequired
appliednumberyes
skippednumberyes

List all known wiring entries for the target scope, indicating which are currently installed in the Claude Code native config.

When projectDir is absent, only the user scope entries are reported. Callers that need project- or local-scope entries must supply the absolute path to the project root.

Subject: client:claude-code.wiring.list Type: Request (RPC)

Request:

FieldTypeRequired
makaioCommandstringyes
projectDirstring | undefinedno

Response:

FieldTypeRequired
entries{ group: string; name: string; installed: boolean; command: string; }[]yes

Uninstall all wiring entries from the specified scope.

Entries that are not present are silently ignored (idempotent). The removed count in the response reflects only entries that were actually deleted from the config file.

Subject: client:claude-code.wiring.remove Type: Request (RPC)

Request:

FieldTypeRequired
projectDirstring | undefinedno
scope"user" | "local" | "project"yes

Response:

FieldTypeRequired
removednumberyes

Auto-generated by yarn docs:bus. Do not edit manually.