
Security News
OpenCode User Hit with Hostile Backlash After Reporting Free AI Loophole
An OpenCode user faced harassment after reporting a free AI usage loophole, drawing a bitter backlash in a GitHub thread that has since been deleted.
@hanzo/agent
Advanced tools
Agentic (cowork/code) UI surface for Hanzo AI — conversation/agent-run view with tool calls, file & diff panels, a task list, and the composer. Built on @hanzo/gui primitives + the headless @hanzo/ai client. Powers hanzo.app's Claude cowork/code experienc
The cowork/code agentic UI surface for Hanzo AI — a conversation/agent-run view with tool calls, file & diff panels, a task list, reasoning, and the composer. The richer counterpart to a plain chat surface. Powers hanzo.app's Claude cowork/code experience and the Hanzo desktop app.
Built on:
@hanzo/gui (v7) — every UI
primitive. Radix-free (Tamagui). No @radix-ui/*, no @hanzo/ui.@hanzo/ai — the headless
client for streaming completions, tools, and the portable chat store. This
package never re-implements API calls.npm install @hanzo/agent @hanzo/ai @hanzo/gui react
@hanzo/ai, @hanzo/gui, and react are peer dependencies — the host app
provides them (and the @hanzo/gui theme/provider).
import { createAiClient } from '@hanzo/ai'
import { AgentRun, useAgentRun } from '@hanzo/agent'
const client = createAiClient({ getToken: () => session.accessToken })
export function Cowork() {
const { state, send, stop } = useAgentRun({
client,
model: 'enso',
system: 'You are a coding agent.',
tools: [
{
type: 'function',
function: {
name: 'read_file',
description: 'Read a file from the workspace.',
parameters: {
type: 'object',
properties: { path: { type: 'string' } },
required: ['path'],
},
},
},
],
})
return <AgentRun run={state} onSend={send} onStop={stop} />
}
useAgentRun owns the presented run state, streams chat.completion.chunk
deltas (text + incremental tool_calls) into turns, and exposes send/stop.
AgentRun is a pure view, so you can also drive it from your own state.
The top-level AgentRun composes these; each is exported and usable on its own:
| Component | Purpose |
|---|---|
AgentRun | Task panel + transcript + composer. The full surface. |
MessageList / MessageBubble | The scrollable transcript and a single turn. |
Composer | Growing text area + Send (Enter submits, Shift+Enter newline). |
TaskList | The agent's plan / checklist with per-item status. |
ToolCall / ToolCallList | A tool invocation: name + status, expandable args/result. |
FilePanel / FilePanelList | A file the agent touched (diff or contents). |
FileDiff | Unified-diff renderer with +/- coloring. |
CodeBlock | Monospace code surface with optional gutter and header. |
Reasoning | Collapsible chain-of-thought. |
Disclosure | The expand/collapse primitive the others build on. |
StatusDot / StatusBadge | Run-status indicators. |
The presented state is plain data (src/types.ts), derived from @hanzo/ai's
wire types:
AgentRunState — { turns, tasks?, running }AgentTurn — a user or assistant turn: text, reasoning, tools, files,
error, statusToolInvocation — { id, name, arguments, result?, status }FileChange — { path, kind, diff?, contents?, language?, additions?, deletions? }Task — { id, title, status }toolInvocationFromCall(toolCall) maps an @hanzo/ai ToolCall to a pending
ToolInvocation.
@hanzo/chatThis package does not depend on @hanzo/chat: that published package is the
commerce/checkout surface (@hanzo/card / @hanzo/platform / @hanzo/workbench),
not a conversation list. The transcript here is built directly on @hanzo/gui.
npm install
npm run typecheck # tsc --noEmit
npm test # vitest
npm run build # tsup -> dist (ESM + CJS + d.ts)
BSD-3-Clause © Hanzo AI, Inc.
FAQs
Agentic (cowork/code) UI surface for Hanzo AI — conversation/agent-run view with tool calls, file & diff panels, a task list, and the composer. Built on @hanzo/gui primitives + the headless @hanzo/ai client. Powers hanzo.app's Claude cowork/code experienc
The npm package @hanzo/agent receives a total of 0 weekly downloads. As such, @hanzo/agent popularity was classified as not popular.
We found that @hanzo/agent demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 9 open source maintainers collaborating on the project.

Security News
An OpenCode user faced harassment after reporting a free AI usage loophole, drawing a bitter backlash in a GitHub thread that has since been deleted.

Threat Research
/Security News
319 browser extensions installed by 13.4 million users hijack searches, capture queries, and collect referral payments from Yahoo and Bing.

Threat Research
Malicious Firefox extensions mimic Phantom, Jupiter, and Bitget wallets to steal recovery phrases and private keys, with one fetching its payload remotely.