Download
Free public beta · Native macOS

It shows the work — then acts on your Mac.

Canoryn is an agent workspace — chat sessions that run like a coding agent (tool cards, evidence, consent) with a project workbench beside the turn, plus Build with chat on a live canvas of browsers and terminals. Voice is just another way in. The reusable work stays visible as a .cryn file you own.

Agent chat that shows its workBuild with chat · live canvasBrowsers, terminals, your models

Chat like a coding agent

Durable sessions with a real tool loop — you see steps, files, and shell evidence as it works, and approve what needs consent.

Chat builds the workflow

Describe a workflow beside the canvas. Nodes appear while you watch — edit one step without rebuilding everything.

Reopen it exactly as you left it

Live browsers and terminals on the canvas. Double-click a .cryn from Finder and the board comes back.

Architect · chat linked

Build with chat

“Build a workflow that briefs me every weekday at 9am.”

Trigger

Weekdays · 9:00 AM

Your model

Brief from calendar

Action

Speak the brief

Nodes appear as you build with chat — Play to test, Enable when ready.
Architect · chat · canvas

Chat builds the workflow. The canvas keeps it honest.

Most AI apps hide the work behind a spinner. Canoryn shows it — in agent chat (tool cards, evidence, consent) and on the Architect canvas (nodes, live pages, terminals). Voice is another way in; the reusable work stays on the canvas.

  • Build with chat

    Describe what to build or change in chat docked beside the canvas. Canoryn edits the workflow — it doesn’t just run a one-off reply.

  • Live browsers and terminals on the canvas

    Browser nodes that behave like a browser. Terminals agents can read. Point at a page element, watch it change, capture a region for vision.

  • Play to test, Enable to ship

    Draft freely with Play. Enable when schedules, CLI, or external agents should run the same workflow.

  • Portable .cryn files

    Every board is a file you own — save, version, double-click from Finder, and the session comes back.

Chat · workbench · 0.5.0

Chat that keeps the project open.

Same chrome as the app: sidebar toggle and chat title on the top bar; File / Review / Terminal / Browser tabs across the workbench header. Review-first — not a second IDE.

Keep menu label visible when narrow

ModelMenu.swiftReviewTerminalBrowserSideTabs.swift
Dashboard
Chat
Library
Capabilities
Mission Control

Today

cedar

Keep menu label visible when narrow

Just now

Stage review hunks before commit

42m

Wire project folder into prompt dock

2h

cedar-notes

Draft workbench walkthrough

Yesterday

Previous 7 days

cedar-site

Landing mock for desk layout

Mon

AR

Alex Rivera

Community License

Prompt dock only shows the hand / cpu icons when the pane is narrow — the model name disappears. Keep a truncated label on one line.

Canoryn

Cause. ViewThatFits drops to the icon-only branch under ~140pt. Fix: always render the label with lineLimit(1) + truncationMode(.middle).

Allow file.apply_patch?

file.apply_patch

ModelMenu.swift

HStack { Image(systemName: "cpu") }

+ Text(label).lineLimit(1)

+ .truncationMode(.middle)

Allow onceDeny
cedarLocalfix/menu-label-truncate

Do anything

Ask before actingatlas-pro
Filter files…

Cedar

Features

Blueprint

Desk

PromptDock.swiftM

PromptContextBar.swift

ModelMenu.swiftM

Side

SideTabs.swiftM

SideChrome.swift

IconGlyph.swift

App

DeskApp.swift

Info.plist

CedarFeaturesDeskModelMenu.swift
Open
1import SwiftUI
2
3/// Session-scoped model menu. Never mutates global provider tiers.
4struct ModelMenu: View {
5 let sessionID: UUID
6 let isTurnRunning: Bool
7 let onError: (String) -> Void
8
9 @EnvironmentObject private var store: DeskStore
10 @Environment(DeskSettings.self) private var settings
11
12 private var session: DeskSession? {
13 store.sessions.first { $0.id == sessionID }
14 }
15
16 private var label: String {
17 guard let session, let model = session.pinnedModel else { return "Auto" }
18 guard profiles.contains(where: { $0.id == session.pinnedProfileID }) else {
19 return "Unavailable · \(model)"
20 }
21 return model
22 }
23
24 var body: some View {
25 Menu {
26 Button { updatePin(profileID: nil, model: nil) } label: {
27 selectionLabel("Auto (recommended)", selected: session?.pinnedModel == nil)
28 }
29 Divider()
30 ForEach(profiles) { profile in
31 Menu(profile.name) {
32 ForEach(models(for: profile), id: \.self) { model in
33 Button { updatePin(profileID: profile.id, model: model) } label: {
34 selectionLabel(model, selected: session?.pinnedProfileID == profile.id
35 && session?.pinnedModel == model)
36 }
37 }
38 }
39 }
40 } label: {
41 // Always show truncated label — never collapse to icon-only.
42 HStack(spacing: 4) {
43 Text(label)
44 .font(.system(size: 11, design: .monospaced))
45 .lineLimit(1)
46 .truncationMode(.middle)
47 Image(systemName: "chevron.down")
48 .font(.system(size: 8))
49 }
50 .foregroundStyle(.secondary)
51 .padding(.horizontal, 8)
52 .padding(.vertical, 4)
53 .background(Color.primary.opacity(0.04))
54 .clipShape(RoundedRectangle(cornerRadius: 6))
55 }
56 .menuStyle(.borderlessButton)
57 .frame(maxWidth: 160)
58 .disabled(isTurnRunning)
59 .help(helpText)
60 }
61
62 private func updatePin(profileID: UUID?, model: String?) {
63 Task {
64 do {
65 try await store.setPinnedModel(profileID: profileID, model: model, sessionID: sessionID)
66 } catch {
67 onError(error.localizedDescription)
68 }
69 }
70 }
71}

Native macOS window · 14″ proportions (1512×982)

Session projects

Attach folders to a chat. The agent and the work panel share that tree.

Typed work panel

File, Review, Terminal, Browser — preview tabs, pin, switch without killing shells.

Review beside the turn

Lazy diffs, stage or discard, commit — without leaving Chat.

Ask about a selection

Select lines → draft a path:line citation into the composer.

Same live surfaces

Terminal and browser use the same controllers as the Architect canvas.

Project-scoped consent

In-project reads by default; writes and shell ask. Unclassified fails closed.

Deep dive in the docs: Chat workbench · Review workbench.

From a prompt to a running workflow.

See the shape of Canoryn: author on the canvas, run with your models, act on the Mac with consent.

Canoryn Simulator (Native macOS Process)

Click to play interactive demo workflow

Chat builds the workflow

Describe the workflow — nodes appear on the canvas while you watch.

Native Mac actions

Calendar, media, system speak, and more — with consent, not a black box.

Chat & voice as triggers

Speak to Canoryn when you want — the reusable work lives on the canvas.

Product walkthrough

Start with work you can see

Build with chat authors the workflow. The Chat workbench keeps a project open beside the turn. Your models power the steps. macOS actions ask before irreversible work. Voice is optional.

Architect — chat · live canvas
Build with chat
Building the workflow on the canvas…

Trigger

Weekday 9am

AI Inference

Llama 3.2 (Local)

Action

Run OS Command

Architect: compiled nodes blueprint successfully.CPU Thread 0
Architecture

It shows the work — then acts.

Context from your Mac, models you choose, and actions that ask before they do something irreversible — the same accountable loop in agent chat and on the Architect canvas.

Smart Context Awareness

Canoryn understands the active window, senses application boundaries, and captures workflow context in real time—all processed directly on your machine.

🧠

Secure On-Device Memory

Your search history, past commands, and personalized preferences are saved locally on your Mac. Canoryn remembers how you work and adapts to your routines using a secure, local database that never leaves your machine.

Smart RecallAdaptive Learning100% Private

Intelligent Action Planning

Canoryn breaks down complex tasks into a logical sequence of steps. It plans the workflow, executes each step securely, and double-checks the results to guarantee a successful outcome.

Granular Privacy Controls

You are always in complete command. Canoryn never acts autonomously, reads your clipboard, or captures your screen without your explicit consent. Customize all safety boundaries in the Settings Hub.

Real Mac work

Boards you open tomorrow. Workflows that keep running.

Use Build with chat to design the workflow. Run it with Play. Enable it when you want schedules, CLI, or other agents on the same workflow — with honest depth per app, not fake “fully integrated” claims.

"Open the repo beside chat and review the agent's diff"

Attach a session project, let file cards land as preview tabs, stage or discard in Review, then keep talking — without leaving Chat.

"Keep docs, GitHub, and the dashboard open on one board"

Several live Browser Nodes — real pages you scroll and click — arranged how you like. Reopen the saved workflow tomorrow and the session is back.

"Build a workflow that briefs me every weekday at 9am"

Build with chat designs the workflow — schedule trigger, calendar context, speak a short brief — then you Enable it to run on its own.

What Canoryn can actually drive

Three levels of support — so you know what's a real integration versus open / assist.

Deep integrations

Dedicated actions — more than launch.

  • Spotify (playback, queue, devices)
  • Calendar & Reminders
  • System speak, clipboard, notifications

Live web on the canvas

Real WebKit pages in Browser Nodes — scroll, click, profiles, extract.

  • Any site in a Browser Node
  • Safari / Chrome / Arc via open or live page
  • YouTube and web apps as pages, not fake SDKs

Open & automate

Launch apps, open URLs, or drive UI when you grant Accessibility.

  • Xcode, VS Code, Terminal
  • Messages, Slack, Zoom (open / assist)
  • Netflix and similar — open or browse, not full API control

Keys in Keychain

Provider API keys stay in the macOS Keychain. Sensitive actions still go through consent — Enable publishes a workflow; it doesn't silently bypass your gates.

Local-first · consent-gated

We build the platform.
You choose the brains.

Canoryn doesn't lock you into a cloud subscription. Plug in an API key for cloud speed, or point it to a local model for complete privacy. The app is as powerful as the model you connect.

OpenAI
Anthropic
Gemini
Ollama
Groq
Canoryn Logo

Your Keys, Your Control

Use your own API keys from any provider. We never see or store them.

Local Models, Total Privacy

Run Ollama or MLX models entirely on your Mac. Nothing leaves your machine.

Cloud Speed When You Need It

Connect to OpenAI, Anthropic, or Gemini for instant responses.

Blueprint gallery · Coming soon

A blueprint gallery is coming.
A preview of what you'll build.

An upcoming release will ship ready-made workflow blueprints you can import into the visual editor, tweak, and run locally. Here's a taste of what's on the way.

🧠
System

Deep Focus

Sets Do Not Disturb, closes distracting apps, and silences notifications until your focus timer ends.

Coming soon
📅
Productivity

Calendar Event Creator

Extracts dates from clipboard notes and registers them to Apple Calendar.

Coming soon
🔍
Development

Doc Search & Summarizer

Searches local folders, extracts text, and summarizes contents with local Ollama.

Coming soon
Open Format
Every workflow is saved as a readable, standard .cryn JSON file.
Pluggable Nodes
Extend workflows by building or sharing custom AppleScript or JS modules.
Version Controlled
Since workflows are raw text files, they can be committed, diffed, and versioned in Git.

Browse seed blueprints and community submissions on the hub.

Privacy and trust first.

Canoryn is built as a local-first macOS app. Your data stays on your Mac unless you choose a cloud provider. The beta is free while we finish testing and improve reliability.

Direct & Open Distribution

Distributed directly. Launch easily via right-click to bypass macOS Gatekeeper verification.

Local-first processing

Core workflows run on your machine with explicit permissions and clear controls.

Bring your own models

Connect your own model providers when needed instead of locking into one managed stack.

Canoryn by Procode AI Labs

Public beta, no sign-up wall, direct DMG download. You can review ourPrivacy PolicyandTermsbefore installing.

Put your Mac work on a canvas.

Download for macOSView documentation
Apple Silicon
Intel
macOS 14+

Free beta. No sign-up. Download the DMG, open Build with chat and describe the first workflow.