Kanshō components
Open-source React components for the screens after chat — plans, tool calls, permissions, memory, cost, and more.
Introduction
Kanshō is an open-source React component library for AI agent products. It covers the interface that begins where the chat transcript ends — the plans, tool calls, permission prompts, traces, memory, cost meters, and review surfaces an agent needs once it starts acting on a user’s behalf.
Most UI kits stop at chat: a message list, an input, a typing indicator. Agent products are not chatbots. They plan work, call tools, ask for permission, fail in specific ways, and cost money per run. Each of those moments needs an interface, and that is the layer Kanshō provides.
What is in the kit
Eight component categories, organized around what agents do rather than what chatbots look like:
- Tool calls — Receipts for every action. Tool name, inputs, outputs, status, duration.
- Reasoning and traces — Step-by-step execution log. Chronological, timestamped. For debugging and trust.
- Plans and tasks — What the agent is about to do. Status pips. Edit before run.
- Permissions and trust — Permission requests, scope maps, human approval, audit rows.
- Memory and context — Stored facts, source, confidence, forget-all. Users can see what the agent remembers.
- Monitoring and cost — Estimate before, ticker during, summary after. Budget alerts. Token counts.
- Sandbox and code — File trees, editors, diff panels, terminal output.
- Loaders — Progress states for long-running actions. Not generic spinners.
Built on React and Tailwind and styled with design tokens, the components inherit your theme rather than imposing one. Every preview in this documentation is the real component rendered live — what you see is what you install.
Installation
Kanshō targets React 19 and Tailwind v4. Components are distributed via the shadcn registry — the source lands in your project, not a dependency you track. The commands below show the intended shape. They'll resolve once the public registry is live.
Initialize shadcn
If your project doesn't have shadcn set up yet, initialize it first. This creates the components.json config and the lib/utils.ts helper.
npx shadcn@latest initAdd a component block
Each registry block installs a category of components. Run one command per block — shadcn resolves all dependencies automatically.
npx shadcn@latest add https://docs.usekansho.com/r/kansho-tool-callsAvailable blocks
Each block below maps to one category of the component catalog:
npx shadcn@latest add https://docs.usekansho.com/r/kansho-tool-calls
npx shadcn@latest add https://docs.usekansho.com/r/kansho-reasoning
npx shadcn@latest add https://docs.usekansho.com/r/kansho-plans
npx shadcn@latest add https://docs.usekansho.com/r/kansho-permissions
npx shadcn@latest add https://docs.usekansho.com/r/kansho-memory
npx shadcn@latest add https://docs.usekansho.com/r/kansho-monitor
npx shadcn@latest add https://docs.usekansho.com/r/kansho-sandbox
npx shadcn@latest add https://docs.usekansho.com/r/kansho-loadersBrowse the component catalog to see each block's components, props, and live previews.
How it works
Three decisions shape how Kanshō fits into a project. Understanding them makes the rest of the catalog predictable.
Styled with design tokens
Components read their colors, typography, and surfaces from CSS variables — the same token set the homepage uses. Point those variables at your theme and every component follows; there is a single accent to set, not a palette to reconcile. Nothing is hard-coded to one look.
Copied into your project
You own the components. Installation copies the source into your codebase rather than adding a black-box dependency, so you can read how a component works, change it, and keep it stable across upgrades. The kit is a starting point you build on, not a runtime you defer to.
Real components, not placeholders
Every preview in this documentation is the actual component rendered in light mode — a real permission gate, a real diff review, a real cost panel. The previews are the proof: what you see on the page is what you install. Built on React, Tailwind, and shadcn/ui.
Components
Tool calls
Receipts for every action. Tool name, inputs, outputs, status, duration.
6 components
Reasoning and traces
Step-by-step execution log. Chronological, timestamped. For debugging and trust.
3 components
Plans and tasks
What the agent is about to do. Status pips. Edit before run.
8 components
Permissions and trust
Permission requests, scope maps, human approval, audit rows.
8 components
Memory and context
Stored facts, source, confidence, forget-all. Users can see what the agent remembers.
11 components
Monitoring and cost
Estimate before, ticker during, summary after. Budget alerts. Token counts.
3 components
Sandbox and code
File trees, editors, diff panels, terminal output.
8 components
Loaders
Progress states for long-running actions. Not generic spinners.
2 components
Full component library
All 182 components across 17 families — interactive demos, props, and source.