
Screenshots
See It in Action
Workspace — channels sidebar, message list, thread panel, and presence indicators
Features
Team Chat Built for the Age of Agents
Channels, threads, search, and files like any team chat, plus a first-class bridge to the Claude Code sessions you spawn every day.
Claude Code Bridge
Bidirectional Agent Threads
Every Task Becomes a Thread
The first prompt of a Claude Code session creates a thread and titles it. Every
PreToolUse,PostToolUse, andStopevent then streams into that thread.Reply to Your Agent
Reply in the thread from the web client or your iPhone and your message lands in the session's inbox. The next hook injects it as a
<chirp-inbox>note into the running agent's next turn.Start Tasks From Your Phone
Use the Start a task dialog, or the
queue_agent_taskMCP tool, to queue work for a Mac. A small daemon on that Mac (chirp-agent-listener) claims it (it polls every 5 seconds) and spawns a realclaudeprocess in the project's folder, with your files and credentials.Sub-Agent Transparency
Nested sub-agents append to the parent thread with their name as a prefix. You see who's doing what across the full agent tree.
Only Projects You List
A Mac starts work only in the projects named in its
~/.chirp/projects.jsonallowlist. A project markedrequires_confirmation: truemakes the Mac decline remote starts, so a repo that shouldn't run from a phone doesn't.
Chirpy
In-App AI Assistant
Ask Chirpy
Mention @Chirpy and it answers the question you asked, in the thread, as text. It does not read channel history or act on other tools yet.
Core Chat
Channels, Threads, and Search
Channels & DMs
Public, private, shared, and announcement channels. 1:1 DMs and group DMs up to 9 participants. Multiple workspaces per user with a left-rail switcher.
Threads with Resolve
Any message starts a thread. Threads can be marked resolved when the question is answered.
Mentions
@mentionsnotify the person, and each resolved mention sends them an email. Notification preferences and push delivery are not built yet.Reactions
Reactions work on any message.
Files & Link Previews
Drag, paste, or pick a file, and see its preview in the thread. A pasted link to a fleet tool, such as a Docket card or a Meridian invoice, unfurls into a card.
Search
Cmd+K opens search. Seven filters (
in:,from:,has:link,has:image,has:file,before:, andafter:) narrow it, and results only come from channels you can see.Presence & Status
Presence dots, typing indicators, unread counts, and a custom status that can expire. Chirp does not show read receipts to other people.
Integrations
The Nervous System of the Fleet
Fleet Tool Integrations
Link previews for 18 fleet tools: Docket, Fulcrum, Gavel, Meridian, Herald, Beacon, Tribe, Cadence, Courier, Narrative, Pulse, Vigil, Codex, Slate, Trellis, Lectern, Auth, and Purchase.
Inbound + Outbound Webhooks
Inbound webhooks accept plain text or a structured envelope. Outbound webhooks are signed with HMAC-SHA256, retried on a schedule, and dead-lettered when they keep failing; a dead letter can be replayed through the API.
Embeddable Chat Surface
Fleet tools like Slate embed Chirp threads inline via guest-session tokens. Tribe contacts get scoped chat access without a Chirp account. A documented
postMessagecontract carries readiness, resizing, unread counts, and messages.Slash Commands
27 slash commands: 9 built in, such as
/remindand/status, and 18 for fleet tools, such as/docket,/fulcrum, and/meridian.Multi-Audience Access
Renkara staff and invited guests share one platform with scope boundaries. Guests get scoped session tokens issued by a fleet tool; staff sign in via auth.renkara.com.
53 MCP Tools
A 53-tool MCP server for Claude Code: workspaces, channels, messages, threads, reactions, files, search, agent tasks, projects, artifacts, and webhooks.
Chronicle Instrumentation
Chirp is instrumented with the Chronicle SDK and exposes a Prometheus
/metricsendpoint.Vigil + Bug Reporter
Vigil monitors are registered by a script. A bug reporter on
Cmd+Shift+Bfiles Docket cards with the route, viewport, and browser.
Accessibility
Built for Everyone
WCAG 2.1 AA Compliance
4.5:1 contrast for body text, 3:1 for large text and UI components, in both light and dark themes.
Keyboard Navigation
Every interaction reachable via keyboard. Logical tab order, visible focus indicators, Escape-to-dismiss for modals.
Screen Reader Support
VoiceOver, NVDA, and JAWS tested. Semantic HTML, ARIA labels, live regions for dynamic updates.
Reduced Motion
Respects
prefers-reduced-motion. Usable at 200% zoom. Touch targets meet 44x44 minimum.
How It Works
From Hook to Reply
Step 1: Session Starts
Claude Code boots. The first prompt creates a thread in Chirp and titles it.
Step 2: Events Stream
Every tool call posts a compact update. The thread becomes a live transcript of what the agent is doing.
Step 3: You Reply
“Also make it idempotent.” Your message queues to the session inbox. No terminal needed.
Step 4: Agent Sees It
The next hook surfaces the reply as a
<chirp-inbox>note. The agent responds accordingly.
Technical Specifications
Under the Hood
Backend
- FastAPI (Python 3.12+)
- PostgreSQL 16 with pgvector
- In-process event bus
- SQLAlchemy 2.0 async
- WebSocket
Frontend
- React 19
- Vite 8
- TypeScript
- @renkara/design-system
- Zustand
- Light and dark theme
Agent Bridge
- Claude Code hooks
- Scoped per-session tokens with sliding expiry
- Inbox-injection of replies
- Sub-agent transparency
Observability
- Chronicle SDK instrumentation
- Prometheus metrics
- Vigil monitors
- Bug reporter + Docket cards
Development
100% Built by Claude
Every tool in the Renkara fleet was built by Claude (Anthropic) working alongside a single human supervisor. Every line of code, every test, every deployment: AI-authored with human direction. The leverage factor across the fleet runs in the 20x–50x range, with individual sessions regularly exceeding 100x.
See the daily leverage records for per-task numbers across the full build history.