whyspotvoiceagentsmultiplexworkspacejobsreviewrunteamremoteworkflowsmorefoundationdownload

build products
under one
canopy.

Canopy is a workspace for agent-driven engineering. Bring your supported agent CLIs, then keep services, changes, pull requests and your team in one desktop workspace. The tax on building isn't typing. It's switching.

Download for macOS (Apple Silicon) $ git clone canopy-ide
Canopy - The IDE built for driving agents, not typing code | Product Hunt
· free & open source · macOS, Windows & Linux · Intel Mac?
Canopy on open, the full-window launcher above a pick-up-where-you-left-off list
00 / the sweet spot

Keep the terminal workflow. Add everything around it.

Use the agent CLIs and subscriptions you already have. Canopy adds the workspace around them: shared context, isolated worktrees, running services, visual feedback, diffs, tasks and pull requests.

 
your existing setup
what shipping needs
canopy
agent
the CLI and account you choose
a reliable way to direct and review it
supported CLIs in real terminals
context
spread across terminals and tabs
one view of work, runtime and review
shared across the project and its agents
parallel work
sessions you coordinate yourself
isolated work, visible ownership
worktrees, shared context and file claims
control
your repos, accounts and tools
local decisions and human approval
free, MIT licensed and built in the open
01 / spot search

Find anything. Act on it.

Spot search: actions, in-file matches, agent conversations and research results in one palette
⌘Ksearch tabs, files, agents, research and tickets

Search what is open, what is on disk, and what your agents already learned.

Tabs, files, symbols, code, terminal output, agent conversations, scratchpad notes, research, tickets, PRs, branches, servers and completed tasks all meet in one palette.

fzf-grade rankingTypo-tolerant fuzzy matching with word, path and camelCase awareness.
local persistent memoryIndexes supported agent conversations and terminal scrollback on your machine.
search becomes actionOpen the result, run the request, research it, or save it for later.
02 / dictation

Say it. It's typed.

Speak instead of typing. Canopy transcribes on-device into terminals, editors and agent prompts, without uploading your audio.

Apple Silicon · Windows · supported Linux systems
offline after the model is installed
start anywhere with ⌃⌘D · Esc cancels
claude · auth-fix Listening
you said
"refactor the auth module and add tests for the token flow"
prompt sent
Refactor the auth module and add tests for the token flow.
transcribed on-device · audio stays on your machine
03 / orchestrate

An agent mesh. Native to the IDE.

running agents

See every agent at a glance.

See what each agent is doing, where it is working, and which one needs you.

start another with ⌘N
The launcher for starting a new shell or agent
shared context

Agents share context.

Each agent can understand what the others are working on, without you copying context between terminals.

SHARED CONTEXT☑ ON
The work, decisions and files that matter across this project.
Show what's shared (3)
cooperation

Work together without collisions.

Agents pass context to one another, coordinate shared work, and claim files so overlapping edits are visible before they happen.

Files claimed by an agent, what changed, and who holds them
An agent sending a direct message to another agent
messages pass directly from agent to agent
04 / multiplex

More agents. Fewer tabs.

Turn one tab into a working surface for several independent agents.

Keep splitting right or down to build the layout you need, resize any boundary, and move focus by keyboard. Each pane keeps its own terminal, session and project context; the whole layout survives a restart.

⌘Dsplit right
⇧⌘Dsplit down
⌥⌘ + arrowfocus a neighboring pane
shortcuts shown for macOS
OC | Checkout + 3▦ 4nested splits · independent panes
checkout-flow+ ↔
claude
Implementing the checkout state machine.

· reading cart reducer
· updating payment tests
✓ 18 tests passing

I’ll keep the existing retry semantics and add the declined-card branch.
mobile-polish
codex
Checking responsive states…
375px · 768px · 1280px
✓ layout clean
api-contract
claude
Reviewing webhook types.
2 files touched
! needs your decision
release-notes
opencode
Summarizing shipped changes.
✓ draft ready
checkout-flow localhost:4321/checkout ×
ACMECART · 2
Ready when
you are.
Shipping and payment
in one quick step.
Pay securely
ORDER
Subtotal$84
Total$84
LIVE · READ ONLY
browser picture-in-picture
Watch the page an agent is driving without giving up your terminal. Drag, resize or minimize each agent’s live view.
one browser per agent
Multiple agent pages stay distinct and follow the pane that owns them instead of replacing one shared preview.
passive by design
PiP is a read-only view of native browser activity, currently available on macOS. Open the full preview when you want control.
Canopy hibernated: the whole layout is put away and comes back exactly as it was
the whole layout survives a restart, exactly as it was
05 / workspace

Every agent gets a workspace.

files

Files attributed to this agent.

See what the agent reported or Canopy tracked.

lines

Review this agent's changes.

Agent-attributed diffs against the base branch.

usage

Usage when the CLI exposes it.

model · tokens · cost · turns · visible in the header.

collab

Comment at line level.

Ask for changes on the line · never buried by project size.

An agent workspace, edited files as chips, live token spend in the header, and an inline 'Why do we need Debug here?' comment on a diff line
· comment on any line; the agent addresses it in place
06 / jobs

Run jobs, not windows.

running

One job. No tab required.

Detached agent tasks run in the Tasks rail, report progress or ask for you, then close their own terminal.

RUNNING 2
Review PR #481reading diff…
Fix failing CIneeds you
your tasks

Write the job once.

Save a reusable task to this project, add run-time context, or type a one-off that is never added to the list.

YOUR TASKS
Release readiness audit▶ ✎
Check dependency risks▶ ✎
ONE-OFF ⚡ Run once
completed

The outcome outlives the terminal.

Search every brief, summary, status, tag, file, PR link and terminal tail; continue its conversation or run it again.

COMPLETED 89
Review PR #3656m 35s
2 blocking, 2 nits · 2 files
Continue as sessionRun again
A detached agent task in the Tasks rail, its brief, status and terminal tail
· run it again or continue the conversation, long after the terminal is gone
Clipboard recallHold to pasteNumbered tab jumpFamiliar keymapsFocus modePaste screenshotsInline agent answersRunaway guardCLI update hintsOne-line captureNote remindersLive Markdown tasksWiki linksOutcome backlinksTest a snapshotMine onlySplit or unifiedRendered PR bodiesInline issue commentsIssue state changesOne-click restartAd-hoc server detectionNative file actionsGit-colored filesWorkbook sheet tabsRendered Word docsSource view toggleCustom file languagesPortable workspacesClone into projectDictation historyPassword generatorKeePass importPer-site approvalAuto-lock vaultDestructive call warningsQR pairingRotating join codesWaiting-on-you inboxConfirm before acting
built into the everyday

And many more ways to make life easier.

07 / review

One click to merge.

review map

Risk-ranked. Nothing posted.

An agent reads the PR, checks its claims against the diff, writes a review map and stages inline findings as drafts.

⌕ Review mapwritten by an agent
Risk · auth refresh path changes session lifetime
4 findings staged as drafts, 2 blocking, 1 off-diff
nothing posted
conversation

Comments stay beside the diff.

Read verdicts and threads, jump to their line, reply, resolve, or apply a suggestion without leaving the PR.

Conversation2 to address
maya · changes requested
auth.rs:88 · refresh the token before expiry
Jump to line · Reply · Resolve
1 resolved thread hidden
agent rounds

Take it to green, round by round.

A round validates each open comment, fixes the cause, replies and pushes. Checks and conflicts remain visible.

Agent roundsrunning
#1 fixed · 2 comments · refreshed token flow
#2 blocked · 1 comment · needs product decision
PASS12 checksMerge ▾
A PR in review: the conversation, review map and agent rounds in one pane
· draft findings staged in place, nothing posted until you say so
08 / run

Your stack, under the canopy.

UX work

The page and the agent, linked.

Preview the running component, tag source-backed elements or capture page and region screenshots, then route the visual brief.

localhost:4321canopy-website
◎ Annotate (2)▣ Screenshot (1)
SCREENSHOTS
1region · 980×640
Move this action beside the primary CTA.
Send screenshotexisting agent ▾⚡ one-off
servers

Configured once. Always in reach.

Commands live with each component in the RUNS rail. Start, stop, inspect logs, and open discovered ports.

canopyStart all
Local Instancelistening :5173
relaylistening :6680
click a run to watch its terminal and logs
mcp

MCPs you can actually inspect.

Open a server, browse its real tool schemas, fill generated argument forms, call a tool, and read the result.

browserbase-mcpconnected
navigate
url * https://…
Call toolresult appears here
09 / team

Private team sharing, hosted by you.

relayjoin codeJX4-9QN
mayaco-editing src/auth.rs
devwatching · "ship it"
PR #481 shared2 reviews in
Chat & share PRs
Encrypted between connected Canopy instances.
Co-edit files
Share supported text files or a project and edit together.
Your Canopy is the relay
A teammate hosts the connection, not a Canopy cloud service.
10 / remote

Control Canopy from another device.

You choose when to enable access. Monitor agents, reply, start work and stop processes from a phone or desktop browser.

canopy remote
auth-fixneeds you
ui-polishworking
approvereply…
11 / workflows

Keep the work, not just the terminal.

multiple accounts

Switch between agent accounts.

Keep supported work and personal CLI logins separate, and choose which profile new agents use.

new agents launch as
Defaultexisting logins
Workclaude · codex
Personalclaude
scratchpad

Catch it before it disappears.

A bug you just noticed. An idea for later. A cleaner way through. Jot it down against the project, then find it when you're ready to pick it up.

Write it down…Save
IN PROGRESS 1
0006Update the icon setTasks is now a bolt, Scratchpad a pencil…
IDEAS 2
0008Fix closed-item behavior
DONE 5
0006In progress1d ago
Create a reminder to update the rail icon set.

Research now has a page-and-magnifier mark; Scratchpad a pencil. Changes are linked to the main checkout.

WHAT CAME OF IT
↕ PR #358 open
▸ What was on screen when you wrote this
Work on itClaude Code
companion⌘/

Ask for help from anywhere.

Name it, shape it, summon it anywhere in Canopy. Your companion uses the available project and open-view context to explain code, review a PR or start saved services.

Jarvis· Claude Codeesc
jarvis

The local server is running on :4321. I also checked the homepage changes; the build is clean.

Ask Jarvis anything…Send
research

Questions become project knowledge.

Run a research task and keep its question, sources, findings, recommendation and open questions with the project.

Research a question…Research
RESEARCHED 8
0009Where should search live?
The index belongs beside the project, not in a remote service…
0007Browser engine options
Chromium over CDP keeps the native shell light…
0006Own the control plane
A durable path for remote access and identity…
0010RESEARCHED23h ago
Canvas or DOM for Canopy's UI?
FINDING
The experiment already ran. Windowed UI and content visibility keep the DOM-native path faster and simpler.
RECOMMENDATION
Keep the DOM. Spend the effort on first paint, file open and occlusion instead.
Write-up, sources and open questions stay attached.
tasks

The work stays after the terminal closes.

Completed agent jobs remain searchable with their brief, outcome, files and timing. Continue the session or run the job again.

Completed tasks8988 done · 1 blocked
Search summaries, briefs and output…All 89
TODAY
Review PR #365, companion attachmentsThree PR tools and chat attachments verified · 2 findings
6m 35s
Claude CodePR #365Continue as sessionRun again
THE AGENT REPORTED
PR #365 gives the companion three PR tools plus chat attachments; 2 blocking findings remain.
2 files touched · terminal tail retained
Update Tasks and Scratchpad iconsShared rail icon set updated and typecheck passed
9m 9s
!
Frontend CI checkBlocked by the orphan-browser takeover; evidence retained
8m 57s
12 / more

Small details, big difference.

native tab switcher

See the tab before you switch.

Hold Ctrl+Tab and scan live previews of every open terminal, agent, file, PR and page. Stop hunting through tiny tab titles.

OC | Convert skin selector to dropdown1 / 13
AGENT
OC | Skin dropdown
$ working on the current task
· reading project context
· updating files
Build · clean
AGENT
Remote Parity
$ working on the current task
· reading project context
· updating files
Build · clean
AGENT
OC | Product Hunt
$ working on the current task
· reading project context
· updating files
Build · clean
TASK
Review agent mesh
$ working on the current task
· reading project context
· updating files
Build · clean
loose ends
See what would be lost before cleaning branches and worktrees.
tickets to agents
Start GitHub or Linear work in an isolated worktree.
native viewers
Docs, diagrams, PDFs, sheets, notebooks, images and JSON.
true TUIs
Full terminals, no emulation shortcuts.
skins
Recolor the whole app · terminals too.
project sleep
Free everything running, then wake the full workspace later.
keyboard-first
Shortcuts for core navigation and actions.
agent browser
Test real flows while Canopy fills approved logins safely.
13 / foundation

Fast, local and open.

core
Rust · no GC pauses, no runtime tax
shell
Tauri on your OS's webview, not bundled Chromium
footprint
Designed to stay light while your agents and services run
platforms
macOS, Windows and Linux · in-app or package-manager updates
architecture
Local-first · your workspace stays on your machine
credentials
Canopy keeps credentials local; your agent CLI connects to its provider
the full stack, choice by choice →

Get Canopy.

free & open source · MIT
macOS
Apple silicon & Intel · .dmg
download →
Linux
AppImage & .deb · x86_64
download →
Windows
x86_64 · .exe installer
download →

Build it. It's yours.

MIT licensed. Issues, PRs and strong opinions welcome, contribute on GitHub.

requires: rust (stable) · node 20+
Support to keep Canopy independent
sh
$ git clone https://github.com/FluidWorksApp/canopy-ide
$ cd canopy-ide && npm install
$ npm run tauri dev   # or: npm run tauri build