Screenshots
See It in Action
Workspace — channels sidebar, message list, thread panel, and presence indicators
Features
Team Chat Built for the Age of Agents
Every feature Slack has, plus something Slack never will: a first-class bridge to the Claude Code sessions you spawn every day.
Claude Code Bridge
Bidirectional Agent Threads
Every Task Becomes a Thread
When a Claude Code session starts, the
session_inithook creates a thread in your#agentschannel. EveryPreToolUse,PostToolUse, andStopevent streams into that thread.Reply to Your Agent
Reply in the thread from anywhere — phone, web, or desktop — and your message lands in the session's inbox. The next hook poll injects it as a system reminder into the running agent's next turn.
Start Tasks From Your Phone
Hit
/task <description>in the#agentschannel from any device. A tiny daemon on your Mac (chirp-agent-listener) picks up the queued task within seconds and spawns a realclaudeprocess in the right repo — with your filesystem, credentials, and tools fully intact. Then you can go back to steering it from the couch.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.
Confirmation on Sensitive Projects
Mark a project
requires_confirmation: truein your~/.chirp/projects.jsonand the daemon posts a “react 👍 to run” prompt in the thread before it spawns. Safe by default on repos that shouldn't auto-execute from a phone.
Chirpy
In-App AI Assistant
Summarize & Catch Up
“@Chirpy summarize the last hour in
#incidents” returns a tight brief. Ask “what did I miss?” after a long meeting and get a narrative catch-up.Act Across the Fleet
Chirpy has MCP access to every tool you have access to. “Create a Docket card for this,” “log 30 minutes to Chirp,” “schedule a review with Elara Tuesday.” Destructive ops require a 👍 confirmation.
Action Extract
Ask Chirpy for action items from any thread and get back a numbered checklist with owners and deadlines when they can be inferred.
Meeting Prep
“@Chirpy prep me for my 3pm with Sloane” pulls Cadence event details, Tribe contact history, and relevant Codex pages into a briefing card.
Core Chat
Everything Slack Does
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 for triage. Participants get notifications; resolution status surfaces in the channel view.
Mentions & Notifications
@user,@here,@channel, and custom keyword alerts. Per-channel notification levels, DND scheduling, and delivery via web push, email digest, Courier, or SMS.Reactions & Custom Emoji
Unicode emoji picker with skin-tone and recent-used. Upload custom emoji per workspace. Emoji-only messages render extra large.
Files & Rich Content
Drag-drop, paste, or record. Image/video/audio previews, Shiki-highlighted code blocks, PDF thumbnails, voice clips, and fleet-aware link unfurling for Docket cards, Meridian invoices, and more.
Search That Remembers
Cmd+K opens command palette search. Slack-style filters (
in:,from:,has:image,has:link) pluspg_vector-powered semantic search that finds the thread you vaguely remember.Presence & Typing
Online, away, DND, custom status with emoji and expiry. Real-time typing indicators per channel. Read receipts keyed to last-read message.
Huddles
Low-friction voice and video rooms per channel or DM. Screen share, live transcription via Whisper, optional admin-gated recording.
Integrations
The Nervous System of the Fleet
Every Fleet Tool, Both Directions
Docket, Fulcrum, Meridian, Herald, Beacon, Tribe, Cadence, Courier, Narrative, Pulse, Vigil, Codex, Slate, Trellis, Auth, Purchase — all connect. Slash commands, link unfurling, and rich inbound notifications.
Inbound + Outbound Webhooks
Slack-compatible inbound payloads. Outbound webhooks with HMAC signatures, exponential retries, and a dead-letter queue you can replay from the admin UI.
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.
postMessagecontract for theme sync, unread counts, and composer pre-fill.Slash Commands
Built-ins like
/remindand/status, plus fleet-provided:/docket,/time,/invoice,/task,/incident. Register your own via webhook or MCP.Multi-Audience Access
Renkara staff, AccelaStudy students needing support, and invited guests share one platform with strict scope boundaries. Magic-link auth for guests, OIDC via auth.renkara.com for staff.
69 MCP Tools
Every API operation callable from Claude Code. Workspaces, channels, messages, threads, reactions, files, search, agent sessions, guest sessions, webhooks, bots, slash commands.
Chronicle Observability
Logs, metrics, and traces emitted natively via OpenTelemetry. Pre-built dashboards for messaging latency, agent sessions, webhook queues, and integration health.
Vigil + Bug Reporter
Vigil monitors registered at deploy time; SEV1/SEV2 incidents route to
#alerts. Bug reports file Docket cards viaCmd+Shift+Bwith redacted state snapshots.
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
session_inithook calls Chirp, provisions a thread in#agents, and returns a session token.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
Next hook poll surfaces the reply as a
<chirp-inbox>system reminder. The agent responds accordingly.
Technical Specifications
Under the Hood
Backend
- FastAPI (Python 3.12+)
- PostgreSQL 15+ with pg_vector
- Valkey 8
- NATS JetStream
- SQLAlchemy 2.0 async
- WebSocket + SSE
Frontend
- React 19
- Vite 6
- TypeScript
- @avian/design-system
- react-virtuoso message list
- Light and dark theme
Agent Bridge
- CLI mode via Claude Code hooks
- Managed mode via Agent SDK
- Scoped per-session tokens
- Inbox-injection system reminders
- Sub-agent transparency
- Idle timeout + auto-refresh
Observability
- Chronicle logs (structlog)
- Prometheus metrics
- OpenTelemetry traces
- Vigil monitoring + alert routing
- Bug reporter + Docket cards
- Session-level agent dashboards
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.