Claude Code agent provider for React Grab. Requires running a local server that interfaces with the Claude Agent SDK.
Claude Code agent provider for React Grab. Requires running a local server that interfaces with the Claude Agent SDK.
``bash`
npm install @react-grab/claude-codeor
pnpm add @react-grab/claude-codeor
bun add @react-grab/claude-codeor
yarn add @react-grab/claude-code
The server runs on port 4567 by default.
Start the server in the background before running your dev server:
`bash`
npx @react-grab/claude-code@latest && pnpm run dev
The server will run as a detached background process. Note: Stopping your dev server (Ctrl+C) won't stop the React Grab server. To stop it:
`bash`
pkill -f "react-grab.*server"
For better lifecycle management, start the server from your config file. This ensures the server stops when your dev server stops:
`ts
// vite.config.ts
import { startServer } from "@react-grab/claude-code/server";
if (process.env.NODE_ENV === "development") {
startServer();
}
`
`ts
// next.config.ts
import { startServer } from "@react-grab/claude-code/server";
if (process.env.NODE_ENV === "development") {
startServer();
}
`
`html`
Using the Script component in your app/layout.tsx:
`jsx
import Script from "next/script";
export default function RootLayout({ children }) {
return (
$3
`tsx
import { attachAgent } from "@react-grab/claude-code/client";attachAgent();
`How It Works
`
┌─────────────────┐ HTTP ┌─────────────────┐ SDK ┌─────────────────┐
│ │ localhost:4567 │ │ │ │
│ React Grab │ ──────────────► │ Server │ ─────────────► │ Claude Code │
│ (Browser) │ ◄────────────── │ (Node.js) │ ◄───────────── │ (Agent) │
│ │ SSE │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
Client Server Agent
``1. React Grab sends the selected element context to the server via HTTP POST
2. Server receives the request and forwards it to Claude Code via the Agent SDK
3. Claude Code processes the request and streams responses back
4. Server relays status updates to the client via Server-Sent Events (SSE)