Arize AI plugins for Claude Code observability and tracing
npx claudepluginhub arize-ai/arize-claude-code-pluginAutomatic tracing of Claude Code sessions to Arize AX or Phoenix with OpenInference spans. Supports 9 hooks for comprehensive observability.
Skills for querying and analyzing data from the Arize ML observability platform using GraphQL. Includes trace analysis and general platform analytics.
Claude Code marketplace entries for the plugin-safe Antigravity Awesome Skills library and its compatible editorial bundles.
Directory of popular Claude Code extensions including development tools, productivity plugins, and MCP integrations
Curated collection of 141 specialized Claude Code subagents organized into 10 focused categories
Share bugs, ideas, or general feedback.
Official Claude Code plugins from Arize AI for enhanced observability and platform integration.
This repository contains the following plugins:
Add the marketplace from repo owner/name:
claude plugin marketplace add Arize-ai/arize-claude-code-plugin
Then install the plugins:
claude plugin install claude-code-tracing@arize-claude-plugin
claude plugin install arize-platform@arize-claude-plugin
The tracing plugin works with the Claude Agent SDK (Python and TypeScript). Load it as a local plugin by pointing to the plugin directory.
Important: You must use
ClaudeSDKClient— the standalonequery()function does not support hooks, so tracing will not work with it.
If you already installed the plugin with claude plugin add, reference it from the CLI cache:
# Python
plugins=[{"type": "local", "path": "~/.claude/plugins/cache/arize-claude-plugin/claude-code-tracing/1.0.0"}]
// TypeScript
plugins: [{ type: "local", path: "~/.claude/plugins/cache/arize-claude-plugin/claude-code-tracing/1.0.0" }]
Tip: Check
~/.claude/plugins/installed_plugins.jsonfor the exact path and version on your machine.
If you haven't installed via the CLI, clone the repo into your project:
git clone https://github.com/Arize-ai/arize-claude-code-plugin.git
Then reference the plugin directory:
# Python
plugins=[{"type": "local", "path": "./arize-claude-code-plugin/plugins/claude-code-tracing"}]
// TypeScript
plugins: [{ type: "local", path: "./arize-claude-code-plugin/plugins/claude-code-tracing" }]
Make sure to also pass in the path to the settings.json file.
# Python
settings="./settings.local.json"
// TypeScript
settingSources: ["local"] // only .claude/settings.local.json
Python:
import asyncio
from claude_agent_sdk import ClaudeAgentOptions, ClaudeSDKClient
async def main():
options = ClaudeAgentOptions(
plugins=[{"type": "local", "path": "./arize-claude-code-plugin/plugins/claude-code-tracing"}],
settings="./settings.local.json"
)
async with ClaudeSDKClient(options=options) as client:
await client.query("PROMPT_GOES_HERE")
async for message in client.receive_response():
print(message)
asyncio.run(main())
TypeScript:
import { ClaudeSDKClient } from "@anthropic-ai/claude-agent-sdk";
const client = new ClaudeSDKClient({
plugins: [{ type: "local", path: "./arize-claude-code-plugin/plugins/claude-code-tracing" }],
settingSources: ["local"],
});
await client.connect();
await client.query("PROMPT_GOES_HERE");
for await (const message of client.receiveResponse()) {
console.log(message);
}
await client.close();
The plugin is fully compatible with the Agent SDK with some caveats:
SessionStart, SessionEnd, Notification, and PermissionRequest hooks are not fired by the Python SDK. The plugin handles this gracefully:
UserPromptSubmit if SessionStart didn't fireStop hookTrace your Claude Code sessions to Arize AX or Phoenix with OpenInference spans.
/setup-claude-code-tracing walks you through configurationjq + curl only)opentelemetry-proto and grpcioConfigure tracing from within Claude Code:
/setup-claude-code-tracing