About
Render a command tool card. State-driven (idle / running) with optional output and an approval footer (Skip / Run). Self-contained port from 21st.dev Agent Elements with inline shimmer + dot keyframes.
Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Bash Tool to your project and fits it to your theme.
Code
How Bash Tool is used: the demo's code. The component's own source comes with a free account.
Usage.tsx
import { BashTool } from "@/components/ui/bash-tool";
export default function Demo() {
return (
<div className="flex items-center justify-center w-full min-h-screen bg-background p-8 overflow-hidden">
<div className="w-full max-w-md">
<BashTool
state="running"
command="pnpm test --filter ./apps/web -- --runInBand"
approval={{
onSkip: () => {},
onRun: () => {},
}}
/>
</div>
</div>
);
}







