An AI agent that actually knows your work.

Narwhal is a native desktop app that connects an AI agent to your Jira, Confluence, Slack, pipelines, and oncall — and runs entirely on your machine.

Download for macOS See What It Does
macOS 12+ · Apple Silicon native · Runs locally — your data never leaves your machine
Screenshot goes here → save as screenshot.png in /site

What you can do with Narwhal

Real workflows, not demos. Every feature below works today through connected MCP tools and built-in capabilities.

🎫
Jira & Ticket Management

Read, search, update, and triage tickets without opening a browser. The agent compresses Jira's verbose API into clean markdown — 90% fewer tokens, instant context.

Read any ticket as clean markdown

"Read ORCHA-789" → summary, status, assignee, description (converted from Jira markup), and recent comments. No raw JSON.

Jira MCP

Search with JQL

"Find my open tickets" or "Search for blocked stories in sprint 42" → compact table with status icons.

Jira MCP

Update descriptions in markdown

Write in markdown, the agent auto-converts to Jira markup. No more fighting with Jira's editor.

Jira MCP

Epic tree view

"Show me the ORCHA epic" → tree of all child stories with status, assignee, and progress.

Jira MCP
📝
Confluence & Documentation

Create, edit, and search Confluence pages through conversation. The agent handles the storage format conversion — you just write in plain language.

Create pages from conversation

"Create a design doc for the new auth flow" → full Confluence page with headings, tables, and code blocks.

Confluence MCP

Surgical page editing

"Update the architecture section of page 12345" → edits just that section without touching the rest. No accidental overwrites.

Confluence MCP

Self-learning XML handling

Automatically escapes CDATA markers, ampersands, and other XML pitfalls. Learns from errors and fixes them on retry.

Self-Learning

Search across spaces

"Find the onboarding docs" → searches by title, label, or content across all your Confluence spaces.

Confluence MCP
💬
Slack & Communication

Search messages, read threads, post updates — all from the agent. No more context-switching between Slack and your work.

Search across channels

"Find the discussion about the API migration" → searches messages with Slack's full query syntax.

Slack MCP

Read and reply to threads

"What's the latest in #platform-oncall?" → reads recent messages and thread replies.

Slack MCP

Post status updates

"Post a summary of today's work to #team-updates" → composes and sends a message.

Slack MCP
Code, Shell & Local Environment

The agent runs on your machine with access to your filesystem, shell, and dev tools. It can read, write, and execute — with your permission.

Read and write files

Browse your project, read source code, create new files, edit existing ones. Full filesystem access within your workspace.

Built-in

Run shell commands

git, npm, python, curl — anything you'd run in a terminal. Tiered permissions ensure dangerous commands require approval.

Built-in

Execute Python scripts

Data analysis, CSV processing, calculations — the agent writes and runs Python in a sandboxed subprocess.

Built-in

Workspace browser

Visual file tree in the sidebar. Click to preview. Track which files the agent created or modified.

Built-in
🐋
NarwhalCloud — Requirements Platform

A separate web service that replaces Confluence and Jira for structured product requirements. One database, one source of truth. AI agents are first-class users.

1,399 URF requirements in a queryable database

Every requirement is a typed, filterable row — not a cell in a 300KB Confluence XML page. Filter by domain, priority, milestone, product variant.

NarwhalCloud

Web UI for PMs — no install needed

Browse requirements, view PRDs, track projects, search across everything — all in a browser. Shareable URLs for any requirement or project.

Web App

AI agents query and propose changes

"How many P0 requirements does Hawkfish have?" — the agent queries the database through typed MCP tools. No markup generation, no XML parsing.

MCP Tools

Field-level audit trail

Every change to every requirement is logged: who changed it, when, what the old value was. Not page-level versioning — field-level.

Built-in
🔀
Multi-Agent Orchestration

Four agent patterns — supervisor, pipeline, swarm, and context brief — all with hard safety boundaries. Subagents get scoped tools and can't recursively spawn.

Context Brief — cross-source synthesis

"/brief" spawns parallel agents for Slack, Jira, Email, Confluence, and Calendar. Each searches independently, then a synthesizer merges findings into one coherent summary.

Swarm

Scoped subagents with worker contracts

A Jira agent can only use Jira tools. A Slack agent can only search Slack. Spawning tools are stripped at runtime — no infinite recursion.

Safety

Parallel tool execution

Read-only, concurrency-safe tools run simultaneously. If one fails, siblings are aborted. Destructive tools always run sequentially with approval.

Built-in
🧠
Personalization & Custom Agents

Build your own agent. Narwhal remembers your preferences, learns your patterns, and lets you create specialized personas for different types of work.

Persistent memory

The agent remembers your projects, coding style, team context, and preferences across sessions. All stored as editable Markdown files.

Built-in

Custom assistant personas

Switch between Architect, Code Reviewer, Shell Expert, Writer — or create your own with custom system prompts and behaviors.

Built-in

Skills system

Reusable instruction sets that activate on keyword triggers. "Review this PR" loads your code review skill. Create skills as Markdown files.

Skills

Plug in any MCP server

Add new capabilities by connecting MCP servers — Figma, GitHub, databases, internal APIs. The agent discovers and uses new tools automatically.

MCP Protocol

Self-improving agent

Observes tool usage, detects friction, proposes improvements. Learns which commands to auto-approve. All changes require your explicit approval.

Evolution

Daily digest

Opt-in morning briefing: oncall shifts, open tickets, Jira activity, pipeline health. Configure sources and schedule in Settings.

Built-in

How it works

No cloud servers. No data leaving your machine. Just a native app that talks to your tools.

1

Install & authenticate

Download the DMG, drag to Applications. Narwhal authenticates through Midway — same credentials you already use.

2

Connect your tools

MCP servers for Jira, Confluence, Slack, and more are pre-configured. Add custom servers in Settings → MCP Servers.

3

Just start talking

Ask it to read a ticket, write a doc, search Slack, run a command. The agent picks the right tools and asks permission when needed.


Setup Guide

Everything you need to get Narwhal running. Takes about 5 minutes.

📋
Prerequisites

Before you install Narwhal, make sure you have these. If you're an RBKS employee on a Mac, you almost certainly already do.

macOS 12+ on Apple Silicon

M1, M2, M3, or M4 Mac. Intel Macs are not currently supported. Check: Apple menu → About This Mac → Chip.

Midway (mwinit)

You need an active Midway session. If you haven't run it today, open Terminal and run:
mwinit -o
This is the same auth you use for Confluence, Jira, and every other internal tool.

YubiKey / Security Key

Required for the Midway authentication step. You already have one if you access any internal Amazon tools.

That's it. No Python install, no Homebrew, no AWS CLI, no config files. Narwhal bundles its own Python runtime and all dependencies.

🚀
Installation Steps

Step 1 — Run mwinit

Open Terminal and run: mwinit -o — tap your security key when prompted. This refreshes your Midway session (needed for login and for Confluence/Jira access).

Step 2 — Download

Download Narwhal-latest.dmg (~190 MB). Open the DMG and drag Narwhal to your Applications folder.

Step 3 — Clear quarantine

macOS blocks unsigned apps. Run this once in Terminal:
sudo xattr -cr /Applications/Narwhal.app
Enter your Mac password when prompted. You'll see some "Operation not permitted" warnings — those are normal and harmless.

Step 4 — Launch

Open Narwhal from Applications. It will open your browser for Midway login — tap your security key. After authentication, the app is ready to use.

🔄
Ongoing

Midway refresh

Midway sessions expire (typically every 24 hours). If Narwhal shows an auth error, run mwinit -o again and click "Re-authenticate" in the app.

Auto-updates

Narwhal checks for updates on launch and every 4 hours. When a new version is available, you'll see a banner: "Update Available — Restart to install." One click and you're on the latest version.


FAQ

Common questions about Narwhal, how it compares to other tools, and what makes it different.

How is Narwhal different from Kiro CLI?

Kiro CLI is a general-purpose AI coding assistant that runs in your terminal. Narwhal is a native desktop app purpose-built for RBKS product and engineering workflows. Key differences:

NarwhalKiro CLI
InterfaceNative macOS app with GUI — sidebar, preview panel, workspace browser, multi-tab conversationsTerminal-based CLI
Tool integrationsPre-configured MCP servers for Ring Jira, Ring Confluence, RBKS Slack, NarwhalCloud, email, calendarGeneral-purpose tools, user configures MCP servers
Multi-agent4 orchestration patterns (supervisor, pipeline, swarm, context brief) with scoped subagentsSingle agent with subagent delegation
MemoryPersistent memory across sessions — remembers your projects, preferences, team contextPer-session context only
Self-evolutionObserves its own behavior, learns from friction, proposes improvementsNo self-modification
NarwhalCloudBuilt-in access to 1,399 URF requirements, projects, PRDs via typed MCP toolsNo requirements platform
Context brief"/brief" queries Slack + Jira + Email + Confluence in parallel, synthesizes a status updateNo cross-source synthesis
Target userRBKS PMs, engineers, TPMs — people who live in Jira/Confluence/SlackSoftware engineers writing code

They're complementary. Use Kiro CLI for coding in your terminal. Use Narwhal for everything else — tickets, docs, status updates, requirements, cross-tool queries.

How is this different from Amazon Q Developer?

Amazon Q Developer is focused on code generation and IDE integration. Narwhal is focused on operational workflows — the work you do outside your IDE. Narwhal reads your Jira tickets, writes your Confluence docs, searches your Slack history, manages your requirements, and synthesizes information across all of them. Q Developer doesn't connect to any of these.

Does my data leave my machine?

Your conversations, memory files, skills, and session history are stored locally at ~/.orcha/. The only external calls are: (1) AWS Bedrock for LLM inference (Claude), (2) MCP tool calls to Jira/Confluence/Slack APIs, and (3) NarwhalCloud API for requirements data. No data is sent to any third-party service.

What model does it use?

Claude Sonnet 4 via AWS Bedrock. A lightweight side-model (Haiku) handles tool routing and memory selection to keep costs low. All inference runs through the RBKS Bedrock account — no API keys needed.

Can it run shell commands on my machine?

Yes, with a tiered permission system. Read-only tools (file reads, searches) auto-approve. Write tools (file edits, git commits) show a confirmation. Destructive tools (rm, deploy scripts) require explicit approval with a preview of what will run. You can customize these tiers in Settings.

I get "Narwhal is damaged and can't be opened"

This is macOS Gatekeeper blocking the unsigned app. Run this in Terminal:
sudo xattr -cr /Applications/Narwhal.app
You'll see some "Operation not permitted" warnings — those are normal. After this, Narwhal opens normally.

I get an authentication error on launch

Your Midway session has likely expired. Run mwinit -o in Terminal, tap your security key, then relaunch Narwhal. If the app is already open, click Settings → Re-authenticate.

What is NarwhalCloud?

NarwhalCloud is a separate web service at cloud.narwhal.rbks.amazon.dev that stores structured product requirements, projects, and documents. It replaces Confluence for requirements tracking — every requirement is a queryable database row instead of a cell in an XML page. PMs can browse it in a browser; the desktop app's AI agent queries it through MCP tools. Read more in the Architecture guide.

Can I add my own MCP servers?

Yes. Go to Settings → MCP Servers → Add Server. Point it at any MCP-compatible server (Figma, GitHub, databases, custom APIs). The agent automatically discovers and uses the new tools. Config is stored at ~/.orcha/mcp/config.json.

Who built this?

RBKS Core AI team. The NarwhalLLM SDK, desktop app, and NarwhalCloud platform are all built from scratch — no LangChain, no Strands, no third-party agent frameworks. See the architecture.


Narwhal

Try Narwhal today

Download the app, connect your tools, and see what an AI agent can do when it actually knows your work.

Download for macOS
macOS 12+ · Apple Silicon (arm64) · ~190 MB
First launch: run xattr -cr /Applications/Narwhal.app in Terminal, then open normally

Read the Architecture Guide →