v0.9.5 · macOS builds signed & notarized · all platforms
Canopy
⌂Home
>dynasty-duelx
◆fantasy-football ⚡x
◆canopyx
+ Claude▾+ Thread▾Join+ Shell
ShareRedact likely secrets (recommended)Hide tool activity from guests
clean the stale build output before we cut 0.4.2
dist/ is two releases behind — it still has the 0.3.9 bundle in it. I'll remove it and re-run the build.
▸Readsrc-tauri/tauri.conf.jsondone
⚠Allow Bash?
{
"command": "rm -rf dist",
"description": "Remove the stale build output"
}
Optional reason if you deny (sent to the agent)…
AllowDeny
Agent is working…Interrupt
⌕Search across 47 projects…⌘K
Needs you
>dynasty-duelwaiting for your input
Start something
Workspace AgentAsk about your projects, recent work, and more
Workspace ThreadStructured chat with per-tool approvals
What it does
One window over every project and every agent you run.
Agent CLIs are good at a repository. They have no idea what else you are working on. Canopy is the layer that does.
01
Workspace intelligence
Canopy builds a local index across every project you have added — structure, manifests, symbols. Re-indexing is incremental: unchanged projects are skipped, so a refresh costs about as long as it takes to notice it happened.
⌘K searches all of them at once — files, symbols, project overviews and past sessions in one list. ⌘P opens a file by name from anywhere in the workspace, without having to say which project it lives in first.
local index⌘K across projects⌘P quick-open
02
Threads, with the approval built in
A chat-style session that sits beside your terminals: a structured transcript instead of a scrollback, collapsible tool cards, per-turn cost, interrupt and resume.
When the agent wants to touch something, the permission card appears inline in the thread — allow or deny without leaving it. Canopy brokers that consent itself, and every failure path denies by default rather than waving a tool call through.
Send a link. Whoever opens it watches the run in real time with nothing installed — a read-only viewer, or a collaborator who can type, depending on the role you hand out. Late joiners get the history from the moment you shared, plus up to the last few thousand events from before it.
What goes over the wire is a transformed copy, never your local view: likely secrets are scrubbed by default, and you can hide tool payloads entirely before you share. Leave that off and guests see the files the agent reads and the commands it runs.
zero-install viewerobserver or collaboratorscrubbed on the wire
04
Built to be vendor-neutral
Every provider fact — how a session resumes, how a system prompt is injected, how an approval prompt is spelled — lives behind one adapter, not scattered through the app. Canopy ships adapters for five CLIs and offers Claude Code today; the others stay behind the picker until their invocation details are verified against the real thing rather than against documentation.
That is the whole point of the seam: no vendor’s own tool will ever orchestrate a competitor’s agent, and adding the next one here is a flag, not a rewrite. Bring your own CLI today by dropping a JSON descriptor in a folder — it shows up in the picker without waiting for a Canopy release.
Claude Codebring your ownmore behind one adapter
Local-first
Your repository is never uploaded, and its index never leaves this machine. Canopy talks to the agent CLIs already installed on your laptop, and the index is a SQLite file sitting next to your other application data. There is no upload step and no repository sync. It is free, and downloading, installing and using it needs no account at all. Two things do reach our server, and only because you asked. Signing in creates an account — an email address and a display name. Sharing a thread publishes that thread’s transcript, which includes the contents of files the agent read unless you hide tool activity first. Both stay until you ask us to remove them. Exactly what leaves your machine →